@lansweeper/permissions-grpc 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/buf.yaml +1 -0
- package/gen-proto/image.json +1 -1
- package/gen-proto/permissions_pb.d.ts +35 -35
- package/gen-proto/permissions_pb.js +64 -64
- package/package.json +3 -3
- package/proto/permissions.proto +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.0.7](https://github.com/Lansweeper/lansweeperapis/compare/@lansweeper/permissions-grpc@0.0.6...@lansweeper/permissions-grpc@0.0.7) (2021-11-23)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @lansweeper/permissions-grpc
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.0.6](https://github.com/Lansweeper/lansweeperapis/compare/@lansweeper/permissions-grpc@0.0.5...@lansweeper/permissions-grpc@0.0.6) (2021-11-23)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @lansweeper/permissions-grpc
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [0.0.5](https://github.com/Lansweeper/lansweeperapis/compare/@lansweeper/permissions-grpc@0.0.4...@lansweeper/permissions-grpc@0.0.5) (2021-09-16)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @lansweeper/permissions-grpc
|
package/buf.yaml
CHANGED
package/gen-proto/image.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":[{"name":"proto/permissions.proto","package":"checkpermission","messageType":[{"name":"CheckPermissionRequest","field":[{"name":"site_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"account_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"accountId"},{"name":"action","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"action"},{"name":"trace_id","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"traceId"}]},{"name":"CheckPermissionResponse","field":[{"name":"granted","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"granted"},{"name":"installations","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"asset_scopes","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"},{"name":"derived_permissions","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"derivedPermissions"}]},{"name":"GetUserPermissionsRequest","field":[{"name":"user_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"userId"},{"name":"site_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"trace_id","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"traceId","proto3Optional":true}],"oneofDecl":[{"name":"_trace_id"}]},{"name":"GetUserPermissionsResponse","field":[{"name":"permissions","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.PermissionsEntry","jsonName":"permissions"}],"nestedType":[{"name":"Permissions","field":[{"name":"installations","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"asset_scopes","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"}]},{"name":"PermissionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.Permissions","jsonName":"value"}],"options":{"mapEntry":true}}]}],"service":[{"name":"CheckPermissionService","method":[{"name":"CheckPermission","inputType":".checkpermission.CheckPermissionRequest","outputType":".checkpermission.CheckPermissionResponse","options":{}},{"name":"GetUserPermissions","inputType":".checkpermission.GetUserPermissionsRequest","outputType":".checkpermission.GetUserPermissionsResponse","options":{}}]}],"sourceCodeInfo":{"location":[{"span":[0,0,36,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,24]},{"path":[4,0],"span":[4,0,9,1]},{"path":[4,0,1],"span":[4,8,30]},{"path":[4,0,2,0],"span":[5,2,21]},{"path":[4,0,2,0,5],"span":[5,2,8]},{"path":[4,0,2,0,1],"span":[5,9,16]},{"path":[4,0,2,0,3],"span":[5,19,20]},{"path":[4,0,2,1],"span":[6,2,24]},{"path":[4,0,2,1,5],"span":[6,2,8]},{"path":[4,0,2,1,1],"span":[6,9,19]},{"path":[4,0,2,1,3],"span":[6,22,23]},{"path":[4,0,2,2],"span":[7,2,20]},{"path":[4,0,2,2,5],"span":[7,2,8]},{"path":[4,0,2,2,1],"span":[7,9,15]},{"path":[4,0,2,2,3],"span":[7,18,19]},{"path":[4,0,2,3],"span":[8,2,22]},{"path":[4,0,2,3,5],"span":[8,2,8]},{"path":[4,0,2,3,1],"span":[8,9,17]},{"path":[4,0,2,3,3],"span":[8,20,21]},{"path":[4,1],"span":[11,0,16,1]},{"path":[4,1,1],"span":[11,8,31]},{"path":[4,1,2,0],"span":[12,2,19]},{"path":[4,1,2,0,5],"span":[12,2,6]},{"path":[4,1,2,0,1],"span":[12,7,14]},{"path":[4,1,2,0,3],"span":[12,17,18]},{"path":[4,1,2,1],"span":[13,2,36]},{"path":[4,1,2,1,4],"span":[13,2,10]},{"path":[4,1,2,1,5],"span":[13,11,17]},{"path":[4,1,2,1,1],"span":[13,18,31]},{"path":[4,1,2,1,3],"span":[13,34,35]},{"path":[4,1,2,2],"span":[14,2,35]},{"path":[4,1,2,2,4],"span":[14,2,10]},{"path":[4,1,2,2,5],"span":[14,11,17]},{"path":[4,1,2,2,1],"span":[14,18,30]},{"path":[4,1,2,2,3],"span":[14,33,34]},{"path":[4,1,2,3],"span":[15,2,42]},{"path":[4,1,2,3,4],"span":[15,2,10]},{"path":[4,1,2,3,5],"span":[15,11,17]},{"path":[4,1,2,3,1],"span":[15,18,37]},{"path":[4,1,2,3,3],"span":[15,40,41]},{"path":[4,2],"span":[18,0,22,1]},{"path":[4,2,1],"span":[18,8,33]},{"path":[4,2,2,0],"span":[19,2,21]},{"path":[4,2,2,0,5],"span":[19,2,8]},{"path":[4,2,2,0,1],"span":[19,9,16]},{"path":[4,2,2,0,3],"span":[19,19,20]},{"path":[4,2,2,1],"span":[20,2,21]},{"path":[4,2,2,1,5],"span":[20,2,8]},{"path":[4,2,2,1,1],"span":[20,9,16]},{"path":[4,2,2,1,3],"span":[20,19,20]},{"path":[4,2,2,2],"span":[21,2,31]},{"path":[4,2,2,2,4],"span":[21,2,10]},{"path":[4,2,2,2,5],"span":[21,11,17]},{"path":[4,2,2,2,1],"span":[21,18,26]},{"path":[4,2,2,2,3],"span":[21,29,30]},{"path":[4,3],"span":[24,0,30,1]},{"path":[4,3,1],"span":[24,8,34]},{"path":[4,3,3,0],"span":[25,2,28,3]},{"path":[4,3,3,0,1],"span":[25,10,21]},{"path":[4,3,3,0,2,0],"span":[26,4,38]},{"path":[4,3,3,0,2,0,4],"span":[26,4,12]},{"path":[4,3,3,0,2,0,5],"span":[26,13,19]},{"path":[4,3,3,0,2,0,1],"span":[26,20,33]},{"path":[4,3,3,0,2,0,3],"span":[26,36,37]},{"path":[4,3,3,0,2,1],"span":[27,4,37]},{"path":[4,3,3,0,2,1,4],"span":[27,4,12]},{"path":[4,3,3,0,2,1,5],"span":[27,13,19]},{"path":[4,3,3,0,2,1,1],"span":[27,20,32]},{"path":[4,3,3,0,2,1,3],"span":[27,35,36]},{"path":[4,3,2,0],"span":[29,2,43]},{"path":[4,3,2,0,6],"span":[29,2,26]},{"path":[4,3,2,0,1],"span":[29,27,38]},{"path":[4,3,2,0,3],"span":[29,41,42]},{"path":[6,0],"span":[33,0,36,1]},{"path":[6,0,1],"span":[33,8,30]},{"path":[6,0,2,0],"span":[34,2,83]},{"path":[6,0,2,0,1],"span":[34,6,21]},{"path":[6,0,2,0,2],"span":[34,23,45]},{"path":[6,0,2,0,3],"span":[34,56,79]},{"path":[6,0,2,1],"span":[35,2,92]},{"path":[6,0,2,1,1],"span":[35,6,24]},{"path":[6,0,2,1,2],"span":[35,26,51]},{"path":[6,0,2,1,3],"span":[35,62,88]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]}
|
|
1
|
+
{"file":[{"name":"google/protobuf/any.proto","package":"google.protobuf","messageType":[{"name":"Any","field":[{"name":"type_url","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeUrl"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"AnyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/anypb","objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,157,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,67]},{"path":[8,11],"span":[35,0,67]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,41]},{"path":[8,8],"span":[37,0,41]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[4,0],"span":[124,0,157,1],"leadingComments":" `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\n Example 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\n The pack methods provided by protobuf library will by default use\n 'type.googleapis.com/full.type.name' as the type URL and the unpack\n methods only use the fully qualified type name after the last '/'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": <string>,\n \"lastName\": <string>\n }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }\n\n"},{"path":[4,0,1],"span":[124,8,11]},{"path":[4,0,2,0],"span":[153,2,22],"leadingComments":" A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL's path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n"},{"path":[4,0,2,0,5],"span":[153,2,8]},{"path":[4,0,2,0,1],"span":[153,9,17]},{"path":[4,0,2,0,3],"span":[153,20,21]},{"path":[4,0,2,1],"span":[156,2,18],"leadingComments":" Must be a valid serialized protocol buffer of the above specified type.\n"},{"path":[4,0,2,1,5],"span":[156,2,7]},{"path":[4,0,2,1,1],"span":[156,8,13]},{"path":[4,0,2,1,3],"span":[156,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/duration.proto","package":"google.protobuf","messageType":[{"name":"Duration","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DurationProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/durationpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,115,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,31]},{"path":[8,31],"span":[35,0,31]},{"path":[8],"span":[36,0,72]},{"path":[8,11],"span":[36,0,72]},{"path":[8],"span":[37,0,44]},{"path":[8,1],"span":[37,0,44]},{"path":[8],"span":[38,0,46]},{"path":[8,8],"span":[38,0,46]},{"path":[8],"span":[39,0,34]},{"path":[8,10],"span":[39,0,34]},{"path":[8],"span":[40,0,33]},{"path":[8,36],"span":[40,0,33]},{"path":[4,0],"span":[102,0,115,1],"leadingComments":" A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n Timestamp start = ...;\n Timestamp end = ...;\n Duration duration = ...;\n\n duration.seconds = end.seconds - start.seconds;\n duration.nanos = end.nanos - start.nanos;\n\n if (duration.seconds < 0 && duration.nanos > 0) {\n duration.seconds += 1;\n duration.nanos -= 1000000000;\n } else if (duration.seconds > 0 && duration.nanos < 0) {\n duration.seconds -= 1;\n duration.nanos += 1000000000;\n }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n Timestamp start = ...;\n Duration duration = ...;\n Timestamp end = ...;\n\n end.seconds = start.seconds + duration.seconds;\n end.nanos = start.nanos + duration.nanos;\n\n if (end.nanos < 0) {\n end.seconds -= 1;\n end.nanos += 1000000000;\n } else if (end.nanos >= 1000000000) {\n end.seconds += 1;\n end.nanos -= 1000000000;\n }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n td = datetime.timedelta(days=3, minutes=10)\n duration = Duration()\n duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n\n\n"},{"path":[4,0,1],"span":[102,8,16]},{"path":[4,0,2,0],"span":[106,2,20],"leadingComments":" Signed seconds of the span of time. Must be from -315,576,000,000\n to +315,576,000,000 inclusive. Note: these bounds are computed from:\n 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n"},{"path":[4,0,2,0,5],"span":[106,2,7]},{"path":[4,0,2,0,1],"span":[106,8,15]},{"path":[4,0,2,0,3],"span":[106,18,19]},{"path":[4,0,2,1],"span":[114,2,18],"leadingComments":" Signed fractions of a second at nanosecond resolution of the span\n of time. Durations less than one second are represented with a 0\n `seconds` field and a positive or negative `nanos` field. For durations\n of one second or more, a non-zero value for the `nanos` field must be\n of the same sign as the `seconds` field. Must be from -999,999,999\n to +999,999,999 inclusive.\n"},{"path":[4,0,2,1,5],"span":[114,2,7]},{"path":[4,0,2,1,1],"span":[114,8,13]},{"path":[4,0,2,1,3],"span":[114,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/timestamp.proto","package":"google.protobuf","messageType":[{"name":"Timestamp","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"TimestampProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/timestamppb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,146,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,31]},{"path":[8,31],"span":[35,0,31]},{"path":[8],"span":[36,0,73]},{"path":[8,11],"span":[36,0,73]},{"path":[8],"span":[37,0,44]},{"path":[8,1],"span":[37,0,44]},{"path":[8],"span":[38,0,47]},{"path":[8,8],"span":[38,0,47]},{"path":[8],"span":[39,0,34]},{"path":[8,10],"span":[39,0,34]},{"path":[8],"span":[40,0,33]},{"path":[8,36],"span":[40,0,33]},{"path":[4,0],"span":[135,0,146,1],"leadingComments":" A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D\n ) to obtain a formatter capable of generating timestamps in this format.\n\n\n"},{"path":[4,0,1],"span":[135,8,17]},{"path":[4,0,2,0],"span":[139,2,20],"leadingComments":" Represents seconds of UTC time since Unix epoch\n 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59Z inclusive.\n"},{"path":[4,0,2,0,5],"span":[139,2,7]},{"path":[4,0,2,0,1],"span":[139,8,15]},{"path":[4,0,2,0,3],"span":[139,18,19]},{"path":[4,0,2,1],"span":[145,2,18],"leadingComments":" Non-negative fractions of a second at nanosecond resolution. Negative\n second values with fractions must still have non-negative nanos values\n that count forward in time. Must be from 0 to 999,999,999\n inclusive.\n"},{"path":[4,0,2,1,5],"span":[145,2,7]},{"path":[4,0,2,1,1],"span":[145,8,13]},{"path":[4,0,2,1,3],"span":[145,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/wrappers.proto","package":"google.protobuf","messageType":[{"name":"DoubleValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"FloatValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}]},{"name":"Int64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}]},{"name":"UInt64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}]},{"name":"Int32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}]},{"name":"UInt32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}]},{"name":"BoolValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}]},{"name":"StringValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"BytesValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"WrappersProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/wrapperspb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[40,0,122,1]},{"path":[12],"span":[40,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"," Wrappers for primitive (non-message) types. These types are useful\n for embedding primitives in the `google.protobuf.Any` type and for places\n where we need to distinguish between the absence of a primitive\n typed field and its default value.\n\n These wrappers have no meaningful use within repeated fields as they lack\n the ability to detect presence on individual elements.\n These wrappers have no meaningful use within a map or a oneof since\n individual entries of a map or fields of a oneof can already detect presence.\n"]},{"path":[2],"span":[42,0,24]},{"path":[8],"span":[44,0,59]},{"path":[8,37],"span":[44,0,59]},{"path":[8],"span":[45,0,31]},{"path":[8,31],"span":[45,0,31]},{"path":[8],"span":[46,0,72]},{"path":[8,11],"span":[46,0,72]},{"path":[8],"span":[47,0,44]},{"path":[8,1],"span":[47,0,44]},{"path":[8],"span":[48,0,46]},{"path":[8,8],"span":[48,0,46]},{"path":[8],"span":[49,0,34]},{"path":[8,10],"span":[49,0,34]},{"path":[8],"span":[50,0,33]},{"path":[8,36],"span":[50,0,33]},{"path":[4,0],"span":[55,0,58,1],"leadingComments":" Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n"},{"path":[4,0,1],"span":[55,8,19]},{"path":[4,0,2,0],"span":[57,2,19],"leadingComments":" The double value.\n"},{"path":[4,0,2,0,5],"span":[57,2,8]},{"path":[4,0,2,0,1],"span":[57,9,14]},{"path":[4,0,2,0,3],"span":[57,17,18]},{"path":[4,1],"span":[63,0,66,1],"leadingComments":" Wrapper message for `float`.\n\n The JSON representation for `FloatValue` is JSON number.\n"},{"path":[4,1,1],"span":[63,8,18]},{"path":[4,1,2,0],"span":[65,2,18],"leadingComments":" The float value.\n"},{"path":[4,1,2,0,5],"span":[65,2,7]},{"path":[4,1,2,0,1],"span":[65,8,13]},{"path":[4,1,2,0,3],"span":[65,16,17]},{"path":[4,2],"span":[71,0,74,1],"leadingComments":" Wrapper message for `int64`.\n\n The JSON representation for `Int64Value` is JSON string.\n"},{"path":[4,2,1],"span":[71,8,18]},{"path":[4,2,2,0],"span":[73,2,18],"leadingComments":" The int64 value.\n"},{"path":[4,2,2,0,5],"span":[73,2,7]},{"path":[4,2,2,0,1],"span":[73,8,13]},{"path":[4,2,2,0,3],"span":[73,16,17]},{"path":[4,3],"span":[79,0,82,1],"leadingComments":" Wrapper message for `uint64`.\n\n The JSON representation for `UInt64Value` is JSON string.\n"},{"path":[4,3,1],"span":[79,8,19]},{"path":[4,3,2,0],"span":[81,2,19],"leadingComments":" The uint64 value.\n"},{"path":[4,3,2,0,5],"span":[81,2,8]},{"path":[4,3,2,0,1],"span":[81,9,14]},{"path":[4,3,2,0,3],"span":[81,17,18]},{"path":[4,4],"span":[87,0,90,1],"leadingComments":" Wrapper message for `int32`.\n\n The JSON representation for `Int32Value` is JSON number.\n"},{"path":[4,4,1],"span":[87,8,18]},{"path":[4,4,2,0],"span":[89,2,18],"leadingComments":" The int32 value.\n"},{"path":[4,4,2,0,5],"span":[89,2,7]},{"path":[4,4,2,0,1],"span":[89,8,13]},{"path":[4,4,2,0,3],"span":[89,16,17]},{"path":[4,5],"span":[95,0,98,1],"leadingComments":" Wrapper message for `uint32`.\n\n The JSON representation for `UInt32Value` is JSON number.\n"},{"path":[4,5,1],"span":[95,8,19]},{"path":[4,5,2,0],"span":[97,2,19],"leadingComments":" The uint32 value.\n"},{"path":[4,5,2,0,5],"span":[97,2,8]},{"path":[4,5,2,0,1],"span":[97,9,14]},{"path":[4,5,2,0,3],"span":[97,17,18]},{"path":[4,6],"span":[103,0,106,1],"leadingComments":" Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n"},{"path":[4,6,1],"span":[103,8,17]},{"path":[4,6,2,0],"span":[105,2,17],"leadingComments":" The bool value.\n"},{"path":[4,6,2,0,5],"span":[105,2,6]},{"path":[4,6,2,0,1],"span":[105,7,12]},{"path":[4,6,2,0,3],"span":[105,15,16]},{"path":[4,7],"span":[111,0,114,1],"leadingComments":" Wrapper message for `string`.\n\n The JSON representation for `StringValue` is JSON string.\n"},{"path":[4,7,1],"span":[111,8,19]},{"path":[4,7,2,0],"span":[113,2,19],"leadingComments":" The string value.\n"},{"path":[4,7,2,0,5],"span":[113,2,8]},{"path":[4,7,2,0,1],"span":[113,9,14]},{"path":[4,7,2,0,3],"span":[113,17,18]},{"path":[4,8],"span":[119,0,122,1],"leadingComments":" Wrapper message for `bytes`.\n\n The JSON representation for `BytesValue` is JSON string.\n"},{"path":[4,8,1],"span":[119,8,18]},{"path":[4,8,2,0],"span":[121,2,18],"leadingComments":" The bytes value.\n"},{"path":[4,8,2,0,5],"span":[121,2,7]},{"path":[4,8,2,0,1],"span":[121,8,13]},{"path":[4,8,2,0,3],"span":[121,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"node_modules/@grpc/grpc-js/proto/channelz.proto","package":"grpc.channelz.v1","dependency":["google/protobuf/any.proto","google/protobuf/duration.proto","google/protobuf/timestamp.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"Channel","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelData","jsonName":"data"},{"name":"channel_ref","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"channelRef"},{"name":"subchannel_ref","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"subchannelRef"},{"name":"socket_ref","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"}]},{"name":"Subchannel","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelData","jsonName":"data"},{"name":"channel_ref","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"channelRef"},{"name":"subchannel_ref","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"subchannelRef"},{"name":"socket_ref","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"}]},{"name":"ChannelConnectivityState","field":[{"name":"state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".grpc.channelz.v1.ChannelConnectivityState.State","jsonName":"state"}],"enumType":[{"name":"State","value":[{"name":"UNKNOWN","number":0},{"name":"IDLE","number":1},{"name":"CONNECTING","number":2},{"name":"READY","number":3},{"name":"TRANSIENT_FAILURE","number":4},{"name":"SHUTDOWN","number":5}]}]},{"name":"ChannelData","field":[{"name":"state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelConnectivityState","jsonName":"state"},{"name":"target","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"target"},{"name":"trace","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTrace","jsonName":"trace"},{"name":"calls_started","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsStarted"},{"name":"calls_succeeded","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsSucceeded"},{"name":"calls_failed","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsFailed"},{"name":"last_call_started_timestamp","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastCallStartedTimestamp"}]},{"name":"ChannelTraceEvent","field":[{"name":"description","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"severity","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".grpc.channelz.v1.ChannelTraceEvent.Severity","jsonName":"severity"},{"name":"timestamp","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"timestamp"},{"name":"channel_ref","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","oneofIndex":0,"jsonName":"channelRef"},{"name":"subchannel_ref","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","oneofIndex":0,"jsonName":"subchannelRef"}],"enumType":[{"name":"Severity","value":[{"name":"CT_UNKNOWN","number":0},{"name":"CT_INFO","number":1},{"name":"CT_WARNING","number":2},{"name":"CT_ERROR","number":3}]}],"oneofDecl":[{"name":"child_ref"}]},{"name":"ChannelTrace","field":[{"name":"num_events_logged","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"numEventsLogged"},{"name":"creation_timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"creationTimestamp"},{"name":"events","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTraceEvent","jsonName":"events"}]},{"name":"ChannelRef","field":[{"name":"channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"channelId"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":3,"end":4},{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"SubchannelRef","field":[{"name":"subchannel_id","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"subchannelId"},{"name":"name","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":3,"end":4},{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7}]},{"name":"SocketRef","field":[{"name":"socket_id","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"socketId"},{"name":"name","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":5,"end":6},{"start":6,"end":7},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"ServerRef","field":[{"name":"server_id","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"},{"name":"name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":3,"end":4},{"start":4,"end":5},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"Server","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ServerRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ServerData","jsonName":"data"},{"name":"listen_socket","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"listenSocket"}]},{"name":"ServerData","field":[{"name":"trace","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTrace","jsonName":"trace"},{"name":"calls_started","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsStarted"},{"name":"calls_succeeded","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsSucceeded"},{"name":"calls_failed","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsFailed"},{"name":"last_call_started_timestamp","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastCallStartedTimestamp"}]},{"name":"Socket","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketData","jsonName":"data"},{"name":"local","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address","jsonName":"local"},{"name":"remote","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address","jsonName":"remote"},{"name":"security","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security","jsonName":"security"},{"name":"remote_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"remoteName"}]},{"name":"SocketData","field":[{"name":"streams_started","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsStarted"},{"name":"streams_succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsSucceeded"},{"name":"streams_failed","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsFailed"},{"name":"messages_sent","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"messagesSent"},{"name":"messages_received","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"messagesReceived"},{"name":"keep_alives_sent","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"keepAlivesSent"},{"name":"last_local_stream_created_timestamp","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastLocalStreamCreatedTimestamp"},{"name":"last_remote_stream_created_timestamp","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastRemoteStreamCreatedTimestamp"},{"name":"last_message_sent_timestamp","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastMessageSentTimestamp"},{"name":"last_message_received_timestamp","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastMessageReceivedTimestamp"},{"name":"local_flow_control_window","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"localFlowControlWindow"},{"name":"remote_flow_control_window","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"remoteFlowControlWindow"},{"name":"option","number":13,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketOption","jsonName":"option"}]},{"name":"Address","field":[{"name":"tcpip_address","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.TcpIpAddress","oneofIndex":0,"jsonName":"tcpipAddress"},{"name":"uds_address","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.UdsAddress","oneofIndex":0,"jsonName":"udsAddress"},{"name":"other_address","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.OtherAddress","oneofIndex":0,"jsonName":"otherAddress"}],"nestedType":[{"name":"TcpIpAddress","field":[{"name":"ip_address","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"ipAddress"},{"name":"port","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"port"}]},{"name":"UdsAddress","field":[{"name":"filename","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"filename"}]},{"name":"OtherAddress","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}]}],"oneofDecl":[{"name":"address"}]},{"name":"Security","field":[{"name":"tls","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security.Tls","oneofIndex":0,"jsonName":"tls"},{"name":"other","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security.OtherSecurity","oneofIndex":0,"jsonName":"other"}],"nestedType":[{"name":"Tls","field":[{"name":"standard_name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"standardName"},{"name":"other_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"otherName"},{"name":"local_certificate","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"localCertificate"},{"name":"remote_certificate","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"remoteCertificate"}],"oneofDecl":[{"name":"cipher_suite"}]},{"name":"OtherSecurity","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}]}],"oneofDecl":[{"name":"model"}]},{"name":"SocketOption","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"},{"name":"additional","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"additional"}]},{"name":"SocketOptionTimeout","field":[{"name":"duration","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"duration"}]},{"name":"SocketOptionLinger","field":[{"name":"active","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"active"},{"name":"duration","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"duration"}]},{"name":"SocketOptionTcpInfo","field":[{"name":"tcpi_state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiState"},{"name":"tcpi_ca_state","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiCaState"},{"name":"tcpi_retransmits","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRetransmits"},{"name":"tcpi_probes","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiProbes"},{"name":"tcpi_backoff","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiBackoff"},{"name":"tcpi_options","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiOptions"},{"name":"tcpi_snd_wscale","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndWscale"},{"name":"tcpi_rcv_wscale","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvWscale"},{"name":"tcpi_rto","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRto"},{"name":"tcpi_ato","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiAto"},{"name":"tcpi_snd_mss","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndMss"},{"name":"tcpi_rcv_mss","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvMss"},{"name":"tcpi_unacked","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiUnacked"},{"name":"tcpi_sacked","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSacked"},{"name":"tcpi_lost","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLost"},{"name":"tcpi_retrans","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRetrans"},{"name":"tcpi_fackets","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiFackets"},{"name":"tcpi_last_data_sent","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastDataSent"},{"name":"tcpi_last_ack_sent","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastAckSent"},{"name":"tcpi_last_data_recv","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastDataRecv"},{"name":"tcpi_last_ack_recv","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastAckRecv"},{"name":"tcpi_pmtu","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiPmtu"},{"name":"tcpi_rcv_ssthresh","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvSsthresh"},{"name":"tcpi_rtt","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRtt"},{"name":"tcpi_rttvar","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRttvar"},{"name":"tcpi_snd_ssthresh","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndSsthresh"},{"name":"tcpi_snd_cwnd","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndCwnd"},{"name":"tcpi_advmss","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiAdvmss"},{"name":"tcpi_reordering","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiReordering"}]},{"name":"GetTopChannelsRequest","field":[{"name":"start_channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startChannelId"},{"name":"max_results","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetTopChannelsResponse","field":[{"name":"channel","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Channel","jsonName":"channel"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetServersRequest","field":[{"name":"start_server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startServerId"},{"name":"max_results","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetServersResponse","field":[{"name":"server","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Server","jsonName":"server"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetServerRequest","field":[{"name":"server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"}]},{"name":"GetServerResponse","field":[{"name":"server","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Server","jsonName":"server"}]},{"name":"GetServerSocketsRequest","field":[{"name":"server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"},{"name":"start_socket_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startSocketId"},{"name":"max_results","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetServerSocketsResponse","field":[{"name":"socket_ref","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetChannelRequest","field":[{"name":"channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"channelId"}]},{"name":"GetChannelResponse","field":[{"name":"channel","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Channel","jsonName":"channel"}]},{"name":"GetSubchannelRequest","field":[{"name":"subchannel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"subchannelId"}]},{"name":"GetSubchannelResponse","field":[{"name":"subchannel","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Subchannel","jsonName":"subchannel"}]},{"name":"GetSocketRequest","field":[{"name":"socket_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"socketId"},{"name":"summary","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"summary"}]},{"name":"GetSocketResponse","field":[{"name":"socket","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Socket","jsonName":"socket"}]}],"service":[{"name":"Channelz","method":[{"name":"GetTopChannels","inputType":".grpc.channelz.v1.GetTopChannelsRequest","outputType":".grpc.channelz.v1.GetTopChannelsResponse"},{"name":"GetServers","inputType":".grpc.channelz.v1.GetServersRequest","outputType":".grpc.channelz.v1.GetServersResponse"},{"name":"GetServer","inputType":".grpc.channelz.v1.GetServerRequest","outputType":".grpc.channelz.v1.GetServerResponse"},{"name":"GetServerSockets","inputType":".grpc.channelz.v1.GetServerSocketsRequest","outputType":".grpc.channelz.v1.GetServerSocketsResponse"},{"name":"GetChannel","inputType":".grpc.channelz.v1.GetChannelRequest","outputType":".grpc.channelz.v1.GetChannelResponse"},{"name":"GetSubchannel","inputType":".grpc.channelz.v1.GetSubchannelRequest","outputType":".grpc.channelz.v1.GetSubchannelResponse"},{"name":"GetSocket","inputType":".grpc.channelz.v1.GetSocketRequest","outputType":".grpc.channelz.v1.GetSocketResponse"}]}],"options":{"javaPackage":"io.grpc.channelz.v1","javaOuterClassname":"ChannelzProto","javaMultipleFiles":true,"goPackage":"google.golang.org/grpc/channelz/grpc_channelz_v1"},"sourceCodeInfo":{"location":[{"span":[21,0,563,1]},{"path":[12],"span":[21,0,18],"leadingDetachedComments":[" Copyright 2018 The gRPC Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"," This file defines an interface for exporting monitoring information\n out of gRPC servers. See the full design at\n https://github.com/grpc/proposal/blob/master/A14-channelz.md\n\n The canonical version of this proto can be found at\n https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto\n"]},{"path":[2],"span":[23,0,25]},{"path":[3,0],"span":[25,0,35]},{"path":[3,1],"span":[26,0,40]},{"path":[3,2],"span":[27,0,41]},{"path":[3,3],"span":[28,0,40]},{"path":[8],"span":[30,0,71]},{"path":[8,11],"span":[30,0,71]},{"path":[8],"span":[31,0,34]},{"path":[8,10],"span":[31,0,34]},{"path":[8],"span":[32,0,44]},{"path":[8,1],"span":[32,0,44]},{"path":[8],"span":[33,0,46]},{"path":[8,8],"span":[33,0,46]},{"path":[4,0],"span":[36,0,56,1],"leadingComments":" Channel is a logical grouping of channels, subchannels, and sockets.\n"},{"path":[4,0,1],"span":[36,8,15]},{"path":[4,0,2,0],"span":[38,2,21],"leadingComments":" The identifier for this channel. This should bet set.\n"},{"path":[4,0,2,0,6],"span":[38,2,12]},{"path":[4,0,2,0,1],"span":[38,13,16]},{"path":[4,0,2,0,3],"span":[38,19,20]},{"path":[4,0,2,1],"span":[40,2,23],"leadingComments":" Data specific to this channel.\n","trailingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n"},{"path":[4,0,2,1,6],"span":[40,2,13]},{"path":[4,0,2,1,1],"span":[40,14,18]},{"path":[4,0,2,1,3],"span":[40,21,22]},{"path":[4,0,2,2],"span":[46,2,38],"leadingComments":" There are no ordering guarantees on the order of channel refs.\n There may not be cycles in the ref graph.\n A channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,0,2,2,4],"span":[46,2,10]},{"path":[4,0,2,2,6],"span":[46,11,21]},{"path":[4,0,2,2,1],"span":[46,22,33]},{"path":[4,0,2,2,3],"span":[46,36,37]},{"path":[4,0,2,3],"span":[52,2,44],"leadingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n There are no ordering guarantees on the order of subchannel refs.\n There may not be cycles in the ref graph.\n A sub channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,0,2,3,4],"span":[52,2,10]},{"path":[4,0,2,3,6],"span":[52,11,24]},{"path":[4,0,2,3,1],"span":[52,25,39]},{"path":[4,0,2,3,3],"span":[52,42,43]},{"path":[4,0,2,4],"span":[55,2,36],"leadingComments":" There are no ordering guarantees on the order of sockets.\n"},{"path":[4,0,2,4,4],"span":[55,2,10]},{"path":[4,0,2,4,6],"span":[55,11,20]},{"path":[4,0,2,4,1],"span":[55,21,31]},{"path":[4,0,2,4,3],"span":[55,34,35]},{"path":[4,1],"span":[60,0,80,1],"leadingComments":" Subchannel is a logical grouping of channels, subchannels, and sockets.\n A subchannel is load balanced over by it's ancestor\n"},{"path":[4,1,1],"span":[60,8,18]},{"path":[4,1,2,0],"span":[62,2,24],"leadingComments":" The identifier for this channel.\n"},{"path":[4,1,2,0,6],"span":[62,2,15]},{"path":[4,1,2,0,1],"span":[62,16,19]},{"path":[4,1,2,0,3],"span":[62,22,23]},{"path":[4,1,2,1],"span":[64,2,23],"leadingComments":" Data specific to this channel.\n","trailingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n"},{"path":[4,1,2,1,6],"span":[64,2,13]},{"path":[4,1,2,1,1],"span":[64,14,18]},{"path":[4,1,2,1,3],"span":[64,21,22]},{"path":[4,1,2,2],"span":[70,2,38],"leadingComments":" There are no ordering guarantees on the order of channel refs.\n There may not be cycles in the ref graph.\n A channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,1,2,2,4],"span":[70,2,10]},{"path":[4,1,2,2,6],"span":[70,11,21]},{"path":[4,1,2,2,1],"span":[70,22,33]},{"path":[4,1,2,2,3],"span":[70,36,37]},{"path":[4,1,2,3],"span":[76,2,44],"leadingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n There are no ordering guarantees on the order of subchannel refs.\n There may not be cycles in the ref graph.\n A sub channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,1,2,3,4],"span":[76,2,10]},{"path":[4,1,2,3,6],"span":[76,11,24]},{"path":[4,1,2,3,1],"span":[76,25,39]},{"path":[4,1,2,3,3],"span":[76,42,43]},{"path":[4,1,2,4],"span":[79,2,36],"leadingComments":" There are no ordering guarantees on the order of sockets.\n"},{"path":[4,1,2,4,4],"span":[79,2,10]},{"path":[4,1,2,4,6],"span":[79,11,20]},{"path":[4,1,2,4,1],"span":[79,21,31]},{"path":[4,1,2,4,3],"span":[79,34,35]},{"path":[4,2],"span":[84,0,94,1],"leadingComments":" These come from the specified states in this document:\n https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md\n"},{"path":[4,2,1],"span":[84,8,32]},{"path":[4,2,4,0],"span":[85,2,92,3]},{"path":[4,2,4,0,1],"span":[85,7,12]},{"path":[4,2,4,0,2,0],"span":[86,4,16]},{"path":[4,2,4,0,2,0,1],"span":[86,4,11]},{"path":[4,2,4,0,2,0,2],"span":[86,14,15]},{"path":[4,2,4,0,2,1],"span":[87,4,13]},{"path":[4,2,4,0,2,1,1],"span":[87,4,8]},{"path":[4,2,4,0,2,1,2],"span":[87,11,12]},{"path":[4,2,4,0,2,2],"span":[88,4,19]},{"path":[4,2,4,0,2,2,1],"span":[88,4,14]},{"path":[4,2,4,0,2,2,2],"span":[88,17,18]},{"path":[4,2,4,0,2,3],"span":[89,4,14]},{"path":[4,2,4,0,2,3,1],"span":[89,4,9]},{"path":[4,2,4,0,2,3,2],"span":[89,12,13]},{"path":[4,2,4,0,2,4],"span":[90,4,26]},{"path":[4,2,4,0,2,4,1],"span":[90,4,21]},{"path":[4,2,4,0,2,4,2],"span":[90,24,25]},{"path":[4,2,4,0,2,5],"span":[91,4,17]},{"path":[4,2,4,0,2,5,1],"span":[91,4,12]},{"path":[4,2,4,0,2,5,2],"span":[91,15,16]},{"path":[4,2,2,0],"span":[93,2,18]},{"path":[4,2,2,0,6],"span":[93,2,7]},{"path":[4,2,2,0,1],"span":[93,8,13]},{"path":[4,2,2,0,3],"span":[93,16,17]},{"path":[4,3],"span":[97,0,117,1],"leadingComments":" Channel data is data related to a specific Channel or Subchannel.\n"},{"path":[4,3,1],"span":[97,8,19]},{"path":[4,3,2,0],"span":[100,2,37],"leadingComments":" The connectivity state of the channel or subchannel. Implementations\n should always set this.\n"},{"path":[4,3,2,0,6],"span":[100,2,26]},{"path":[4,3,2,0,1],"span":[100,27,32]},{"path":[4,3,2,0,3],"span":[100,35,36]},{"path":[4,3,2,1],"span":[103,2,20],"leadingComments":" The target this channel originally tried to connect to. May be absent\n"},{"path":[4,3,2,1,5],"span":[103,2,8]},{"path":[4,3,2,1,1],"span":[103,9,15]},{"path":[4,3,2,1,3],"span":[103,18,19]},{"path":[4,3,2,2],"span":[106,2,25],"leadingComments":" A trace of recent events on the channel. May be absent.\n"},{"path":[4,3,2,2,6],"span":[106,2,14]},{"path":[4,3,2,2,1],"span":[106,15,20]},{"path":[4,3,2,2,3],"span":[106,23,24]},{"path":[4,3,2,3],"span":[109,2,26],"leadingComments":" The number of calls started on the channel\n"},{"path":[4,3,2,3,5],"span":[109,2,7]},{"path":[4,3,2,3,1],"span":[109,8,21]},{"path":[4,3,2,3,3],"span":[109,24,25]},{"path":[4,3,2,4],"span":[111,2,28],"leadingComments":" The number of calls that have completed with an OK status\n"},{"path":[4,3,2,4,5],"span":[111,2,7]},{"path":[4,3,2,4,1],"span":[111,8,23]},{"path":[4,3,2,4,3],"span":[111,26,27]},{"path":[4,3,2,5],"span":[113,2,25],"leadingComments":" The number of calls that have completed with a non-OK status\n"},{"path":[4,3,2,5,5],"span":[113,2,7]},{"path":[4,3,2,5,1],"span":[113,8,20]},{"path":[4,3,2,5,3],"span":[113,23,24]},{"path":[4,3,2,6],"span":[116,2,60],"leadingComments":" The last time a call was started on the channel.\n"},{"path":[4,3,2,6,6],"span":[116,2,27]},{"path":[4,3,2,6,1],"span":[116,28,55]},{"path":[4,3,2,6,3],"span":[116,58,59]},{"path":[4,4],"span":[121,0,143,1],"leadingComments":" A trace event is an interesting thing that happened to a channel or\n subchannel, such as creation, address resolution, subchannel creation, etc.\n"},{"path":[4,4,1],"span":[121,8,25]},{"path":[4,4,2,0],"span":[123,2,25],"leadingComments":" High level description of the event.\n"},{"path":[4,4,2,0,5],"span":[123,2,8]},{"path":[4,4,2,0,1],"span":[123,9,20]},{"path":[4,4,2,0,3],"span":[123,23,24]},{"path":[4,4,4,0],"span":[125,2,130,3],"leadingComments":" The supported severity levels of trace events.\n"},{"path":[4,4,4,0,1],"span":[125,7,15]},{"path":[4,4,4,0,2,0],"span":[126,4,19]},{"path":[4,4,4,0,2,0,1],"span":[126,4,14]},{"path":[4,4,4,0,2,0,2],"span":[126,17,18]},{"path":[4,4,4,0,2,1],"span":[127,4,16]},{"path":[4,4,4,0,2,1,1],"span":[127,4,11]},{"path":[4,4,4,0,2,1,2],"span":[127,14,15]},{"path":[4,4,4,0,2,2],"span":[128,4,19]},{"path":[4,4,4,0,2,2,1],"span":[128,4,14]},{"path":[4,4,4,0,2,2,2],"span":[128,17,18]},{"path":[4,4,4,0,2,3],"span":[129,4,17]},{"path":[4,4,4,0,2,3,1],"span":[129,4,12]},{"path":[4,4,4,0,2,3,2],"span":[129,15,16]},{"path":[4,4,2,1],"span":[132,2,24],"leadingComments":" the severity of the trace event\n"},{"path":[4,4,2,1,6],"span":[132,2,10]},{"path":[4,4,2,1,1],"span":[132,11,19]},{"path":[4,4,2,1,3],"span":[132,22,23]},{"path":[4,4,2,2],"span":[134,2,42],"leadingComments":" When this event occurred.\n"},{"path":[4,4,2,2,6],"span":[134,2,27]},{"path":[4,4,2,2,1],"span":[134,28,37]},{"path":[4,4,2,2,3],"span":[134,40,41]},{"path":[4,4,8,0],"span":[139,2,142,3],"leadingComments":" ref of referenced channel or subchannel.\n Optional, only present if this event refers to a child object. For example,\n this field would be filled if this trace event was for a subchannel being\n created.\n"},{"path":[4,4,8,0,1],"span":[139,8,17]},{"path":[4,4,2,3],"span":[140,4,31]},{"path":[4,4,2,3,6],"span":[140,4,14]},{"path":[4,4,2,3,1],"span":[140,15,26]},{"path":[4,4,2,3,3],"span":[140,29,30]},{"path":[4,4,2,4],"span":[141,4,37]},{"path":[4,4,2,4,6],"span":[141,4,17]},{"path":[4,4,2,4,1],"span":[141,18,32]},{"path":[4,4,2,4,3],"span":[141,35,36]},{"path":[4,5],"span":[146,0,155,1],"leadingComments":" ChannelTrace represents the recent events that have occurred on the channel.\n"},{"path":[4,5,1],"span":[146,8,20]},{"path":[4,5,2,0],"span":[150,2,30],"leadingComments":" Number of events ever logged in this tracing object. This can differ from\n events.size() because events can be overwritten or garbage collected by\n implementations.\n"},{"path":[4,5,2,0,5],"span":[150,2,7]},{"path":[4,5,2,0,1],"span":[150,8,25]},{"path":[4,5,2,0,3],"span":[150,28,29]},{"path":[4,5,2,1],"span":[152,2,51],"leadingComments":" Time that this channel was created.\n"},{"path":[4,5,2,1,6],"span":[152,2,27]},{"path":[4,5,2,1,1],"span":[152,28,46]},{"path":[4,5,2,1,3],"span":[152,49,50]},{"path":[4,5,2,2],"span":[154,2,40],"leadingComments":" List of events that have occurred on this channel.\n"},{"path":[4,5,2,2,4],"span":[154,2,10]},{"path":[4,5,2,2,6],"span":[154,11,28]},{"path":[4,5,2,2,1],"span":[154,29,35]},{"path":[4,5,2,2,3],"span":[154,38,39]},{"path":[4,6],"span":[158,0,165,1],"leadingComments":" ChannelRef is a reference to a Channel.\n"},{"path":[4,6,1],"span":[158,8,18]},{"path":[4,6,2,0],"span":[160,2,23],"leadingComments":" The globally unique id for this channel. Must be a positive number.\n"},{"path":[4,6,2,0,5],"span":[160,2,7]},{"path":[4,6,2,0,1],"span":[160,8,18]},{"path":[4,6,2,0,3],"span":[160,21,22]},{"path":[4,6,2,1],"span":[162,2,18],"leadingComments":" An optional name associated with the channel.\n"},{"path":[4,6,2,1,5],"span":[162,2,8]},{"path":[4,6,2,1,1],"span":[162,9,13]},{"path":[4,6,2,1,3],"span":[162,16,17]},{"path":[4,6,9],"span":[164,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,6,9,0],"span":[164,11,12]},{"path":[4,6,9,0,1],"span":[164,11,12]},{"path":[4,6,9,1],"span":[164,14,15]},{"path":[4,6,9,1,1],"span":[164,14,15]},{"path":[4,6,9,2],"span":[164,17,18]},{"path":[4,6,9,2,1],"span":[164,17,18]},{"path":[4,6,9,3],"span":[164,20,21]},{"path":[4,6,9,3,1],"span":[164,20,21]},{"path":[4,6,9,4],"span":[164,23,24]},{"path":[4,6,9,4,1],"span":[164,23,24]},{"path":[4,6,9,5],"span":[164,26,27]},{"path":[4,6,9,5,1],"span":[164,26,27]},{"path":[4,7],"span":[168,0,175,1],"leadingComments":" SubchannelRef is a reference to a Subchannel.\n"},{"path":[4,7,1],"span":[168,8,21]},{"path":[4,7,2,0],"span":[170,2,26],"leadingComments":" The globally unique id for this subchannel. Must be a positive number.\n"},{"path":[4,7,2,0,5],"span":[170,2,7]},{"path":[4,7,2,0,1],"span":[170,8,21]},{"path":[4,7,2,0,3],"span":[170,24,25]},{"path":[4,7,2,1],"span":[172,2,18],"leadingComments":" An optional name associated with the subchannel.\n"},{"path":[4,7,2,1,5],"span":[172,2,8]},{"path":[4,7,2,1,1],"span":[172,9,13]},{"path":[4,7,2,1,3],"span":[172,16,17]},{"path":[4,7,9],"span":[174,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,7,9,0],"span":[174,11,12]},{"path":[4,7,9,0,1],"span":[174,11,12]},{"path":[4,7,9,1],"span":[174,14,15]},{"path":[4,7,9,1,1],"span":[174,14,15]},{"path":[4,7,9,2],"span":[174,17,18]},{"path":[4,7,9,2,1],"span":[174,17,18]},{"path":[4,7,9,3],"span":[174,20,21]},{"path":[4,7,9,3,1],"span":[174,20,21]},{"path":[4,7,9,4],"span":[174,23,24]},{"path":[4,7,9,4,1],"span":[174,23,24]},{"path":[4,7,9,5],"span":[174,26,27]},{"path":[4,7,9,5,1],"span":[174,26,27]},{"path":[4,8],"span":[178,0,185,1],"leadingComments":" SocketRef is a reference to a Socket.\n"},{"path":[4,8,1],"span":[178,8,17]},{"path":[4,8,2,0],"span":[180,2,22],"leadingComments":" The globally unique id for this socket. Must be a positive number.\n"},{"path":[4,8,2,0,5],"span":[180,2,7]},{"path":[4,8,2,0,1],"span":[180,8,17]},{"path":[4,8,2,0,3],"span":[180,20,21]},{"path":[4,8,2,1],"span":[182,2,18],"leadingComments":" An optional name associated with the socket.\n"},{"path":[4,8,2,1,5],"span":[182,2,8]},{"path":[4,8,2,1,1],"span":[182,9,13]},{"path":[4,8,2,1,3],"span":[182,16,17]},{"path":[4,8,9],"span":[184,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,8,9,0],"span":[184,11,12]},{"path":[4,8,9,0,1],"span":[184,11,12]},{"path":[4,8,9,1],"span":[184,14,15]},{"path":[4,8,9,1,1],"span":[184,14,15]},{"path":[4,8,9,2],"span":[184,17,18]},{"path":[4,8,9,2,1],"span":[184,17,18]},{"path":[4,8,9,3],"span":[184,20,21]},{"path":[4,8,9,3,1],"span":[184,20,21]},{"path":[4,8,9,4],"span":[184,23,24]},{"path":[4,8,9,4,1],"span":[184,23,24]},{"path":[4,8,9,5],"span":[184,26,27]},{"path":[4,8,9,5,1],"span":[184,26,27]},{"path":[4,9],"span":[188,0,195,1],"leadingComments":" ServerRef is a reference to a Server.\n"},{"path":[4,9,1],"span":[188,8,17]},{"path":[4,9,2,0],"span":[190,2,22],"leadingComments":" A globally unique identifier for this server. Must be a positive number.\n"},{"path":[4,9,2,0,5],"span":[190,2,7]},{"path":[4,9,2,0,1],"span":[190,8,17]},{"path":[4,9,2,0,3],"span":[190,20,21]},{"path":[4,9,2,1],"span":[192,2,18],"leadingComments":" An optional name associated with the server.\n"},{"path":[4,9,2,1,5],"span":[192,2,8]},{"path":[4,9,2,1,1],"span":[192,9,13]},{"path":[4,9,2,1,3],"span":[192,16,17]},{"path":[4,9,9],"span":[194,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,9,9,0],"span":[194,11,12]},{"path":[4,9,9,0,1],"span":[194,11,12]},{"path":[4,9,9,1],"span":[194,14,15]},{"path":[4,9,9,1,1],"span":[194,14,15]},{"path":[4,9,9,2],"span":[194,17,18]},{"path":[4,9,9,2,1],"span":[194,17,18]},{"path":[4,9,9,3],"span":[194,20,21]},{"path":[4,9,9,3,1],"span":[194,20,21]},{"path":[4,9,9,4],"span":[194,23,24]},{"path":[4,9,9,4,1],"span":[194,23,24]},{"path":[4,9,9,5],"span":[194,26,27]},{"path":[4,9,9,5,1],"span":[194,26,27]},{"path":[4,10],"span":[199,0,208,1],"leadingComments":" Server represents a single server. There may be multiple servers in a single\n program.\n"},{"path":[4,10,1],"span":[199,8,14]},{"path":[4,10,2,0],"span":[201,2,20],"leadingComments":" The identifier for a Server. This should be set.\n"},{"path":[4,10,2,0,6],"span":[201,2,11]},{"path":[4,10,2,0,1],"span":[201,12,15]},{"path":[4,10,2,0,3],"span":[201,18,19]},{"path":[4,10,2,1],"span":[203,2,22],"leadingComments":" The associated data of the Server.\n"},{"path":[4,10,2,1,6],"span":[203,2,12]},{"path":[4,10,2,1,1],"span":[203,13,17]},{"path":[4,10,2,1,3],"span":[203,20,21]},{"path":[4,10,2,2],"span":[207,2,39],"leadingComments":" The sockets that the server is listening on. There are no ordering\n guarantees. This may be absent.\n"},{"path":[4,10,2,2,4],"span":[207,2,10]},{"path":[4,10,2,2,6],"span":[207,11,20]},{"path":[4,10,2,2,1],"span":[207,21,34]},{"path":[4,10,2,2,3],"span":[207,37,38]},{"path":[4,11],"span":[211,0,224,1],"leadingComments":" ServerData is data for a specific Server.\n"},{"path":[4,11,1],"span":[211,8,18]},{"path":[4,11,2,0],"span":[213,2,25],"leadingComments":" A trace of recent events on the server. May be absent.\n"},{"path":[4,11,2,0,6],"span":[213,2,14]},{"path":[4,11,2,0,1],"span":[213,15,20]},{"path":[4,11,2,0,3],"span":[213,23,24]},{"path":[4,11,2,1],"span":[216,2,26],"leadingComments":" The number of incoming calls started on the server\n"},{"path":[4,11,2,1,5],"span":[216,2,7]},{"path":[4,11,2,1,1],"span":[216,8,21]},{"path":[4,11,2,1,3],"span":[216,24,25]},{"path":[4,11,2,2],"span":[218,2,28],"leadingComments":" The number of incoming calls that have completed with an OK status\n"},{"path":[4,11,2,2,5],"span":[218,2,7]},{"path":[4,11,2,2,1],"span":[218,8,23]},{"path":[4,11,2,2,3],"span":[218,26,27]},{"path":[4,11,2,3],"span":[220,2,25],"leadingComments":" The number of incoming calls that have a completed with a non-OK status\n"},{"path":[4,11,2,3,5],"span":[220,2,7]},{"path":[4,11,2,3,1],"span":[220,8,20]},{"path":[4,11,2,3,3],"span":[220,23,24]},{"path":[4,11,2,4],"span":[223,2,60],"leadingComments":" The last time a call was started on the server.\n"},{"path":[4,11,2,4,6],"span":[223,2,27]},{"path":[4,11,2,4,1],"span":[223,28,55]},{"path":[4,11,2,4,3],"span":[223,58,59]},{"path":[4,12],"span":[227,0,244,1],"leadingComments":" Information about an actual connection. Pronounced \"sock-ay\".\n"},{"path":[4,12,1],"span":[227,8,14]},{"path":[4,12,2,0],"span":[229,2,20],"leadingComments":" The identifier for the Socket.\n"},{"path":[4,12,2,0,6],"span":[229,2,11]},{"path":[4,12,2,0,1],"span":[229,12,15]},{"path":[4,12,2,0,3],"span":[229,18,19]},{"path":[4,12,2,1],"span":[232,2,22],"leadingComments":" Data specific to this Socket.\n"},{"path":[4,12,2,1,6],"span":[232,2,12]},{"path":[4,12,2,1,1],"span":[232,13,17]},{"path":[4,12,2,1,3],"span":[232,20,21]},{"path":[4,12,2,2],"span":[234,2,20],"leadingComments":" The locally bound address.\n"},{"path":[4,12,2,2,6],"span":[234,2,9]},{"path":[4,12,2,2,1],"span":[234,10,15]},{"path":[4,12,2,2,3],"span":[234,18,19]},{"path":[4,12,2,3],"span":[236,2,21],"leadingComments":" The remote bound address. May be absent.\n"},{"path":[4,12,2,3,6],"span":[236,2,9]},{"path":[4,12,2,3,1],"span":[236,10,16]},{"path":[4,12,2,3,3],"span":[236,19,20]},{"path":[4,12,2,4],"span":[239,2,24],"leadingComments":" Security details for this socket. May be absent if not available, or\n there is no security on the socket.\n"},{"path":[4,12,2,4,6],"span":[239,2,10]},{"path":[4,12,2,4,1],"span":[239,11,19]},{"path":[4,12,2,4,3],"span":[239,22,23]},{"path":[4,12,2,5],"span":[243,2,25],"leadingComments":" Optional, represents the name of the remote endpoint, if different than\n the original target name.\n"},{"path":[4,12,2,5,5],"span":[243,2,8]},{"path":[4,12,2,5,1],"span":[243,9,20]},{"path":[4,12,2,5,3],"span":[243,23,24]},{"path":[4,13],"span":[249,0,294,1],"leadingComments":" SocketData is data associated for a specific Socket. The fields present\n are specific to the implementation, so there may be minor differences in\n the semantics. (e.g. flow control windows)\n"},{"path":[4,13,1],"span":[249,8,18]},{"path":[4,13,2,0],"span":[251,2,28],"leadingComments":" The number of streams that have been started.\n"},{"path":[4,13,2,0,5],"span":[251,2,7]},{"path":[4,13,2,0,1],"span":[251,8,23]},{"path":[4,13,2,0,3],"span":[251,26,27]},{"path":[4,13,2,1],"span":[255,2,30],"leadingComments":" The number of streams that have ended successfully:\n On client side, received frame with eos bit set;\n On server side, sent frame with eos bit set.\n"},{"path":[4,13,2,1,5],"span":[255,2,7]},{"path":[4,13,2,1,1],"span":[255,8,25]},{"path":[4,13,2,1,3],"span":[255,28,29]},{"path":[4,13,2,2],"span":[259,2,27],"leadingComments":" The number of streams that have ended unsuccessfully:\n On client side, ended without receiving frame with eos bit set;\n On server side, ended without sending frame with eos bit set.\n"},{"path":[4,13,2,2,5],"span":[259,2,7]},{"path":[4,13,2,2,1],"span":[259,8,22]},{"path":[4,13,2,2,3],"span":[259,25,26]},{"path":[4,13,2,3],"span":[261,2,26],"leadingComments":" The number of grpc messages successfully sent on this socket.\n"},{"path":[4,13,2,3,5],"span":[261,2,7]},{"path":[4,13,2,3,1],"span":[261,8,21]},{"path":[4,13,2,3,3],"span":[261,24,25]},{"path":[4,13,2,4],"span":[263,2,30],"leadingComments":" The number of grpc messages received on this socket.\n"},{"path":[4,13,2,4,5],"span":[263,2,7]},{"path":[4,13,2,4,1],"span":[263,8,25]},{"path":[4,13,2,4,3],"span":[263,28,29]},{"path":[4,13,2,5],"span":[267,2,29],"leadingComments":" The number of keep alives sent. This is typically implemented with HTTP/2\n ping messages.\n"},{"path":[4,13,2,5,5],"span":[267,2,7]},{"path":[4,13,2,5,1],"span":[267,8,24]},{"path":[4,13,2,5,3],"span":[267,27,28]},{"path":[4,13,2,6],"span":[271,2,68],"leadingComments":" The last time a stream was created by this endpoint. Usually unset for\n servers.\n"},{"path":[4,13,2,6,6],"span":[271,2,27]},{"path":[4,13,2,6,1],"span":[271,28,63]},{"path":[4,13,2,6,3],"span":[271,66,67]},{"path":[4,13,2,7],"span":[274,2,69],"leadingComments":" The last time a stream was created by the remote endpoint. Usually unset\n for clients.\n"},{"path":[4,13,2,7,6],"span":[274,2,27]},{"path":[4,13,2,7,1],"span":[274,28,64]},{"path":[4,13,2,7,3],"span":[274,67,68]},{"path":[4,13,2,8],"span":[277,2,60],"leadingComments":" The last time a message was sent by this endpoint.\n"},{"path":[4,13,2,8,6],"span":[277,2,27]},{"path":[4,13,2,8,1],"span":[277,28,55]},{"path":[4,13,2,8,3],"span":[277,58,59]},{"path":[4,13,2,9],"span":[279,2,65],"leadingComments":" The last time a message was received by this endpoint.\n"},{"path":[4,13,2,9,6],"span":[279,2,27]},{"path":[4,13,2,9,1],"span":[279,28,59]},{"path":[4,13,2,9,3],"span":[279,62,64]},{"path":[4,13,2,10],"span":[284,2,60],"leadingComments":" The amount of window, granted to the local endpoint by the remote endpoint.\n This may be slightly out of date due to network latency. This does NOT\n include stream level or TCP level flow control info.\n"},{"path":[4,13,2,10,6],"span":[284,2,28]},{"path":[4,13,2,10,1],"span":[284,29,54]},{"path":[4,13,2,10,3],"span":[284,57,59]},{"path":[4,13,2,11],"span":[289,2,62],"leadingComments":" The amount of window, granted to the remote endpoint by the local endpoint.\n This may be slightly out of date due to network latency. This does NOT\n include stream level or TCP level flow control info.\n"},{"path":[4,13,2,11,6],"span":[289,2,28]},{"path":[4,13,2,11,1],"span":[289,30,56]},{"path":[4,13,2,11,3],"span":[289,59,61]},{"path":[4,13,2,12],"span":[293,2,36],"leadingComments":" Socket options set on this socket. May be absent if 'summary' is set\n on GetSocketRequest.\n"},{"path":[4,13,2,12,4],"span":[293,2,10]},{"path":[4,13,2,12,6],"span":[293,11,23]},{"path":[4,13,2,12,1],"span":[293,24,30]},{"path":[4,13,2,12,3],"span":[293,33,35]},{"path":[4,14],"span":[297,0,322,1],"leadingComments":" Address represents the address used to create the socket.\n"},{"path":[4,14,1],"span":[297,8,15]},{"path":[4,14,3,0],"span":[298,2,304,3]},{"path":[4,14,3,0,1],"span":[298,10,22]},{"path":[4,14,3,0,2,0],"span":[301,4,25],"leadingComments":" Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16\n bytes in length.\n"},{"path":[4,14,3,0,2,0,5],"span":[301,4,9]},{"path":[4,14,3,0,2,0,1],"span":[301,10,20]},{"path":[4,14,3,0,2,0,3],"span":[301,23,24]},{"path":[4,14,3,0,2,1],"span":[303,4,19],"leadingComments":" 0-64k, or -1 if not appropriate.\n"},{"path":[4,14,3,0,2,1,5],"span":[303,4,9]},{"path":[4,14,3,0,2,1,1],"span":[303,10,14]},{"path":[4,14,3,0,2,1,3],"span":[303,17,18]},{"path":[4,14,3,1],"span":[306,2,308,3],"leadingComments":" A Unix Domain Socket address.\n"},{"path":[4,14,3,1,1],"span":[306,10,20]},{"path":[4,14,3,1,2,0],"span":[307,4,24]},{"path":[4,14,3,1,2,0,5],"span":[307,4,10]},{"path":[4,14,3,1,2,0,1],"span":[307,11,19]},{"path":[4,14,3,1,2,0,3],"span":[307,22,23]},{"path":[4,14,3,2],"span":[310,2,315,3],"leadingComments":" An address type not included above.\n"},{"path":[4,14,3,2,1],"span":[310,10,22]},{"path":[4,14,3,2,2,0],"span":[312,4,20],"leadingComments":" The human readable version of the value. This value should be set.\n"},{"path":[4,14,3,2,2,0,5],"span":[312,4,10]},{"path":[4,14,3,2,2,0,1],"span":[312,11,15]},{"path":[4,14,3,2,2,0,3],"span":[312,18,19]},{"path":[4,14,3,2,2,1],"span":[314,4,34],"leadingComments":" The actual address message.\n"},{"path":[4,14,3,2,2,1,6],"span":[314,4,23]},{"path":[4,14,3,2,2,1,1],"span":[314,24,29]},{"path":[4,14,3,2,2,1,3],"span":[314,32,33]},{"path":[4,14,8,0],"span":[317,2,321,3]},{"path":[4,14,8,0,1],"span":[317,8,15]},{"path":[4,14,2,0],"span":[318,4,35]},{"path":[4,14,2,0,6],"span":[318,4,16]},{"path":[4,14,2,0,1],"span":[318,17,30]},{"path":[4,14,2,0,3],"span":[318,33,34]},{"path":[4,14,2,1],"span":[319,4,31]},{"path":[4,14,2,1,6],"span":[319,4,14]},{"path":[4,14,2,1,1],"span":[319,15,26]},{"path":[4,14,2,1,3],"span":[319,29,30]},{"path":[4,14,2,2],"span":[320,4,35]},{"path":[4,14,2,2,6],"span":[320,4,16]},{"path":[4,14,2,2,1],"span":[320,17,30]},{"path":[4,14,2,2,3],"span":[320,33,34]},{"path":[4,15],"span":[325,0,350,1],"leadingComments":" Security represents details about how secure the socket is.\n"},{"path":[4,15,1],"span":[325,8,16]},{"path":[4,15,3,0],"span":[326,2,339,3]},{"path":[4,15,3,0,1],"span":[326,10,13]},{"path":[4,15,3,0,8,0],"span":[327,4,334,5]},{"path":[4,15,3,0,8,0,1],"span":[327,10,22]},{"path":[4,15,3,0,2,0],"span":[330,6,31],"leadingComments":" The cipher suite name in the RFC 4346 format:\n https://tools.ietf.org/html/rfc4346#appendix-C\n"},{"path":[4,15,3,0,2,0,5],"span":[330,6,12]},{"path":[4,15,3,0,2,0,1],"span":[330,13,26]},{"path":[4,15,3,0,2,0,3],"span":[330,29,30]},{"path":[4,15,3,0,2,1],"span":[333,6,28],"leadingComments":" Some other way to describe the cipher suite if\n the RFC 4346 name is not available.\n"},{"path":[4,15,3,0,2,1,5],"span":[333,6,12]},{"path":[4,15,3,0,2,1,1],"span":[333,13,23]},{"path":[4,15,3,0,2,1,3],"span":[333,26,27]},{"path":[4,15,3,0,2,2],"span":[336,4,32],"leadingComments":" the certificate used by this endpoint.\n"},{"path":[4,15,3,0,2,2,5],"span":[336,4,9]},{"path":[4,15,3,0,2,2,1],"span":[336,10,27]},{"path":[4,15,3,0,2,2,3],"span":[336,30,31]},{"path":[4,15,3,0,2,3],"span":[338,4,33],"leadingComments":" the certificate used by the remote endpoint.\n"},{"path":[4,15,3,0,2,3,5],"span":[338,4,9]},{"path":[4,15,3,0,2,3,1],"span":[338,10,28]},{"path":[4,15,3,0,2,3,3],"span":[338,31,32]},{"path":[4,15,3,1],"span":[340,2,345,3]},{"path":[4,15,3,1,1],"span":[340,10,23]},{"path":[4,15,3,1,2,0],"span":[342,4,20],"leadingComments":" The human readable version of the value.\n"},{"path":[4,15,3,1,2,0,5],"span":[342,4,10]},{"path":[4,15,3,1,2,0,1],"span":[342,11,15]},{"path":[4,15,3,1,2,0,3],"span":[342,18,19]},{"path":[4,15,3,1,2,1],"span":[344,4,34],"leadingComments":" The actual security details message.\n"},{"path":[4,15,3,1,2,1,6],"span":[344,4,23]},{"path":[4,15,3,1,2,1,1],"span":[344,24,29]},{"path":[4,15,3,1,2,1,3],"span":[344,32,33]},{"path":[4,15,8,0],"span":[346,2,349,3]},{"path":[4,15,8,0,1],"span":[346,8,13]},{"path":[4,15,2,0],"span":[347,4,16]},{"path":[4,15,2,0,6],"span":[347,4,7]},{"path":[4,15,2,0,1],"span":[347,8,11]},{"path":[4,15,2,0,3],"span":[347,14,15]},{"path":[4,15,2,1],"span":[348,4,28]},{"path":[4,15,2,1,6],"span":[348,4,17]},{"path":[4,15,2,1,1],"span":[348,18,23]},{"path":[4,15,2,1,3],"span":[348,26,27]},{"path":[4,16],"span":[354,0,364,1],"leadingComments":" SocketOption represents socket options for a socket. Specifically, these\n are the options returned by getsockopt().\n"},{"path":[4,16,1],"span":[354,8,20]},{"path":[4,16,2,0],"span":[357,2,18],"leadingComments":" The full name of the socket option. Typically this will be the upper case\n name, such as \"SO_REUSEPORT\".\n"},{"path":[4,16,2,0,5],"span":[357,2,8]},{"path":[4,16,2,0,1],"span":[357,9,13]},{"path":[4,16,2,0,3],"span":[357,16,17]},{"path":[4,16,2,1],"span":[360,2,19],"leadingComments":" The human readable value of this socket option. At least one of value or\n additional will be set.\n"},{"path":[4,16,2,1,5],"span":[360,2,8]},{"path":[4,16,2,1,1],"span":[360,9,14]},{"path":[4,16,2,1,3],"span":[360,17,18]},{"path":[4,16,2,2],"span":[363,2,37],"leadingComments":" Additional data associated with the socket option. At least one of value\n or additional will be set.\n"},{"path":[4,16,2,2,6],"span":[363,2,21]},{"path":[4,16,2,2,1],"span":[363,22,32]},{"path":[4,16,2,2,3],"span":[363,35,36]},{"path":[4,17],"span":[368,0,370,1],"leadingComments":" For use with SocketOption's additional field. This is primarily used for\n SO_RCVTIMEO and SO_SNDTIMEO\n"},{"path":[4,17,1],"span":[368,8,27]},{"path":[4,17,2,0],"span":[369,2,40]},{"path":[4,17,2,0,6],"span":[369,2,26]},{"path":[4,17,2,0,1],"span":[369,27,35]},{"path":[4,17,2,0,3],"span":[369,38,39]},{"path":[4,18],"span":[374,0,379,1],"leadingComments":" For use with SocketOption's additional field. This is primarily used for\n SO_LINGER.\n"},{"path":[4,18,1],"span":[374,8,26]},{"path":[4,18,2,0],"span":[376,2,18],"leadingComments":" active maps to `struct linger.l_onoff`\n"},{"path":[4,18,2,0,5],"span":[376,2,6]},{"path":[4,18,2,0,1],"span":[376,7,13]},{"path":[4,18,2,0,3],"span":[376,16,17]},{"path":[4,18,2,1],"span":[378,2,40],"leadingComments":" duration maps to `struct linger.l_linger`\n"},{"path":[4,18,2,1,6],"span":[378,2,26]},{"path":[4,18,2,1,1],"span":[378,27,35]},{"path":[4,18,2,1,3],"span":[378,38,39]},{"path":[4,19],"span":[383,0,418,1],"leadingComments":" For use with SocketOption's additional field. Tcp info for\n SOL_TCP and TCP_INFO.\n"},{"path":[4,19,1],"span":[383,8,27]},{"path":[4,19,2,0],"span":[384,2,24]},{"path":[4,19,2,0,5],"span":[384,2,8]},{"path":[4,19,2,0,1],"span":[384,9,19]},{"path":[4,19,2,0,3],"span":[384,22,23]},{"path":[4,19,2,1],"span":[386,2,27]},{"path":[4,19,2,1,5],"span":[386,2,8]},{"path":[4,19,2,1,1],"span":[386,9,22]},{"path":[4,19,2,1,3],"span":[386,25,26]},{"path":[4,19,2,2],"span":[387,2,30]},{"path":[4,19,2,2,5],"span":[387,2,8]},{"path":[4,19,2,2,1],"span":[387,9,25]},{"path":[4,19,2,2,3],"span":[387,28,29]},{"path":[4,19,2,3],"span":[388,2,25]},{"path":[4,19,2,3,5],"span":[388,2,8]},{"path":[4,19,2,3,1],"span":[388,9,20]},{"path":[4,19,2,3,3],"span":[388,23,24]},{"path":[4,19,2,4],"span":[389,2,26]},{"path":[4,19,2,4,5],"span":[389,2,8]},{"path":[4,19,2,4,1],"span":[389,9,21]},{"path":[4,19,2,4,3],"span":[389,24,25]},{"path":[4,19,2,5],"span":[390,2,26]},{"path":[4,19,2,5,5],"span":[390,2,8]},{"path":[4,19,2,5,1],"span":[390,9,21]},{"path":[4,19,2,5,3],"span":[390,24,25]},{"path":[4,19,2,6],"span":[391,2,29]},{"path":[4,19,2,6,5],"span":[391,2,8]},{"path":[4,19,2,6,1],"span":[391,9,24]},{"path":[4,19,2,6,3],"span":[391,27,28]},{"path":[4,19,2,7],"span":[392,2,29]},{"path":[4,19,2,7,5],"span":[392,2,8]},{"path":[4,19,2,7,1],"span":[392,9,24]},{"path":[4,19,2,7,3],"span":[392,27,28]},{"path":[4,19,2,8],"span":[394,2,22]},{"path":[4,19,2,8,5],"span":[394,2,8]},{"path":[4,19,2,8,1],"span":[394,9,17]},{"path":[4,19,2,8,3],"span":[394,20,21]},{"path":[4,19,2,9],"span":[395,2,23]},{"path":[4,19,2,9,5],"span":[395,2,8]},{"path":[4,19,2,9,1],"span":[395,9,17]},{"path":[4,19,2,9,3],"span":[395,20,22]},{"path":[4,19,2,10],"span":[396,2,27]},{"path":[4,19,2,10,5],"span":[396,2,8]},{"path":[4,19,2,10,1],"span":[396,9,21]},{"path":[4,19,2,10,3],"span":[396,24,26]},{"path":[4,19,2,11],"span":[397,2,27]},{"path":[4,19,2,11,5],"span":[397,2,8]},{"path":[4,19,2,11,1],"span":[397,9,21]},{"path":[4,19,2,11,3],"span":[397,24,26]},{"path":[4,19,2,12],"span":[399,2,27]},{"path":[4,19,2,12,5],"span":[399,2,8]},{"path":[4,19,2,12,1],"span":[399,9,21]},{"path":[4,19,2,12,3],"span":[399,24,26]},{"path":[4,19,2,13],"span":[400,2,26]},{"path":[4,19,2,13,5],"span":[400,2,8]},{"path":[4,19,2,13,1],"span":[400,9,20]},{"path":[4,19,2,13,3],"span":[400,23,25]},{"path":[4,19,2,14],"span":[401,2,24]},{"path":[4,19,2,14,5],"span":[401,2,8]},{"path":[4,19,2,14,1],"span":[401,9,18]},{"path":[4,19,2,14,3],"span":[401,21,23]},{"path":[4,19,2,15],"span":[402,2,27]},{"path":[4,19,2,15,5],"span":[402,2,8]},{"path":[4,19,2,15,1],"span":[402,9,21]},{"path":[4,19,2,15,3],"span":[402,24,26]},{"path":[4,19,2,16],"span":[403,2,27]},{"path":[4,19,2,16,5],"span":[403,2,8]},{"path":[4,19,2,16,1],"span":[403,9,21]},{"path":[4,19,2,16,3],"span":[403,24,26]},{"path":[4,19,2,17],"span":[405,2,34]},{"path":[4,19,2,17,5],"span":[405,2,8]},{"path":[4,19,2,17,1],"span":[405,9,28]},{"path":[4,19,2,17,3],"span":[405,31,33]},{"path":[4,19,2,18],"span":[406,2,33]},{"path":[4,19,2,18,5],"span":[406,2,8]},{"path":[4,19,2,18,1],"span":[406,9,27]},{"path":[4,19,2,18,3],"span":[406,30,32]},{"path":[4,19,2,19],"span":[407,2,34]},{"path":[4,19,2,19,5],"span":[407,2,8]},{"path":[4,19,2,19,1],"span":[407,9,28]},{"path":[4,19,2,19,3],"span":[407,31,33]},{"path":[4,19,2,20],"span":[408,2,33]},{"path":[4,19,2,20,5],"span":[408,2,8]},{"path":[4,19,2,20,1],"span":[408,9,27]},{"path":[4,19,2,20,3],"span":[408,30,32]},{"path":[4,19,2,21],"span":[410,2,24]},{"path":[4,19,2,21,5],"span":[410,2,8]},{"path":[4,19,2,21,1],"span":[410,9,18]},{"path":[4,19,2,21,3],"span":[410,21,23]},{"path":[4,19,2,22],"span":[411,2,32]},{"path":[4,19,2,22,5],"span":[411,2,8]},{"path":[4,19,2,22,1],"span":[411,9,26]},{"path":[4,19,2,22,3],"span":[411,29,31]},{"path":[4,19,2,23],"span":[412,2,23]},{"path":[4,19,2,23,5],"span":[412,2,8]},{"path":[4,19,2,23,1],"span":[412,9,17]},{"path":[4,19,2,23,3],"span":[412,20,22]},{"path":[4,19,2,24],"span":[413,2,26]},{"path":[4,19,2,24,5],"span":[413,2,8]},{"path":[4,19,2,24,1],"span":[413,9,20]},{"path":[4,19,2,24,3],"span":[413,23,25]},{"path":[4,19,2,25],"span":[414,2,32]},{"path":[4,19,2,25,5],"span":[414,2,8]},{"path":[4,19,2,25,1],"span":[414,9,26]},{"path":[4,19,2,25,3],"span":[414,29,31]},{"path":[4,19,2,26],"span":[415,2,28]},{"path":[4,19,2,26,5],"span":[415,2,8]},{"path":[4,19,2,26,1],"span":[415,9,22]},{"path":[4,19,2,26,3],"span":[415,25,27]},{"path":[4,19,2,27],"span":[416,2,26]},{"path":[4,19,2,27,5],"span":[416,2,8]},{"path":[4,19,2,27,1],"span":[416,9,20]},{"path":[4,19,2,27,3],"span":[416,23,25]},{"path":[4,19,2,28],"span":[417,2,30]},{"path":[4,19,2,28,5],"span":[417,2,8]},{"path":[4,19,2,28,1],"span":[417,9,24]},{"path":[4,19,2,28,3],"span":[417,27,29]},{"path":[6,0],"span":[422,0,438,1],"leadingComments":" Channelz is a service exposed by gRPC servers that provides detailed debug\n information.\n"},{"path":[6,0,1],"span":[422,8,16]},{"path":[6,0,2,0],"span":[425,2,77],"leadingComments":" Gets all root channels (i.e. channels the application has directly\n created). This does not include subchannels nor non-top level channels.\n"},{"path":[6,0,2,0,1],"span":[425,6,20]},{"path":[6,0,2,0,2],"span":[425,21,42]},{"path":[6,0,2,0,3],"span":[425,53,75]},{"path":[6,0,2,1],"span":[427,2,65],"leadingComments":" Gets all servers that exist in the process.\n"},{"path":[6,0,2,1,1],"span":[427,6,16]},{"path":[6,0,2,1,2],"span":[427,17,34]},{"path":[6,0,2,1,3],"span":[427,45,63]},{"path":[6,0,2,2],"span":[429,2,62],"leadingComments":" Returns a single Server, or else a NOT_FOUND code.\n"},{"path":[6,0,2,2,1],"span":[429,6,15]},{"path":[6,0,2,2,2],"span":[429,16,32]},{"path":[6,0,2,2,3],"span":[429,43,60]},{"path":[6,0,2,3],"span":[431,2,83],"leadingComments":" Gets all server sockets that exist in the process.\n"},{"path":[6,0,2,3,1],"span":[431,6,22]},{"path":[6,0,2,3,2],"span":[431,23,46]},{"path":[6,0,2,3,3],"span":[431,57,81]},{"path":[6,0,2,4],"span":[433,2,65],"leadingComments":" Returns a single Channel, or else a NOT_FOUND code.\n"},{"path":[6,0,2,4,1],"span":[433,6,16]},{"path":[6,0,2,4,2],"span":[433,17,34]},{"path":[6,0,2,4,3],"span":[433,45,63]},{"path":[6,0,2,5],"span":[435,2,74],"leadingComments":" Returns a single Subchannel, or else a NOT_FOUND code.\n"},{"path":[6,0,2,5,1],"span":[435,6,19]},{"path":[6,0,2,5,2],"span":[435,20,40]},{"path":[6,0,2,5,3],"span":[435,51,72]},{"path":[6,0,2,6],"span":[437,2,62],"leadingComments":" Returns a single Socket or else a NOT_FOUND code.\n"},{"path":[6,0,2,6,1],"span":[437,6,15]},{"path":[6,0,2,6,2],"span":[437,16,32]},{"path":[6,0,2,6,3],"span":[437,43,60]},{"path":[4,20],"span":[440,0,452,1]},{"path":[4,20,1],"span":[440,8,29]},{"path":[4,20,2,0],"span":[446,2,29],"leadingComments":" start_channel_id indicates that only channels at or above this id should be\n included in the results.\n To request the first page, this should be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,20,2,0,5],"span":[446,2,7]},{"path":[4,20,2,0,1],"span":[446,8,24]},{"path":[4,20,2,0,3],"span":[446,27,28]},{"path":[4,20,2,1],"span":[451,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,20,2,1,5],"span":[451,2,7]},{"path":[4,20,2,1,1],"span":[451,8,19]},{"path":[4,20,2,1,3],"span":[451,22,23]},{"path":[4,21],"span":[454,0,463,1]},{"path":[4,21,1],"span":[454,8,30]},{"path":[4,21,2,0],"span":[458,2,31],"leadingComments":" list of channels that the connection detail service knows about. Sorted in\n ascending channel_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,21,2,0,4],"span":[458,2,10]},{"path":[4,21,2,0,6],"span":[458,11,18]},{"path":[4,21,2,0,1],"span":[458,19,26]},{"path":[4,21,2,0,3],"span":[458,29,30]},{"path":[4,21,2,1],"span":[462,2,15],"leadingComments":" If set, indicates that the list of channels is the final list. Requesting\n more channels can only return more if they are created after this RPC\n completes.\n"},{"path":[4,21,2,1,5],"span":[462,2,6]},{"path":[4,21,2,1,1],"span":[462,7,10]},{"path":[4,21,2,1,3],"span":[462,13,14]},{"path":[4,22],"span":[465,0,477,1]},{"path":[4,22,1],"span":[465,8,25]},{"path":[4,22,2,0],"span":[471,2,28],"leadingComments":" start_server_id indicates that only servers at or above this id should be\n included in the results.\n To request the first page, this must be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,22,2,0,5],"span":[471,2,7]},{"path":[4,22,2,0,1],"span":[471,8,23]},{"path":[4,22,2,0,3],"span":[471,26,27]},{"path":[4,22,2,1],"span":[476,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,22,2,1,5],"span":[476,2,7]},{"path":[4,22,2,1,1],"span":[476,8,19]},{"path":[4,22,2,1,3],"span":[476,22,23]},{"path":[4,23],"span":[479,0,488,1]},{"path":[4,23,1],"span":[479,8,26]},{"path":[4,23,2,0],"span":[483,2,29],"leadingComments":" list of servers that the connection detail service knows about. Sorted in\n ascending server_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,23,2,0,4],"span":[483,2,10]},{"path":[4,23,2,0,6],"span":[483,11,17]},{"path":[4,23,2,0,1],"span":[483,18,24]},{"path":[4,23,2,0,3],"span":[483,27,28]},{"path":[4,23,2,1],"span":[487,2,15],"leadingComments":" If set, indicates that the list of servers is the final list. Requesting\n more servers will only return more if they are created after this RPC\n completes.\n"},{"path":[4,23,2,1,5],"span":[487,2,6]},{"path":[4,23,2,1,1],"span":[487,7,10]},{"path":[4,23,2,1,3],"span":[487,13,14]},{"path":[4,24],"span":[490,0,493,1]},{"path":[4,24,1],"span":[490,8,24]},{"path":[4,24,2,0],"span":[492,2,22],"leadingComments":" server_id is the identifier of the specific server to get.\n"},{"path":[4,24,2,0,5],"span":[492,2,7]},{"path":[4,24,2,0,1],"span":[492,8,17]},{"path":[4,24,2,0,3],"span":[492,20,21]},{"path":[4,25],"span":[495,0,499,1]},{"path":[4,25,1],"span":[495,8,25]},{"path":[4,25,2,0],"span":[498,2,20],"leadingComments":" The Server that corresponds to the requested server_id. This field\n should be set.\n"},{"path":[4,25,2,0,6],"span":[498,2,8]},{"path":[4,25,2,0,1],"span":[498,9,15]},{"path":[4,25,2,0,3],"span":[498,18,19]},{"path":[4,26],"span":[501,0,514,1]},{"path":[4,26,1],"span":[501,8,31]},{"path":[4,26,2,0],"span":[502,2,22]},{"path":[4,26,2,0,5],"span":[502,2,7]},{"path":[4,26,2,0,1],"span":[502,8,17]},{"path":[4,26,2,0,3],"span":[502,20,21]},{"path":[4,26,2,1],"span":[508,2,28],"leadingComments":" start_socket_id indicates that only sockets at or above this id should be\n included in the results.\n To request the first page, this must be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,26,2,1,5],"span":[508,2,7]},{"path":[4,26,2,1,1],"span":[508,8,23]},{"path":[4,26,2,1,3],"span":[508,26,27]},{"path":[4,26,2,2],"span":[513,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,26,2,2,5],"span":[513,2,7]},{"path":[4,26,2,2,1],"span":[513,8,19]},{"path":[4,26,2,2,3],"span":[513,22,23]},{"path":[4,27],"span":[516,0,525,1]},{"path":[4,27,1],"span":[516,8,32]},{"path":[4,27,2,0],"span":[520,2,36],"leadingComments":" list of socket refs that the connection detail service knows about. Sorted in\n ascending socket_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,27,2,0,4],"span":[520,2,10]},{"path":[4,27,2,0,6],"span":[520,11,20]},{"path":[4,27,2,0,1],"span":[520,21,31]},{"path":[4,27,2,0,3],"span":[520,34,35]},{"path":[4,27,2,1],"span":[524,2,15],"leadingComments":" If set, indicates that the list of sockets is the final list. Requesting\n more sockets will only return more if they are created after this RPC\n completes.\n"},{"path":[4,27,2,1,5],"span":[524,2,6]},{"path":[4,27,2,1,1],"span":[524,7,10]},{"path":[4,27,2,1,3],"span":[524,13,14]},{"path":[4,28],"span":[527,0,530,1]},{"path":[4,28,1],"span":[527,8,25]},{"path":[4,28,2,0],"span":[529,2,23],"leadingComments":" channel_id is the identifier of the specific channel to get.\n"},{"path":[4,28,2,0,5],"span":[529,2,7]},{"path":[4,28,2,0,1],"span":[529,8,18]},{"path":[4,28,2,0,3],"span":[529,21,22]},{"path":[4,29],"span":[532,0,536,1]},{"path":[4,29,1],"span":[532,8,26]},{"path":[4,29,2,0],"span":[535,2,22],"leadingComments":" The Channel that corresponds to the requested channel_id. This field\n should be set.\n"},{"path":[4,29,2,0,6],"span":[535,2,9]},{"path":[4,29,2,0,1],"span":[535,10,17]},{"path":[4,29,2,0,3],"span":[535,20,21]},{"path":[4,30],"span":[538,0,541,1]},{"path":[4,30,1],"span":[538,8,28]},{"path":[4,30,2,0],"span":[540,2,26],"leadingComments":" subchannel_id is the identifier of the specific subchannel to get.\n"},{"path":[4,30,2,0,5],"span":[540,2,7]},{"path":[4,30,2,0,1],"span":[540,8,21]},{"path":[4,30,2,0,3],"span":[540,24,25]},{"path":[4,31],"span":[543,0,547,1]},{"path":[4,31,1],"span":[543,8,29]},{"path":[4,31,2,0],"span":[546,2,28],"leadingComments":" The Subchannel that corresponds to the requested subchannel_id. This\n field should be set.\n"},{"path":[4,31,2,0,6],"span":[546,2,12]},{"path":[4,31,2,0,1],"span":[546,13,23]},{"path":[4,31,2,0,3],"span":[546,26,27]},{"path":[4,32],"span":[549,0,557,1]},{"path":[4,32,1],"span":[549,8,24]},{"path":[4,32,2,0],"span":[551,2,22],"leadingComments":" socket_id is the identifier of the specific socket to get.\n"},{"path":[4,32,2,0,5],"span":[551,2,7]},{"path":[4,32,2,0,1],"span":[551,8,17]},{"path":[4,32,2,0,3],"span":[551,20,21]},{"path":[4,32,2,1],"span":[556,2,19],"leadingComments":" If true, the response will contain only high level information\n that is inexpensive to obtain. Fields thay may be omitted are\n documented.\n"},{"path":[4,32,2,1,5],"span":[556,2,6]},{"path":[4,32,2,1,1],"span":[556,7,14]},{"path":[4,32,2,1,3],"span":[556,17,18]},{"path":[4,33],"span":[559,0,563,1]},{"path":[4,33,1],"span":[559,8,25]},{"path":[4,33,2,0],"span":[562,2,20],"leadingComments":" The Socket that corresponds to the requested socket_id. This field\n should be set.\n"},{"path":[4,33,2,0,6],"span":[562,2,8]},{"path":[4,33,2,0,1],"span":[562,9,15]},{"path":[4,33,2,0,3],"span":[562,18,19]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"proto/permissions.proto","package":"checkpermission","messageType":[{"name":"CheckPermissionRequest","field":[{"name":"siteId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"accountId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"accountId"},{"name":"action","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"action"},{"name":"traceId","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"traceId"}]},{"name":"CheckPermissionResponse","field":[{"name":"granted","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"granted"},{"name":"installations","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"assetScopes","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"},{"name":"derivedPermissions","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"derivedPermissions"}]},{"name":"GetUserPermissionsRequest","field":[{"name":"userId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"userId"},{"name":"siteId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"traceId","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"traceId","proto3Optional":true}],"oneofDecl":[{"name":"_traceId"}]},{"name":"GetUserPermissionsResponse","field":[{"name":"permissions","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.PermissionsEntry","jsonName":"permissions"}],"nestedType":[{"name":"Permissions","field":[{"name":"installations","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"assetScopes","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"}]},{"name":"PermissionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.Permissions","jsonName":"value"}],"options":{"mapEntry":true}}]}],"service":[{"name":"CheckPermissionService","method":[{"name":"CheckPermission","inputType":".checkpermission.CheckPermissionRequest","outputType":".checkpermission.CheckPermissionResponse","options":{}},{"name":"GetUserPermissions","inputType":".checkpermission.GetUserPermissionsRequest","outputType":".checkpermission.GetUserPermissionsResponse","options":{}}]}],"sourceCodeInfo":{"location":[{"span":[0,0,36,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,24]},{"path":[4,0],"span":[4,0,9,1]},{"path":[4,0,1],"span":[4,8,30]},{"path":[4,0,2,0],"span":[5,2,20]},{"path":[4,0,2,0,5],"span":[5,2,8]},{"path":[4,0,2,0,1],"span":[5,9,15]},{"path":[4,0,2,0,3],"span":[5,18,19]},{"path":[4,0,2,1],"span":[6,2,23]},{"path":[4,0,2,1,5],"span":[6,2,8]},{"path":[4,0,2,1,1],"span":[6,9,18]},{"path":[4,0,2,1,3],"span":[6,21,22]},{"path":[4,0,2,2],"span":[7,2,20]},{"path":[4,0,2,2,5],"span":[7,2,8]},{"path":[4,0,2,2,1],"span":[7,9,15]},{"path":[4,0,2,2,3],"span":[7,18,19]},{"path":[4,0,2,3],"span":[8,2,21]},{"path":[4,0,2,3,5],"span":[8,2,8]},{"path":[4,0,2,3,1],"span":[8,9,16]},{"path":[4,0,2,3,3],"span":[8,19,20]},{"path":[4,1],"span":[11,0,16,1]},{"path":[4,1,1],"span":[11,8,31]},{"path":[4,1,2,0],"span":[12,2,19]},{"path":[4,1,2,0,5],"span":[12,2,6]},{"path":[4,1,2,0,1],"span":[12,7,14]},{"path":[4,1,2,0,3],"span":[12,17,18]},{"path":[4,1,2,1],"span":[13,2,36]},{"path":[4,1,2,1,4],"span":[13,2,10]},{"path":[4,1,2,1,5],"span":[13,11,17]},{"path":[4,1,2,1,1],"span":[13,18,31]},{"path":[4,1,2,1,3],"span":[13,34,35]},{"path":[4,1,2,2],"span":[14,2,34]},{"path":[4,1,2,2,4],"span":[14,2,10]},{"path":[4,1,2,2,5],"span":[14,11,17]},{"path":[4,1,2,2,1],"span":[14,18,29]},{"path":[4,1,2,2,3],"span":[14,32,33]},{"path":[4,1,2,3],"span":[15,2,41]},{"path":[4,1,2,3,4],"span":[15,2,10]},{"path":[4,1,2,3,5],"span":[15,11,17]},{"path":[4,1,2,3,1],"span":[15,18,36]},{"path":[4,1,2,3,3],"span":[15,39,40]},{"path":[4,2],"span":[18,0,22,1]},{"path":[4,2,1],"span":[18,8,33]},{"path":[4,2,2,0],"span":[19,2,20]},{"path":[4,2,2,0,5],"span":[19,2,8]},{"path":[4,2,2,0,1],"span":[19,9,15]},{"path":[4,2,2,0,3],"span":[19,18,19]},{"path":[4,2,2,1],"span":[20,2,20]},{"path":[4,2,2,1,5],"span":[20,2,8]},{"path":[4,2,2,1,1],"span":[20,9,15]},{"path":[4,2,2,1,3],"span":[20,18,19]},{"path":[4,2,2,2],"span":[21,2,30]},{"path":[4,2,2,2,4],"span":[21,2,10]},{"path":[4,2,2,2,5],"span":[21,11,17]},{"path":[4,2,2,2,1],"span":[21,18,25]},{"path":[4,2,2,2,3],"span":[21,28,29]},{"path":[4,3],"span":[24,0,30,1]},{"path":[4,3,1],"span":[24,8,34]},{"path":[4,3,3,0],"span":[25,2,28,3]},{"path":[4,3,3,0,1],"span":[25,10,21]},{"path":[4,3,3,0,2,0],"span":[26,4,38]},{"path":[4,3,3,0,2,0,4],"span":[26,4,12]},{"path":[4,3,3,0,2,0,5],"span":[26,13,19]},{"path":[4,3,3,0,2,0,1],"span":[26,20,33]},{"path":[4,3,3,0,2,0,3],"span":[26,36,37]},{"path":[4,3,3,0,2,1],"span":[27,4,36]},{"path":[4,3,3,0,2,1,4],"span":[27,4,12]},{"path":[4,3,3,0,2,1,5],"span":[27,13,19]},{"path":[4,3,3,0,2,1,1],"span":[27,20,31]},{"path":[4,3,3,0,2,1,3],"span":[27,34,35]},{"path":[4,3,2,0],"span":[29,2,43]},{"path":[4,3,2,0,6],"span":[29,2,26]},{"path":[4,3,2,0,1],"span":[29,27,38]},{"path":[4,3,2,0,3],"span":[29,41,42]},{"path":[6,0],"span":[33,0,36,1]},{"path":[6,0,1],"span":[33,8,30]},{"path":[6,0,2,0],"span":[34,2,83]},{"path":[6,0,2,0,1],"span":[34,6,21]},{"path":[6,0,2,0,2],"span":[34,23,45]},{"path":[6,0,2,0,3],"span":[34,56,79]},{"path":[6,0,2,1],"span":[35,2,92]},{"path":[6,0,2,1,1],"span":[35,6,24]},{"path":[6,0,2,1,2],"span":[35,26,51]},{"path":[6,0,2,1,3],"span":[35,62,88]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]}
|
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
import * as jspb from "google-protobuf";
|
|
8
8
|
|
|
9
9
|
export class CheckPermissionRequest extends jspb.Message {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
getSiteid(): string;
|
|
11
|
+
setSiteid(value: string): CheckPermissionRequest;
|
|
12
|
+
getAccountid(): string;
|
|
13
|
+
setAccountid(value: string): CheckPermissionRequest;
|
|
14
14
|
getAction(): string;
|
|
15
15
|
setAction(value: string): CheckPermissionRequest;
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
getTraceid(): string;
|
|
17
|
+
setTraceid(value: string): CheckPermissionRequest;
|
|
18
18
|
|
|
19
19
|
serializeBinary(): Uint8Array;
|
|
20
20
|
toObject(includeInstance?: boolean): CheckPermissionRequest.AsObject;
|
|
@@ -28,10 +28,10 @@ export class CheckPermissionRequest extends jspb.Message {
|
|
|
28
28
|
|
|
29
29
|
export namespace CheckPermissionRequest {
|
|
30
30
|
export type AsObject = {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
siteid: string,
|
|
32
|
+
accountid: string,
|
|
33
33
|
action: string,
|
|
34
|
-
|
|
34
|
+
traceid: string,
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -42,14 +42,14 @@ export class CheckPermissionResponse extends jspb.Message {
|
|
|
42
42
|
getInstallationsList(): Array<string>;
|
|
43
43
|
setInstallationsList(value: Array<string>): CheckPermissionResponse;
|
|
44
44
|
addInstallations(value: string, index?: number): string;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
clearAssetscopesList(): void;
|
|
46
|
+
getAssetscopesList(): Array<string>;
|
|
47
|
+
setAssetscopesList(value: Array<string>): CheckPermissionResponse;
|
|
48
|
+
addAssetscopes(value: string, index?: number): string;
|
|
49
|
+
clearDerivedpermissionsList(): void;
|
|
50
|
+
getDerivedpermissionsList(): Array<string>;
|
|
51
|
+
setDerivedpermissionsList(value: Array<string>): CheckPermissionResponse;
|
|
52
|
+
addDerivedpermissions(value: string, index?: number): string;
|
|
53
53
|
|
|
54
54
|
serializeBinary(): Uint8Array;
|
|
55
55
|
toObject(includeInstance?: boolean): CheckPermissionResponse.AsObject;
|
|
@@ -65,21 +65,21 @@ export namespace CheckPermissionResponse {
|
|
|
65
65
|
export type AsObject = {
|
|
66
66
|
granted: boolean,
|
|
67
67
|
installationsList: Array<string>,
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
assetscopesList: Array<string>,
|
|
69
|
+
derivedpermissionsList: Array<string>,
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export class GetUserPermissionsRequest extends jspb.Message {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
getUserid(): string;
|
|
75
|
+
setUserid(value: string): GetUserPermissionsRequest;
|
|
76
|
+
getSiteid(): string;
|
|
77
|
+
setSiteid(value: string): GetUserPermissionsRequest;
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
hasTraceid(): boolean;
|
|
80
|
+
clearTraceid(): void;
|
|
81
|
+
getTraceid(): string | undefined;
|
|
82
|
+
setTraceid(value: string): GetUserPermissionsRequest;
|
|
83
83
|
|
|
84
84
|
serializeBinary(): Uint8Array;
|
|
85
85
|
toObject(includeInstance?: boolean): GetUserPermissionsRequest.AsObject;
|
|
@@ -93,9 +93,9 @@ export class GetUserPermissionsRequest extends jspb.Message {
|
|
|
93
93
|
|
|
94
94
|
export namespace GetUserPermissionsRequest {
|
|
95
95
|
export type AsObject = {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
userid: string,
|
|
97
|
+
siteid: string,
|
|
98
|
+
traceid?: string,
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -126,10 +126,10 @@ export namespace GetUserPermissionsResponse {
|
|
|
126
126
|
getInstallationsList(): Array<string>;
|
|
127
127
|
setInstallationsList(value: Array<string>): Permissions;
|
|
128
128
|
addInstallations(value: string, index?: number): string;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
clearAssetscopesList(): void;
|
|
130
|
+
getAssetscopesList(): Array<string>;
|
|
131
|
+
setAssetscopesList(value: Array<string>): Permissions;
|
|
132
|
+
addAssetscopes(value: string, index?: number): string;
|
|
133
133
|
|
|
134
134
|
serializeBinary(): Uint8Array;
|
|
135
135
|
toObject(includeInstance?: boolean): Permissions.AsObject;
|
|
@@ -144,7 +144,7 @@ export namespace GetUserPermissionsResponse {
|
|
|
144
144
|
export namespace Permissions {
|
|
145
145
|
export type AsObject = {
|
|
146
146
|
installationsList: Array<string>,
|
|
147
|
-
|
|
147
|
+
assetscopesList: Array<string>,
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
|
|
@@ -157,10 +157,10 @@ proto.checkpermission.CheckPermissionRequest.prototype.toObject = function(opt_i
|
|
|
157
157
|
*/
|
|
158
158
|
proto.checkpermission.CheckPermissionRequest.toObject = function(includeInstance, msg) {
|
|
159
159
|
var f, obj = {
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
siteid: jspb.Message.getFieldWithDefault(msg, 1, ""),
|
|
161
|
+
accountid: jspb.Message.getFieldWithDefault(msg, 2, ""),
|
|
162
162
|
action: jspb.Message.getFieldWithDefault(msg, 3, ""),
|
|
163
|
-
|
|
163
|
+
traceid: jspb.Message.getFieldWithDefault(msg, 4, "")
|
|
164
164
|
};
|
|
165
165
|
|
|
166
166
|
if (includeInstance) {
|
|
@@ -199,11 +199,11 @@ proto.checkpermission.CheckPermissionRequest.deserializeBinaryFromReader = funct
|
|
|
199
199
|
switch (field) {
|
|
200
200
|
case 1:
|
|
201
201
|
var value = /** @type {string} */ (reader.readString());
|
|
202
|
-
msg.
|
|
202
|
+
msg.setSiteid(value);
|
|
203
203
|
break;
|
|
204
204
|
case 2:
|
|
205
205
|
var value = /** @type {string} */ (reader.readString());
|
|
206
|
-
msg.
|
|
206
|
+
msg.setAccountid(value);
|
|
207
207
|
break;
|
|
208
208
|
case 3:
|
|
209
209
|
var value = /** @type {string} */ (reader.readString());
|
|
@@ -211,7 +211,7 @@ proto.checkpermission.CheckPermissionRequest.deserializeBinaryFromReader = funct
|
|
|
211
211
|
break;
|
|
212
212
|
case 4:
|
|
213
213
|
var value = /** @type {string} */ (reader.readString());
|
|
214
|
-
msg.
|
|
214
|
+
msg.setTraceid(value);
|
|
215
215
|
break;
|
|
216
216
|
default:
|
|
217
217
|
reader.skipField();
|
|
@@ -242,14 +242,14 @@ proto.checkpermission.CheckPermissionRequest.prototype.serializeBinary = functio
|
|
|
242
242
|
*/
|
|
243
243
|
proto.checkpermission.CheckPermissionRequest.serializeBinaryToWriter = function(message, writer) {
|
|
244
244
|
var f = undefined;
|
|
245
|
-
f = message.
|
|
245
|
+
f = message.getSiteid();
|
|
246
246
|
if (f.length > 0) {
|
|
247
247
|
writer.writeString(
|
|
248
248
|
1,
|
|
249
249
|
f
|
|
250
250
|
);
|
|
251
251
|
}
|
|
252
|
-
f = message.
|
|
252
|
+
f = message.getAccountid();
|
|
253
253
|
if (f.length > 0) {
|
|
254
254
|
writer.writeString(
|
|
255
255
|
2,
|
|
@@ -263,7 +263,7 @@ proto.checkpermission.CheckPermissionRequest.serializeBinaryToWriter = function(
|
|
|
263
263
|
f
|
|
264
264
|
);
|
|
265
265
|
}
|
|
266
|
-
f = message.
|
|
266
|
+
f = message.getTraceid();
|
|
267
267
|
if (f.length > 0) {
|
|
268
268
|
writer.writeString(
|
|
269
269
|
4,
|
|
@@ -274,10 +274,10 @@ proto.checkpermission.CheckPermissionRequest.serializeBinaryToWriter = function(
|
|
|
274
274
|
|
|
275
275
|
|
|
276
276
|
/**
|
|
277
|
-
* optional string
|
|
277
|
+
* optional string siteId = 1;
|
|
278
278
|
* @return {string}
|
|
279
279
|
*/
|
|
280
|
-
proto.checkpermission.CheckPermissionRequest.prototype.
|
|
280
|
+
proto.checkpermission.CheckPermissionRequest.prototype.getSiteid = function() {
|
|
281
281
|
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
|
|
282
282
|
};
|
|
283
283
|
|
|
@@ -286,16 +286,16 @@ proto.checkpermission.CheckPermissionRequest.prototype.getSiteId = function() {
|
|
|
286
286
|
* @param {string} value
|
|
287
287
|
* @return {!proto.checkpermission.CheckPermissionRequest} returns this
|
|
288
288
|
*/
|
|
289
|
-
proto.checkpermission.CheckPermissionRequest.prototype.
|
|
289
|
+
proto.checkpermission.CheckPermissionRequest.prototype.setSiteid = function(value) {
|
|
290
290
|
return jspb.Message.setProto3StringField(this, 1, value);
|
|
291
291
|
};
|
|
292
292
|
|
|
293
293
|
|
|
294
294
|
/**
|
|
295
|
-
* optional string
|
|
295
|
+
* optional string accountId = 2;
|
|
296
296
|
* @return {string}
|
|
297
297
|
*/
|
|
298
|
-
proto.checkpermission.CheckPermissionRequest.prototype.
|
|
298
|
+
proto.checkpermission.CheckPermissionRequest.prototype.getAccountid = function() {
|
|
299
299
|
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
|
|
300
300
|
};
|
|
301
301
|
|
|
@@ -304,7 +304,7 @@ proto.checkpermission.CheckPermissionRequest.prototype.getAccountId = function()
|
|
|
304
304
|
* @param {string} value
|
|
305
305
|
* @return {!proto.checkpermission.CheckPermissionRequest} returns this
|
|
306
306
|
*/
|
|
307
|
-
proto.checkpermission.CheckPermissionRequest.prototype.
|
|
307
|
+
proto.checkpermission.CheckPermissionRequest.prototype.setAccountid = function(value) {
|
|
308
308
|
return jspb.Message.setProto3StringField(this, 2, value);
|
|
309
309
|
};
|
|
310
310
|
|
|
@@ -328,10 +328,10 @@ proto.checkpermission.CheckPermissionRequest.prototype.setAction = function(valu
|
|
|
328
328
|
|
|
329
329
|
|
|
330
330
|
/**
|
|
331
|
-
* optional string
|
|
331
|
+
* optional string traceId = 4;
|
|
332
332
|
* @return {string}
|
|
333
333
|
*/
|
|
334
|
-
proto.checkpermission.CheckPermissionRequest.prototype.
|
|
334
|
+
proto.checkpermission.CheckPermissionRequest.prototype.getTraceid = function() {
|
|
335
335
|
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
|
|
336
336
|
};
|
|
337
337
|
|
|
@@ -340,7 +340,7 @@ proto.checkpermission.CheckPermissionRequest.prototype.getTraceId = function() {
|
|
|
340
340
|
* @param {string} value
|
|
341
341
|
* @return {!proto.checkpermission.CheckPermissionRequest} returns this
|
|
342
342
|
*/
|
|
343
|
-
proto.checkpermission.CheckPermissionRequest.prototype.
|
|
343
|
+
proto.checkpermission.CheckPermissionRequest.prototype.setTraceid = function(value) {
|
|
344
344
|
return jspb.Message.setProto3StringField(this, 4, value);
|
|
345
345
|
};
|
|
346
346
|
|
|
@@ -386,8 +386,8 @@ proto.checkpermission.CheckPermissionResponse.toObject = function(includeInstanc
|
|
|
386
386
|
var f, obj = {
|
|
387
387
|
granted: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
|
|
388
388
|
installationsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,
|
|
389
|
-
|
|
390
|
-
|
|
389
|
+
assetscopesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
|
|
390
|
+
derivedpermissionsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f
|
|
391
391
|
};
|
|
392
392
|
|
|
393
393
|
if (includeInstance) {
|
|
@@ -434,11 +434,11 @@ proto.checkpermission.CheckPermissionResponse.deserializeBinaryFromReader = func
|
|
|
434
434
|
break;
|
|
435
435
|
case 3:
|
|
436
436
|
var value = /** @type {string} */ (reader.readString());
|
|
437
|
-
msg.
|
|
437
|
+
msg.addAssetscopes(value);
|
|
438
438
|
break;
|
|
439
439
|
case 4:
|
|
440
440
|
var value = /** @type {string} */ (reader.readString());
|
|
441
|
-
msg.
|
|
441
|
+
msg.addDerivedpermissions(value);
|
|
442
442
|
break;
|
|
443
443
|
default:
|
|
444
444
|
reader.skipField();
|
|
@@ -483,14 +483,14 @@ proto.checkpermission.CheckPermissionResponse.serializeBinaryToWriter = function
|
|
|
483
483
|
f
|
|
484
484
|
);
|
|
485
485
|
}
|
|
486
|
-
f = message.
|
|
486
|
+
f = message.getAssetscopesList();
|
|
487
487
|
if (f.length > 0) {
|
|
488
488
|
writer.writeRepeatedString(
|
|
489
489
|
3,
|
|
490
490
|
f
|
|
491
491
|
);
|
|
492
492
|
}
|
|
493
|
-
f = message.
|
|
493
|
+
f = message.getDerivedpermissionsList();
|
|
494
494
|
if (f.length > 0) {
|
|
495
495
|
writer.writeRepeatedString(
|
|
496
496
|
4,
|
|
@@ -556,10 +556,10 @@ proto.checkpermission.CheckPermissionResponse.prototype.clearInstallationsList =
|
|
|
556
556
|
|
|
557
557
|
|
|
558
558
|
/**
|
|
559
|
-
* repeated string
|
|
559
|
+
* repeated string assetScopes = 3;
|
|
560
560
|
* @return {!Array<string>}
|
|
561
561
|
*/
|
|
562
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
562
|
+
proto.checkpermission.CheckPermissionResponse.prototype.getAssetscopesList = function() {
|
|
563
563
|
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
|
|
564
564
|
};
|
|
565
565
|
|
|
@@ -568,7 +568,7 @@ proto.checkpermission.CheckPermissionResponse.prototype.getAssetScopesList = fun
|
|
|
568
568
|
* @param {!Array<string>} value
|
|
569
569
|
* @return {!proto.checkpermission.CheckPermissionResponse} returns this
|
|
570
570
|
*/
|
|
571
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
571
|
+
proto.checkpermission.CheckPermissionResponse.prototype.setAssetscopesList = function(value) {
|
|
572
572
|
return jspb.Message.setField(this, 3, value || []);
|
|
573
573
|
};
|
|
574
574
|
|
|
@@ -578,7 +578,7 @@ proto.checkpermission.CheckPermissionResponse.prototype.setAssetScopesList = fun
|
|
|
578
578
|
* @param {number=} opt_index
|
|
579
579
|
* @return {!proto.checkpermission.CheckPermissionResponse} returns this
|
|
580
580
|
*/
|
|
581
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
581
|
+
proto.checkpermission.CheckPermissionResponse.prototype.addAssetscopes = function(value, opt_index) {
|
|
582
582
|
return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
|
|
583
583
|
};
|
|
584
584
|
|
|
@@ -587,16 +587,16 @@ proto.checkpermission.CheckPermissionResponse.prototype.addAssetScopes = functio
|
|
|
587
587
|
* Clears the list making it empty but non-null.
|
|
588
588
|
* @return {!proto.checkpermission.CheckPermissionResponse} returns this
|
|
589
589
|
*/
|
|
590
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
591
|
-
return this.
|
|
590
|
+
proto.checkpermission.CheckPermissionResponse.prototype.clearAssetscopesList = function() {
|
|
591
|
+
return this.setAssetscopesList([]);
|
|
592
592
|
};
|
|
593
593
|
|
|
594
594
|
|
|
595
595
|
/**
|
|
596
|
-
* repeated string
|
|
596
|
+
* repeated string derivedPermissions = 4;
|
|
597
597
|
* @return {!Array<string>}
|
|
598
598
|
*/
|
|
599
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
599
|
+
proto.checkpermission.CheckPermissionResponse.prototype.getDerivedpermissionsList = function() {
|
|
600
600
|
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));
|
|
601
601
|
};
|
|
602
602
|
|
|
@@ -605,7 +605,7 @@ proto.checkpermission.CheckPermissionResponse.prototype.getDerivedPermissionsLis
|
|
|
605
605
|
* @param {!Array<string>} value
|
|
606
606
|
* @return {!proto.checkpermission.CheckPermissionResponse} returns this
|
|
607
607
|
*/
|
|
608
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
608
|
+
proto.checkpermission.CheckPermissionResponse.prototype.setDerivedpermissionsList = function(value) {
|
|
609
609
|
return jspb.Message.setField(this, 4, value || []);
|
|
610
610
|
};
|
|
611
611
|
|
|
@@ -615,7 +615,7 @@ proto.checkpermission.CheckPermissionResponse.prototype.setDerivedPermissionsLis
|
|
|
615
615
|
* @param {number=} opt_index
|
|
616
616
|
* @return {!proto.checkpermission.CheckPermissionResponse} returns this
|
|
617
617
|
*/
|
|
618
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
618
|
+
proto.checkpermission.CheckPermissionResponse.prototype.addDerivedpermissions = function(value, opt_index) {
|
|
619
619
|
return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
|
|
620
620
|
};
|
|
621
621
|
|
|
@@ -624,8 +624,8 @@ proto.checkpermission.CheckPermissionResponse.prototype.addDerivedPermissions =
|
|
|
624
624
|
* Clears the list making it empty but non-null.
|
|
625
625
|
* @return {!proto.checkpermission.CheckPermissionResponse} returns this
|
|
626
626
|
*/
|
|
627
|
-
proto.checkpermission.CheckPermissionResponse.prototype.
|
|
628
|
-
return this.
|
|
627
|
+
proto.checkpermission.CheckPermissionResponse.prototype.clearDerivedpermissionsList = function() {
|
|
628
|
+
return this.setDerivedpermissionsList([]);
|
|
629
629
|
};
|
|
630
630
|
|
|
631
631
|
|
|
@@ -661,9 +661,9 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.toObject = function(op
|
|
|
661
661
|
*/
|
|
662
662
|
proto.checkpermission.GetUserPermissionsRequest.toObject = function(includeInstance, msg) {
|
|
663
663
|
var f, obj = {
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
664
|
+
userid: jspb.Message.getFieldWithDefault(msg, 1, ""),
|
|
665
|
+
siteid: jspb.Message.getFieldWithDefault(msg, 2, ""),
|
|
666
|
+
traceid: jspb.Message.getFieldWithDefault(msg, 3, "")
|
|
667
667
|
};
|
|
668
668
|
|
|
669
669
|
if (includeInstance) {
|
|
@@ -702,15 +702,15 @@ proto.checkpermission.GetUserPermissionsRequest.deserializeBinaryFromReader = fu
|
|
|
702
702
|
switch (field) {
|
|
703
703
|
case 1:
|
|
704
704
|
var value = /** @type {string} */ (reader.readString());
|
|
705
|
-
msg.
|
|
705
|
+
msg.setUserid(value);
|
|
706
706
|
break;
|
|
707
707
|
case 2:
|
|
708
708
|
var value = /** @type {string} */ (reader.readString());
|
|
709
|
-
msg.
|
|
709
|
+
msg.setSiteid(value);
|
|
710
710
|
break;
|
|
711
711
|
case 3:
|
|
712
712
|
var value = /** @type {string} */ (reader.readString());
|
|
713
|
-
msg.
|
|
713
|
+
msg.setTraceid(value);
|
|
714
714
|
break;
|
|
715
715
|
default:
|
|
716
716
|
reader.skipField();
|
|
@@ -741,14 +741,14 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.serializeBinary = func
|
|
|
741
741
|
*/
|
|
742
742
|
proto.checkpermission.GetUserPermissionsRequest.serializeBinaryToWriter = function(message, writer) {
|
|
743
743
|
var f = undefined;
|
|
744
|
-
f = message.
|
|
744
|
+
f = message.getUserid();
|
|
745
745
|
if (f.length > 0) {
|
|
746
746
|
writer.writeString(
|
|
747
747
|
1,
|
|
748
748
|
f
|
|
749
749
|
);
|
|
750
750
|
}
|
|
751
|
-
f = message.
|
|
751
|
+
f = message.getSiteid();
|
|
752
752
|
if (f.length > 0) {
|
|
753
753
|
writer.writeString(
|
|
754
754
|
2,
|
|
@@ -766,10 +766,10 @@ proto.checkpermission.GetUserPermissionsRequest.serializeBinaryToWriter = functi
|
|
|
766
766
|
|
|
767
767
|
|
|
768
768
|
/**
|
|
769
|
-
* optional string
|
|
769
|
+
* optional string userId = 1;
|
|
770
770
|
* @return {string}
|
|
771
771
|
*/
|
|
772
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
772
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.getUserid = function() {
|
|
773
773
|
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
|
|
774
774
|
};
|
|
775
775
|
|
|
@@ -778,16 +778,16 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.getUserId = function()
|
|
|
778
778
|
* @param {string} value
|
|
779
779
|
* @return {!proto.checkpermission.GetUserPermissionsRequest} returns this
|
|
780
780
|
*/
|
|
781
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
781
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.setUserid = function(value) {
|
|
782
782
|
return jspb.Message.setProto3StringField(this, 1, value);
|
|
783
783
|
};
|
|
784
784
|
|
|
785
785
|
|
|
786
786
|
/**
|
|
787
|
-
* optional string
|
|
787
|
+
* optional string siteId = 2;
|
|
788
788
|
* @return {string}
|
|
789
789
|
*/
|
|
790
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
790
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.getSiteid = function() {
|
|
791
791
|
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
|
|
792
792
|
};
|
|
793
793
|
|
|
@@ -796,16 +796,16 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.getSiteId = function()
|
|
|
796
796
|
* @param {string} value
|
|
797
797
|
* @return {!proto.checkpermission.GetUserPermissionsRequest} returns this
|
|
798
798
|
*/
|
|
799
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
799
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.setSiteid = function(value) {
|
|
800
800
|
return jspb.Message.setProto3StringField(this, 2, value);
|
|
801
801
|
};
|
|
802
802
|
|
|
803
803
|
|
|
804
804
|
/**
|
|
805
|
-
* optional string
|
|
805
|
+
* optional string traceId = 3;
|
|
806
806
|
* @return {string}
|
|
807
807
|
*/
|
|
808
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
808
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.getTraceid = function() {
|
|
809
809
|
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
|
|
810
810
|
};
|
|
811
811
|
|
|
@@ -814,7 +814,7 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.getTraceId = function(
|
|
|
814
814
|
* @param {string} value
|
|
815
815
|
* @return {!proto.checkpermission.GetUserPermissionsRequest} returns this
|
|
816
816
|
*/
|
|
817
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
817
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.setTraceid = function(value) {
|
|
818
818
|
return jspb.Message.setField(this, 3, value);
|
|
819
819
|
};
|
|
820
820
|
|
|
@@ -823,7 +823,7 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.setTraceId = function(
|
|
|
823
823
|
* Clears the field making it undefined.
|
|
824
824
|
* @return {!proto.checkpermission.GetUserPermissionsRequest} returns this
|
|
825
825
|
*/
|
|
826
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
826
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.clearTraceid = function() {
|
|
827
827
|
return jspb.Message.setField(this, 3, undefined);
|
|
828
828
|
};
|
|
829
829
|
|
|
@@ -832,7 +832,7 @@ proto.checkpermission.GetUserPermissionsRequest.prototype.clearTraceId = functio
|
|
|
832
832
|
* Returns whether this field is set.
|
|
833
833
|
* @return {boolean}
|
|
834
834
|
*/
|
|
835
|
-
proto.checkpermission.GetUserPermissionsRequest.prototype.
|
|
835
|
+
proto.checkpermission.GetUserPermissionsRequest.prototype.hasTraceid = function() {
|
|
836
836
|
return jspb.Message.getField(this, 3) != null;
|
|
837
837
|
};
|
|
838
838
|
|
|
@@ -988,7 +988,7 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.toObject
|
|
|
988
988
|
proto.checkpermission.GetUserPermissionsResponse.Permissions.toObject = function(includeInstance, msg) {
|
|
989
989
|
var f, obj = {
|
|
990
990
|
installationsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,
|
|
991
|
-
|
|
991
|
+
assetscopesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
|
|
992
992
|
};
|
|
993
993
|
|
|
994
994
|
if (includeInstance) {
|
|
@@ -1031,7 +1031,7 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.deserializeBinaryFr
|
|
|
1031
1031
|
break;
|
|
1032
1032
|
case 2:
|
|
1033
1033
|
var value = /** @type {string} */ (reader.readString());
|
|
1034
|
-
msg.
|
|
1034
|
+
msg.addAssetscopes(value);
|
|
1035
1035
|
break;
|
|
1036
1036
|
default:
|
|
1037
1037
|
reader.skipField();
|
|
@@ -1069,7 +1069,7 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.serializeBinaryToWr
|
|
|
1069
1069
|
f
|
|
1070
1070
|
);
|
|
1071
1071
|
}
|
|
1072
|
-
f = message.
|
|
1072
|
+
f = message.getAssetscopesList();
|
|
1073
1073
|
if (f.length > 0) {
|
|
1074
1074
|
writer.writeRepeatedString(
|
|
1075
1075
|
2,
|
|
@@ -1117,10 +1117,10 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.clearInst
|
|
|
1117
1117
|
|
|
1118
1118
|
|
|
1119
1119
|
/**
|
|
1120
|
-
* repeated string
|
|
1120
|
+
* repeated string assetScopes = 2;
|
|
1121
1121
|
* @return {!Array<string>}
|
|
1122
1122
|
*/
|
|
1123
|
-
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.
|
|
1123
|
+
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.getAssetscopesList = function() {
|
|
1124
1124
|
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
|
|
1125
1125
|
};
|
|
1126
1126
|
|
|
@@ -1129,7 +1129,7 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.getAssetS
|
|
|
1129
1129
|
* @param {!Array<string>} value
|
|
1130
1130
|
* @return {!proto.checkpermission.GetUserPermissionsResponse.Permissions} returns this
|
|
1131
1131
|
*/
|
|
1132
|
-
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.
|
|
1132
|
+
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.setAssetscopesList = function(value) {
|
|
1133
1133
|
return jspb.Message.setField(this, 2, value || []);
|
|
1134
1134
|
};
|
|
1135
1135
|
|
|
@@ -1139,7 +1139,7 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.setAssetS
|
|
|
1139
1139
|
* @param {number=} opt_index
|
|
1140
1140
|
* @return {!proto.checkpermission.GetUserPermissionsResponse.Permissions} returns this
|
|
1141
1141
|
*/
|
|
1142
|
-
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.
|
|
1142
|
+
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.addAssetscopes = function(value, opt_index) {
|
|
1143
1143
|
return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
|
|
1144
1144
|
};
|
|
1145
1145
|
|
|
@@ -1148,8 +1148,8 @@ proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.addAssetS
|
|
|
1148
1148
|
* Clears the list making it empty but non-null.
|
|
1149
1149
|
* @return {!proto.checkpermission.GetUserPermissionsResponse.Permissions} returns this
|
|
1150
1150
|
*/
|
|
1151
|
-
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.
|
|
1152
|
-
return this.
|
|
1151
|
+
proto.checkpermission.GetUserPermissionsResponse.Permissions.prototype.clearAssetscopesList = function() {
|
|
1152
|
+
return this.setAssetscopesList([]);
|
|
1153
1153
|
};
|
|
1154
1154
|
|
|
1155
1155
|
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lansweeper/permissions-grpc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "Permissions grpc",
|
|
5
5
|
"main": "gen-proto/index.js",
|
|
6
6
|
"types": "gen-proto/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@grpc/grpc-js": "^1.
|
|
9
|
+
"@grpc/grpc-js": "^1.4.4",
|
|
10
10
|
"google-protobuf": "^3.17.0"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@types/google-protobuf": "^3.15.5"
|
|
14
14
|
},
|
|
15
|
-
"gitHead": "
|
|
15
|
+
"gitHead": "ff3494c1c61da7a7611ea8490739b3395d5ee792"
|
|
16
16
|
}
|
package/proto/permissions.proto
CHANGED
|
@@ -3,29 +3,29 @@ syntax = "proto3";
|
|
|
3
3
|
package checkpermission;
|
|
4
4
|
|
|
5
5
|
message CheckPermissionRequest {
|
|
6
|
-
string
|
|
7
|
-
string
|
|
6
|
+
string siteId = 1;
|
|
7
|
+
string accountId = 2;
|
|
8
8
|
string action = 3;
|
|
9
|
-
string
|
|
9
|
+
string traceId = 4;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
message CheckPermissionResponse {
|
|
13
13
|
bool granted = 1;
|
|
14
14
|
repeated string installations = 2;
|
|
15
|
-
repeated string
|
|
16
|
-
repeated string
|
|
15
|
+
repeated string assetScopes = 3;
|
|
16
|
+
repeated string derivedPermissions = 4;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
message GetUserPermissionsRequest {
|
|
20
|
-
string
|
|
21
|
-
string
|
|
22
|
-
optional string
|
|
20
|
+
string userId = 1;
|
|
21
|
+
string siteId = 2;
|
|
22
|
+
optional string traceId = 3;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
message GetUserPermissionsResponse {
|
|
26
26
|
message Permissions {
|
|
27
27
|
repeated string installations = 1;
|
|
28
|
-
repeated string
|
|
28
|
+
repeated string assetScopes = 2;
|
|
29
29
|
}
|
|
30
30
|
map<string, Permissions> permissions = 1;
|
|
31
31
|
}
|