diff --git a/Makefile b/Makefile index dfca8fc..48509b6 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ PROTOFILES := $(shell find protobufs -name "*.proto") PYTHON_FILES := $(subst $(PROTODIR), $(PYTHONDIR),$(subst .proto,_pb2.py,$(PROTOFILES))) LOCAL_USER_ID := $(shell id -u) CONTAINER_DIR := /tmp/working -ZENKIT_BUILD_VERSION := 1.18.0 +ZENKIT_BUILD_VERSION := 1.19.2 BUILD_IMG := zenoss/zenkit-build:$(ZENKIT_BUILD_VERSION) DOCKER_NETWORK = host DOCKER_PARAMS := --rm -v $(ROOTDIR):$(CONTAINER_DIR):rw \ diff --git a/descriptors/image.json b/descriptors/image.json index 71712bc..3a41293 100644 --- a/descriptors/image.json +++ b/descriptors/image.json @@ -1 +1 @@ -{"file":[{"name":"zenoss/cloud/collection_cfg.proto","package":"zenoss.cloud.collection_cfg","messageType":[{"name":"Config","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"tenant","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"tenant"},{"name":"configuration","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.Configuration","jsonName":"configuration"}],"reservedRange":[{"start":4,"end":5}]},{"name":"Configuration","field":[{"name":"type","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"data"}]},{"name":"ProbeSuccess"},{"name":"ProbeError","field":[{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"description","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"field_errors","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.FieldError","jsonName":"fieldErrors"}]},{"name":"FieldError","field":[{"name":"field","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"field"},{"name":"description","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"}]},{"name":"ProbeResult","field":[{"name":"success","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.ProbeSuccess","oneofIndex":0,"jsonName":"success"},{"name":"error","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.ProbeError","oneofIndex":0,"jsonName":"error"}],"oneofDecl":[{"name":"result"}]},{"name":"WaitForProbeConfigRequest","field":[{"name":"configuration","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.Config","jsonName":"configuration"},{"name":"deadline","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"deadline"}]},{"name":"WaitForProbeConfigResponse","field":[{"name":"config_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"configId"},{"name":"result","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.ProbeResult","jsonName":"result"}]},{"name":"GetConfigStreamRequest"},{"name":"GetConfigStreamResponse","field":[{"name":"configuration","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.Config","jsonName":"configuration"}]}],"service":[{"name":"CollectionConfigService","method":[{"name":"WaitForProbeConfig","inputType":".zenoss.cloud.collection_cfg.WaitForProbeConfigResponse","outputType":".zenoss.cloud.collection_cfg.WaitForProbeConfigRequest","options":{},"clientStreaming":true,"serverStreaming":true},{"name":"GetConfigStream","inputType":".zenoss.cloud.collection_cfg.GetConfigStreamRequest","outputType":".zenoss.cloud.collection_cfg.GetConfigStreamResponse","options":{},"serverStreaming":true}]}],"options":{"javaPackage":"org.zenoss.cloud.collection","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/collection"},"sourceCodeInfo":{"location":[{"span":[0,0,65,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,36]},{"path":[8],"span":[4,0,77]},{"path":[8,11],"span":[4,0,77]},{"path":[8],"span":[5,0,34]},{"path":[8,10],"span":[5,0,34]},{"path":[8],"span":[6,0,52]},{"path":[8,1],"span":[6,0,52]},{"path":[6,0],"span":[10,0,13,1],"leadingComments":" CollectionConfigService is the gRPC & HTTP service responsible for managing\n collection configurations.\n"},{"path":[6,0,1],"span":[10,8,31]},{"path":[6,0,2,0],"span":[11,2,105]},{"path":[6,0,2,0,1],"span":[11,6,24]},{"path":[6,0,2,0,5],"span":[11,25,31]},{"path":[6,0,2,0,2],"span":[11,32,58]},{"path":[6,0,2,0,6],"span":[11,69,75]},{"path":[6,0,2,0,3],"span":[11,76,101]},{"path":[6,0,2,1],"span":[12,2,89]},{"path":[6,0,2,1,1],"span":[12,6,21]},{"path":[6,0,2,1,2],"span":[12,22,44]},{"path":[6,0,2,1,6],"span":[12,55,61]},{"path":[6,0,2,1,3],"span":[12,62,85]},{"path":[4,0],"span":[15,0,22,1]},{"path":[4,0,1],"span":[15,8,14]},{"path":[4,0,2,0],"span":[16,2,16]},{"path":[4,0,2,0,5],"span":[16,2,8]},{"path":[4,0,2,0,1],"span":[16,9,11]},{"path":[4,0,2,0,3],"span":[16,14,15]},{"path":[4,0,2,1],"span":[17,2,18]},{"path":[4,0,2,1,5],"span":[17,2,8]},{"path":[4,0,2,1,1],"span":[17,9,13]},{"path":[4,0,2,1,3],"span":[17,16,17]},{"path":[4,0,2,2],"span":[18,2,20]},{"path":[4,0,2,2,5],"span":[18,2,8]},{"path":[4,0,2,2,1],"span":[18,9,15]},{"path":[4,0,2,2,3],"span":[18,18,19]},{"path":[4,0,2,3],"span":[19,2,34]},{"path":[4,0,2,3,6],"span":[19,2,15]},{"path":[4,0,2,3,1],"span":[19,16,29]},{"path":[4,0,2,3,3],"span":[19,32,33]},{"path":[4,0,9],"span":[21,2,13]},{"path":[4,0,9,0],"span":[21,11,12]},{"path":[4,0,9,0,1],"span":[21,11,12]},{"path":[4,0,9,0,2],"span":[21,11,12]},{"path":[4,1],"span":[24,0,27,1]},{"path":[4,1,1],"span":[24,8,21]},{"path":[4,1,2,0],"span":[25,2,18]},{"path":[4,1,2,0,5],"span":[25,2,8]},{"path":[4,1,2,0,1],"span":[25,9,13]},{"path":[4,1,2,0,3],"span":[25,16,17]},{"path":[4,1,2,1],"span":[26,2,18]},{"path":[4,1,2,1,5],"span":[26,2,8]},{"path":[4,1,2,1,1],"span":[26,9,13]},{"path":[4,1,2,1,3],"span":[26,16,17]},{"path":[4,2],"span":[29,0,23]},{"path":[4,2,1],"span":[29,8,20]},{"path":[4,3],"span":[31,0,37,1]},{"path":[4,3,1],"span":[31,8,18]},{"path":[4,3,2,0],"span":[33,2,21],"leadingComments":" message is a short human-friendly text. Can be empty.\n"},{"path":[4,3,2,0,5],"span":[33,2,8]},{"path":[4,3,2,0,1],"span":[33,9,16]},{"path":[4,3,2,0,3],"span":[33,19,20]},{"path":[4,3,2,1],"span":[35,2,25],"leadingComments":" description is a parsed API error. Usually long and technical.\n"},{"path":[4,3,2,1,5],"span":[35,2,8]},{"path":[4,3,2,1,1],"span":[35,9,20]},{"path":[4,3,2,1,3],"span":[35,23,24]},{"path":[4,3,2,2],"span":[36,2,39]},{"path":[4,3,2,2,4],"span":[36,2,10]},{"path":[4,3,2,2,6],"span":[36,11,21]},{"path":[4,3,2,2,1],"span":[36,22,34]},{"path":[4,3,2,2,3],"span":[36,37,38]},{"path":[4,4],"span":[39,0,42,1]},{"path":[4,4,1],"span":[39,8,18]},{"path":[4,4,2,0],"span":[40,2,19]},{"path":[4,4,2,0,5],"span":[40,2,8]},{"path":[4,4,2,0,1],"span":[40,9,14]},{"path":[4,4,2,0,3],"span":[40,17,18]},{"path":[4,4,2,1],"span":[41,2,25]},{"path":[4,4,2,1,5],"span":[41,2,8]},{"path":[4,4,2,1,1],"span":[41,9,20]},{"path":[4,4,2,1,3],"span":[41,23,24]},{"path":[4,5],"span":[44,0,49,1]},{"path":[4,5,1],"span":[44,8,19]},{"path":[4,5,8,0],"span":[45,2,48,3]},{"path":[4,5,8,0,1],"span":[45,8,14]},{"path":[4,5,2,0],"span":[46,4,29]},{"path":[4,5,2,0,6],"span":[46,4,16]},{"path":[4,5,2,0,1],"span":[46,17,24]},{"path":[4,5,2,0,3],"span":[46,27,28]},{"path":[4,5,2,1],"span":[47,4,25]},{"path":[4,5,2,1,6],"span":[47,4,14]},{"path":[4,5,2,1,1],"span":[47,15,20]},{"path":[4,5,2,1,3],"span":[47,23,24]},{"path":[4,6],"span":[51,0,54,1]},{"path":[4,6,1],"span":[51,8,33]},{"path":[4,6,2,0],"span":[52,2,27]},{"path":[4,6,2,0,6],"span":[52,2,8]},{"path":[4,6,2,0,1],"span":[52,9,22]},{"path":[4,6,2,0,3],"span":[52,25,26]},{"path":[4,6,2,1],"span":[53,2,21]},{"path":[4,6,2,1,5],"span":[53,2,7]},{"path":[4,6,2,1,1],"span":[53,8,16]},{"path":[4,6,2,1,3],"span":[53,19,20]},{"path":[4,7],"span":[56,0,59,1]},{"path":[4,7,1],"span":[56,8,34]},{"path":[4,7,2,0],"span":[57,2,23]},{"path":[4,7,2,0,5],"span":[57,2,8]},{"path":[4,7,2,0,1],"span":[57,9,18]},{"path":[4,7,2,0,3],"span":[57,21,22]},{"path":[4,7,2,1],"span":[58,2,25]},{"path":[4,7,2,1,6],"span":[58,2,13]},{"path":[4,7,2,1,1],"span":[58,14,20]},{"path":[4,7,2,1,3],"span":[58,23,24]},{"path":[4,8],"span":[61,0,33]},{"path":[4,8,1],"span":[61,8,30]},{"path":[4,9],"span":[63,0,65,1]},{"path":[4,9,1],"span":[63,8,31]},{"path":[4,9,2,0],"span":[64,2,36]},{"path":[4,9,2,0,4],"span":[64,2,10]},{"path":[4,9,2,0,6],"span":[64,11,17]},{"path":[4,9,2,0,1],"span":[64,18,31]},{"path":[4,9,2,0,3],"span":[64,34,35]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"google/api/http.proto","package":"google.api","messageType":[{"name":"Http","field":[{"name":"rules","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.api.HttpRule","jsonName":"rules"},{"name":"fully_decode_reserved_expansion","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"fullyDecodeReservedExpansion"}]},{"name":"HttpRule","field":[{"name":"selector","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"selector"},{"name":"get","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"get"},{"name":"put","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"put"},{"name":"post","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"post"},{"name":"delete","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"delete"},{"name":"patch","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"patch"},{"name":"custom","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.api.CustomHttpPattern","oneofIndex":0,"jsonName":"custom"},{"name":"body","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"body"},{"name":"response_body","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"responseBody"},{"name":"additional_bindings","number":11,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.api.HttpRule","jsonName":"additionalBindings"}],"oneofDecl":[{"name":"pattern"}]},{"name":"CustomHttpPattern","field":[{"name":"kind","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"kind"},{"name":"path","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"path"}]}],"options":{"javaPackage":"com.google.api","javaOuterClassname":"HttpProto","javaMultipleFiles":true,"goPackage":"google.golang.org/genproto/googleapis/api/annotations;annotations","ccEnableArenas":true,"objcClassPrefix":"GAPI"},"sourceCodeInfo":{"location":[{"span":[14,0,374,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2015 Google LLC\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"]},{"path":[2],"span":[16,0,19]},{"path":[8],"span":[18,0,31]},{"path":[8,31],"span":[18,0,31]},{"path":[8],"span":[19,0,88]},{"path":[8,11],"span":[19,0,88]},{"path":[8],"span":[20,0,34]},{"path":[8,10],"span":[20,0,34]},{"path":[8],"span":[21,0,42]},{"path":[8,8],"span":[21,0,42]},{"path":[8],"span":[22,0,39]},{"path":[8,1],"span":[22,0,39]},{"path":[8],"span":[23,0,34]},{"path":[8,36],"span":[23,0,34]},{"path":[4,0],"span":[28,0,41,1],"leadingComments":" Defines the HTTP configuration for an API service. It contains a list of\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n to one or more HTTP REST API methods.\n"},{"path":[4,0,1],"span":[28,8,12]},{"path":[4,0,2,0],"span":[32,2,30],"leadingComments":" A list of HTTP configuration rules that apply to individual API methods.\n\n **NOTE:** All service configuration rules follow \"last one wins\" order.\n"},{"path":[4,0,2,0,4],"span":[32,2,10]},{"path":[4,0,2,0,6],"span":[32,11,19]},{"path":[4,0,2,0,1],"span":[32,20,25]},{"path":[4,0,2,0,3],"span":[32,28,29]},{"path":[4,0,2,1],"span":[40,2,43],"leadingComments":" When set to true, URL path parameters will be fully URI-decoded except in\n cases of single segment matches in reserved expansion, where \"%2F\" will be\n left encoded.\n\n The default behavior is to not decode RFC 6570 reserved characters in multi\n segment matches.\n"},{"path":[4,0,2,1,5],"span":[40,2,6]},{"path":[4,0,2,1,1],"span":[40,7,38]},{"path":[4,0,2,1,3],"span":[40,41,42]},{"path":[4,1],"span":[312,0,365,1],"leadingComments":" # gRPC Transcoding\n\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\n more HTTP REST endpoints. It allows developers to build a single API service\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\n APIs](https://github.com/googleapis/googleapis),\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\n and use it for large scale production services.\n\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\n how different portions of the gRPC request message are mapped to the URL\n path, URL query parameters, and HTTP request body. It also controls how the\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\n typically specified as an `google.api.http` annotation on the gRPC method.\n\n Each mapping specifies a URL path template and an HTTP method. The path\n template may refer to one or more fields in the gRPC request message, as long\n as each field is a non-repeated field with a primitive (non-message) type.\n The path template controls how fields of the request message are mapped to\n the URL path.\n\n Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/{name=messages/*}\"\n };\n }\n }\n message GetMessageRequest {\n string name = 1; // Mapped to URL path.\n }\n message Message {\n string text = 1; // The resource content.\n }\n\n This enables an HTTP REST to gRPC mapping as below:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")`\n\n Any fields in the request message which are not bound by the path template\n automatically become HTTP query parameters if there is no HTTP request body.\n For example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get:\"/v1/messages/{message_id}\"\n };\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // Mapped to URL path.\n int64 revision = 2; // Mapped to URL query parameter `revision`.\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\n }\n\n This enables a HTTP JSON to RPC mapping as below:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456?revision=2&sub.subfield=foo` |\n `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield:\n \"foo\"))`\n\n Note that fields which are mapped to URL query parameters must have a\n primitive type or a repeated primitive type or a non-repeated message type.\n In the case of a repeated type, the parameter can be repeated in the URL\n as `...?param=A¶m=B`. In the case of a message type, each field of the\n message is mapped to a separate parameter, such as\n `...?foo.a=A&foo.b=B&foo.c=C`.\n\n For HTTP methods that allow a request body, the `body` field\n specifies the mapping. Consider a REST update method on the\n message resource collection:\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n The following HTTP JSON to RPC mapping is enabled, where the\n representation of the JSON in the request body is determined by\n protos JSON encoding:\n\n HTTP | gRPC\n -----|-----\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n \"123456\" message { text: \"Hi!\" })`\n\n The special name `*` can be used in the body mapping to define that\n every field not bound by the path template should be mapped to the\n request body. This enables the following alternative definition of\n the update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\n The following HTTP JSON to RPC mapping is enabled:\n\n HTTP | gRPC\n -----|-----\n `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id:\n \"123456\" text: \"Hi!\")`\n\n Note that when using `*` in the body mapping, it is not possible to\n have HTTP parameters, as all fields not bound by the path end in\n the body. This makes this option more rarely used in practice when\n defining REST APIs. The common usage of `*` is in custom methods\n which don't use the URL at all for transferring data.\n\n It is possible to define multiple HTTP methods for one RPC by using\n the `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n This enables the following two alternative HTTP JSON to RPC mappings:\n\n HTTP | gRPC\n -----|-----\n `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")`\n `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id:\n \"123456\")`\n\n ## Rules for HTTP mapping\n\n 1. Leaf request fields (recursive expansion nested messages in the request\n message) are classified into three categories:\n - Fields referred by the path template. They are passed via the URL path.\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP\n request body.\n - All other fields are passed via the URL query parameters, and the\n parameter name is the field path in the request message. A repeated\n field can be represented as multiple query parameters under the same\n name.\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL query parameter, all fields\n are passed via URL path and HTTP request body.\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all\n fields are passed via URL path and URL query parameters.\n\n ### Path template syntax\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\n The syntax `*` matches a single URL path segment. The syntax `**` matches\n zero or more URL path segments, which must be the last part of the URL path\n except the `Verb`.\n\n The syntax `Variable` matches part of the URL path as specified by its\n template. A variable template must not contain other variables. If a variable\n matches a single path segment, its template may be omitted, e.g. `{var}`\n is equivalent to `{var=*}`.\n\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\n contains any reserved character, such characters should be percent-encoded\n before the matching.\n\n If a variable contains exactly one path segment, such as `\"{var}\"` or\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\n server side does the reverse decoding. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{var}`.\n\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\n unchanged. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{+var}`.\n\n ## Using gRPC API Service Configuration\n\n gRPC API Service Configuration (service config) is a configuration language\n for configuring a gRPC service to become a user-facing product. The\n service config is simply the YAML representation of the `google.api.Service`\n proto message.\n\n As an alternative to annotating your proto file, you can configure gRPC\n transcoding in your service config YAML files. You do this by specifying a\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\n effect as the proto annotation. This can be particularly useful if you\n have a proto that is reused in multiple services. Note that any transcoding\n specified in the service config will override any matching transcoding\n configuration in the proto.\n\n Example:\n\n http:\n rules:\n # Selects a gRPC method and applies HttpRule to it.\n - selector: example.v1.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\n ## Special notes\n\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\n proto to JSON conversion must follow the [proto3\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\n While the single segment variable follows the semantics of\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\n does not expand special characters like `?` and `#`, which would lead\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\n for multi segment variables.\n\n The path variables **must not** refer to any repeated or mapped field,\n because client libraries are not capable of handling such variable expansion.\n\n The path variables **must not** capture the leading \"/\" character. The reason\n is that the most common use case \"{var}\" does not capture the leading \"/\"\n character. For consistency, all path variables must share the same behavior.\n\n Repeated message fields must not be mapped to URL query parameters, because\n no client library can support such complicated mapping.\n\n If an API needs to use a JSON array for request or response body, it can map\n the request or response body to a repeated field. However, some gRPC\n Transcoding implementations may not support this feature.\n"},{"path":[4,1,1],"span":[312,8,16]},{"path":[4,1,2,0],"span":[316,2,22],"leadingComments":" Selects a method to which this rule applies.\n\n Refer to [selector][google.api.DocumentationRule.selector] for syntax details.\n"},{"path":[4,1,2,0,5],"span":[316,2,8]},{"path":[4,1,2,0,1],"span":[316,9,17]},{"path":[4,1,2,0,3],"span":[316,20,21]},{"path":[4,1,8,0],"span":[321,2,343,3],"leadingComments":" Determines the URL pattern is matched by this rules. This pattern can be\n used with any of the {get|put|post|delete|patch} methods. A custom method\n can be defined using the 'custom' field.\n"},{"path":[4,1,8,0,1],"span":[321,8,15]},{"path":[4,1,2,1],"span":[324,4,19],"leadingComments":" Maps to HTTP GET. Used for listing and getting information about\n resources.\n"},{"path":[4,1,2,1,5],"span":[324,4,10]},{"path":[4,1,2,1,1],"span":[324,11,14]},{"path":[4,1,2,1,3],"span":[324,17,18]},{"path":[4,1,2,2],"span":[327,4,19],"leadingComments":" Maps to HTTP PUT. Used for replacing a resource.\n"},{"path":[4,1,2,2,5],"span":[327,4,10]},{"path":[4,1,2,2,1],"span":[327,11,14]},{"path":[4,1,2,2,3],"span":[327,17,18]},{"path":[4,1,2,3],"span":[330,4,20],"leadingComments":" Maps to HTTP POST. Used for creating a resource or performing an action.\n"},{"path":[4,1,2,3,5],"span":[330,4,10]},{"path":[4,1,2,3,1],"span":[330,11,15]},{"path":[4,1,2,3,3],"span":[330,18,19]},{"path":[4,1,2,4],"span":[333,4,22],"leadingComments":" Maps to HTTP DELETE. Used for deleting a resource.\n"},{"path":[4,1,2,4,5],"span":[333,4,10]},{"path":[4,1,2,4,1],"span":[333,11,17]},{"path":[4,1,2,4,3],"span":[333,20,21]},{"path":[4,1,2,5],"span":[336,4,21],"leadingComments":" Maps to HTTP PATCH. Used for updating a resource.\n"},{"path":[4,1,2,5,5],"span":[336,4,10]},{"path":[4,1,2,5,1],"span":[336,11,16]},{"path":[4,1,2,5,3],"span":[336,19,20]},{"path":[4,1,2,6],"span":[342,4,33],"leadingComments":" The custom pattern is used for specifying an HTTP method that is not\n included in the `pattern` field, such as HEAD, or \"*\" to leave the\n HTTP method unspecified for this rule. The wild-card rule is useful\n for services that provide content to Web (HTML) clients.\n"},{"path":[4,1,2,6,6],"span":[342,4,21]},{"path":[4,1,2,6,1],"span":[342,22,28]},{"path":[4,1,2,6,3],"span":[342,31,32]},{"path":[4,1,2,7],"span":[351,2,18],"leadingComments":" The name of the request field whose value is mapped to the HTTP request\n body, or `*` for mapping all request fields not captured by the path\n pattern to the HTTP body, or omitted for not having any HTTP request body.\n\n NOTE: the referred field must be present at the top-level of the request\n message type.\n"},{"path":[4,1,2,7,5],"span":[351,2,8]},{"path":[4,1,2,7,1],"span":[351,9,13]},{"path":[4,1,2,7,3],"span":[351,16,17]},{"path":[4,1,2,8],"span":[359,2,28],"leadingComments":" Optional. The name of the response field whose value is mapped to the HTTP\n response body. When omitted, the entire response message will be used\n as the HTTP response body.\n\n NOTE: The referred field must be present at the top-level of the response\n message type.\n"},{"path":[4,1,2,8,5],"span":[359,2,8]},{"path":[4,1,2,8,1],"span":[359,9,22]},{"path":[4,1,2,8,3],"span":[359,25,27]},{"path":[4,1,2,9],"span":[364,2,45],"leadingComments":" Additional HTTP bindings for the selector. Nested bindings must\n not contain an `additional_bindings` field themselves (that is,\n the nesting may only be one level deep).\n"},{"path":[4,1,2,9,4],"span":[364,2,10]},{"path":[4,1,2,9,6],"span":[364,11,19]},{"path":[4,1,2,9,1],"span":[364,20,39]},{"path":[4,1,2,9,3],"span":[364,42,44]},{"path":[4,2],"span":[368,0,374,1],"leadingComments":" A custom pattern is used for defining custom HTTP verb.\n"},{"path":[4,2,1],"span":[368,8,25]},{"path":[4,2,2,0],"span":[370,2,18],"leadingComments":" The name of this custom HTTP verb.\n"},{"path":[4,2,2,0,5],"span":[370,2,8]},{"path":[4,2,2,0,1],"span":[370,9,13]},{"path":[4,2,2,0,3],"span":[370,16,17]},{"path":[4,2,2,1],"span":[373,2,18],"leadingComments":" The path matched by this custom verb.\n"},{"path":[4,2,2,1,5],"span":[373,2,8]},{"path":[4,2,2,1,1],"span":[373,9,13]},{"path":[4,2,2,1,3],"span":[373,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"moduleInfo":{"name":{"remote":"buf.build","owner":"googleapis","repository":"googleapis"},"commit":"783e4b5374fa488ab068d08af9658438"},"isSyntaxUnspecified":false}},{"name":"google/protobuf/descriptor.proto","package":"google.protobuf","messageType":[{"name":"FileDescriptorSet","field":[{"name":"file","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileDescriptorProto","jsonName":"file"}]},{"name":"FileDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"package","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"package"},{"name":"dependency","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"dependency"},{"name":"public_dependency","number":10,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"publicDependency"},{"name":"weak_dependency","number":11,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"weakDependency"},{"name":"message_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"messageType"},{"name":"enum_type","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"service","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceDescriptorProto","jsonName":"service"},{"name":"extension","number":7,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileOptions","jsonName":"options"},{"name":"source_code_info","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo","jsonName":"sourceCodeInfo"},{"name":"syntax","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"syntax"},{"name":"edition","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"}]},{"name":"DescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"field","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"field"},{"name":"extension","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"nested_type","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"nestedType"},{"name":"enum_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"extension_range","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ExtensionRange","jsonName":"extensionRange"},{"name":"oneof_decl","number":8,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofDescriptorProto","jsonName":"oneofDecl"},{"name":"options","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MessageOptions","jsonName":"options"},{"name":"reserved_range","number":9,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":10,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"}],"nestedType":[{"name":"ExtensionRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions","jsonName":"options"}]},{"name":"ReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"ExtensionRangeOptions","field":[{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"},{"name":"declaration","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions.Declaration","jsonName":"declaration","options":{"retention":"RETENTION_SOURCE"}},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"verification","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.ExtensionRangeOptions.VerificationState","defaultValue":"UNVERIFIED","jsonName":"verification"}],"nestedType":[{"name":"Declaration","field":[{"name":"number","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"full_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fullName"},{"name":"type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"reserved","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"reserved"},{"name":"repeated","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"repeated"}],"reservedRange":[{"start":4,"end":5}]}],"enumType":[{"name":"VerificationState","value":[{"name":"DECLARATION","number":0},{"name":"UNVERIFIED","number":1}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"FieldDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"label","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Label","jsonName":"label"},{"name":"type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"type"},{"name":"type_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeName"},{"name":"extendee","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"extendee"},{"name":"default_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"defaultValue"},{"name":"oneof_index","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"oneofIndex"},{"name":"json_name","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"jsonName"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions","jsonName":"options"},{"name":"proto3_optional","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"proto3Optional"}],"enumType":[{"name":"Type","value":[{"name":"TYPE_DOUBLE","number":1},{"name":"TYPE_FLOAT","number":2},{"name":"TYPE_INT64","number":3},{"name":"TYPE_UINT64","number":4},{"name":"TYPE_INT32","number":5},{"name":"TYPE_FIXED64","number":6},{"name":"TYPE_FIXED32","number":7},{"name":"TYPE_BOOL","number":8},{"name":"TYPE_STRING","number":9},{"name":"TYPE_GROUP","number":10},{"name":"TYPE_MESSAGE","number":11},{"name":"TYPE_BYTES","number":12},{"name":"TYPE_UINT32","number":13},{"name":"TYPE_ENUM","number":14},{"name":"TYPE_SFIXED32","number":15},{"name":"TYPE_SFIXED64","number":16},{"name":"TYPE_SINT32","number":17},{"name":"TYPE_SINT64","number":18}]},{"name":"Label","value":[{"name":"LABEL_OPTIONAL","number":1},{"name":"LABEL_REPEATED","number":3},{"name":"LABEL_REQUIRED","number":2}]}]},{"name":"OneofDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"options","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofOptions","jsonName":"options"}]},{"name":"EnumDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueDescriptorProto","jsonName":"value"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumOptions","jsonName":"options"},{"name":"reserved_range","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto.EnumReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":5,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"}],"nestedType":[{"name":"EnumReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"EnumValueDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueOptions","jsonName":"options"}]},{"name":"ServiceDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"method","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodDescriptorProto","jsonName":"method"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceOptions","jsonName":"options"}]},{"name":"MethodDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"input_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"inputType"},{"name":"output_type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"outputType"},{"name":"options","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodOptions","jsonName":"options"},{"name":"client_streaming","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"clientStreaming"},{"name":"server_streaming","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"serverStreaming"}]},{"name":"FileOptions","field":[{"name":"java_package","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaPackage"},{"name":"java_outer_classname","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaOuterClassname"},{"name":"java_multiple_files","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaMultipleFiles"},{"name":"java_generate_equals_and_hash","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"javaGenerateEqualsAndHash","options":{"deprecated":true}},{"name":"java_string_check_utf8","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaStringCheckUtf8"},{"name":"optimize_for","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FileOptions.OptimizeMode","defaultValue":"SPEED","jsonName":"optimizeFor"},{"name":"go_package","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"goPackage"},{"name":"cc_generic_services","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"ccGenericServices"},{"name":"java_generic_services","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaGenericServices"},{"name":"py_generic_services","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"pyGenericServices"},{"name":"php_generic_services","number":42,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"phpGenericServices"},{"name":"deprecated","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"cc_enable_arenas","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"true","jsonName":"ccEnableArenas"},{"name":"objc_class_prefix","number":36,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"objcClassPrefix"},{"name":"csharp_namespace","number":37,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"csharpNamespace"},{"name":"swift_prefix","number":39,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"swiftPrefix"},{"name":"php_class_prefix","number":40,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpClassPrefix"},{"name":"php_namespace","number":41,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpNamespace"},{"name":"php_metadata_namespace","number":44,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpMetadataNamespace"},{"name":"ruby_package","number":45,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"rubyPackage"},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"OptimizeMode","value":[{"name":"SPEED","number":1},{"name":"CODE_SIZE","number":2},{"name":"LITE_RUNTIME","number":3}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":38,"end":39}]},{"name":"MessageOptions","field":[{"name":"message_set_wire_format","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"messageSetWireFormat"},{"name":"no_standard_descriptor_accessor","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"noStandardDescriptorAccessor"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"map_entry","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"mapEntry"},{"name":"deprecated_legacy_json_field_conflicts","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":8,"end":9},{"start":9,"end":10}]},{"name":"FieldOptions","field":[{"name":"ctype","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.CType","defaultValue":"STRING","jsonName":"ctype"},{"name":"packed","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"packed"},{"name":"jstype","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.JSType","defaultValue":"JS_NORMAL","jsonName":"jstype"},{"name":"lazy","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"lazy"},{"name":"unverified_lazy","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"unverifiedLazy"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"weak","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"weak"},{"name":"debug_redact","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"retention","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionRetention","jsonName":"retention"},{"name":"targets","number":19,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionTargetType","jsonName":"targets"},{"name":"edition_defaults","number":20,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.EditionDefault","jsonName":"editionDefaults"},{"name":"features","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"nestedType":[{"name":"EditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]}],"enumType":[{"name":"CType","value":[{"name":"STRING","number":0},{"name":"CORD","number":1},{"name":"STRING_PIECE","number":2}]},{"name":"JSType","value":[{"name":"JS_NORMAL","number":0},{"name":"JS_STRING","number":1},{"name":"JS_NUMBER","number":2}]},{"name":"OptionRetention","value":[{"name":"RETENTION_UNKNOWN","number":0},{"name":"RETENTION_RUNTIME","number":1},{"name":"RETENTION_SOURCE","number":2}]},{"name":"OptionTargetType","value":[{"name":"TARGET_TYPE_UNKNOWN","number":0},{"name":"TARGET_TYPE_FILE","number":1},{"name":"TARGET_TYPE_EXTENSION_RANGE","number":2},{"name":"TARGET_TYPE_MESSAGE","number":3},{"name":"TARGET_TYPE_FIELD","number":4},{"name":"TARGET_TYPE_ONEOF","number":5},{"name":"TARGET_TYPE_ENUM","number":6},{"name":"TARGET_TYPE_ENUM_ENTRY","number":7},{"name":"TARGET_TYPE_SERVICE","number":8},{"name":"TARGET_TYPE_METHOD","number":9}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":18,"end":19}]},{"name":"OneofOptions","field":[{"name":"features","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"EnumOptions","field":[{"name":"allow_alias","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"allowAlias"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"deprecated_legacy_json_field_conflicts","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":5,"end":6}]},{"name":"EnumValueOptions","field":[{"name":"deprecated","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"features","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"debug_redact","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"ServiceOptions","field":[{"name":"features","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"MethodOptions","field":[{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"idempotency_level","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.MethodOptions.IdempotencyLevel","defaultValue":"IDEMPOTENCY_UNKNOWN","jsonName":"idempotencyLevel"},{"name":"features","number":35,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"IdempotencyLevel","value":[{"name":"IDEMPOTENCY_UNKNOWN","number":0},{"name":"NO_SIDE_EFFECTS","number":1},{"name":"IDEMPOTENT","number":2}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"UninterpretedOption","field":[{"name":"name","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption.NamePart","jsonName":"name"},{"name":"identifier_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"identifierValue"},{"name":"positive_int_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"positiveIntValue"},{"name":"negative_int_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"negativeIntValue"},{"name":"double_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"doubleValue"},{"name":"string_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"stringValue"},{"name":"aggregate_value","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"aggregateValue"}],"nestedType":[{"name":"NamePart","field":[{"name":"name_part","number":1,"label":"LABEL_REQUIRED","type":"TYPE_STRING","jsonName":"namePart"},{"name":"is_extension","number":2,"label":"LABEL_REQUIRED","type":"TYPE_BOOL","jsonName":"isExtension"}]}]},{"name":"FeatureSet","field":[{"name":"field_presence","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.FieldPresence","jsonName":"fieldPresence","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_PROTO2","value":"EXPLICIT"},{"edition":"EDITION_PROTO3","value":"IMPLICIT"},{"edition":"EDITION_2023","value":"EXPLICIT"}]}},{"name":"enum_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.EnumType","jsonName":"enumType","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_PROTO2","value":"CLOSED"},{"edition":"EDITION_PROTO3","value":"OPEN"}]}},{"name":"repeated_field_encoding","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.RepeatedFieldEncoding","jsonName":"repeatedFieldEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_PROTO2","value":"EXPANDED"},{"edition":"EDITION_PROTO3","value":"PACKED"}]}},{"name":"utf8_validation","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.Utf8Validation","jsonName":"utf8Validation","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_PROTO2","value":"NONE"},{"edition":"EDITION_PROTO3","value":"VERIFY"}]}},{"name":"message_encoding","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.MessageEncoding","jsonName":"messageEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_PROTO2","value":"LENGTH_PREFIXED"}]}},{"name":"json_format","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.JsonFormat","jsonName":"jsonFormat","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_MESSAGE","TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_PROTO2","value":"LEGACY_BEST_EFFORT"},{"edition":"EDITION_PROTO3","value":"ALLOW"}]}}],"enumType":[{"name":"FieldPresence","value":[{"name":"FIELD_PRESENCE_UNKNOWN","number":0},{"name":"EXPLICIT","number":1},{"name":"IMPLICIT","number":2},{"name":"LEGACY_REQUIRED","number":3}]},{"name":"EnumType","value":[{"name":"ENUM_TYPE_UNKNOWN","number":0},{"name":"OPEN","number":1},{"name":"CLOSED","number":2}]},{"name":"RepeatedFieldEncoding","value":[{"name":"REPEATED_FIELD_ENCODING_UNKNOWN","number":0},{"name":"PACKED","number":1},{"name":"EXPANDED","number":2}]},{"name":"Utf8Validation","value":[{"name":"UTF8_VALIDATION_UNKNOWN","number":0},{"name":"NONE","number":1},{"name":"VERIFY","number":2}]},{"name":"MessageEncoding","value":[{"name":"MESSAGE_ENCODING_UNKNOWN","number":0},{"name":"LENGTH_PREFIXED","number":1},{"name":"DELIMITED","number":2}]},{"name":"JsonFormat","value":[{"name":"JSON_FORMAT_UNKNOWN","number":0},{"name":"ALLOW","number":1},{"name":"LEGACY_BEST_EFFORT","number":2}]}],"extensionRange":[{"start":1000,"end":1001},{"start":1001,"end":1002},{"start":9995,"end":10000}],"reservedRange":[{"start":999,"end":1000}]},{"name":"FeatureSetDefaults","field":[{"name":"defaults","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault","jsonName":"defaults"},{"name":"minimum_edition","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"minimumEdition"},{"name":"maximum_edition","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"maximumEdition"}],"nestedType":[{"name":"FeatureSetEditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"features","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"}]}]},{"name":"SourceCodeInfo","field":[{"name":"location","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo.Location","jsonName":"location"}],"nestedType":[{"name":"Location","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"span","number":2,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"span","options":{"packed":true}},{"name":"leading_comments","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"leadingComments"},{"name":"trailing_comments","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"trailingComments"},{"name":"leading_detached_comments","number":6,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"leadingDetachedComments"}]}]},{"name":"GeneratedCodeInfo","field":[{"name":"annotation","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.GeneratedCodeInfo.Annotation","jsonName":"annotation"}],"nestedType":[{"name":"Annotation","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"source_file","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"sourceFile"},{"name":"begin","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"begin"},{"name":"end","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"semantic","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.GeneratedCodeInfo.Annotation.Semantic","jsonName":"semantic"}],"enumType":[{"name":"Semantic","value":[{"name":"NONE","number":0},{"name":"SET","number":1},{"name":"ALIAS","number":2}]}]}]}],"enumType":[{"name":"Edition","value":[{"name":"EDITION_UNKNOWN","number":0},{"name":"EDITION_PROTO2","number":998},{"name":"EDITION_PROTO3","number":999},{"name":"EDITION_2023","number":1000},{"name":"EDITION_1_TEST_ONLY","number":1},{"name":"EDITION_2_TEST_ONLY","number":2},{"name":"EDITION_99997_TEST_ONLY","number":99997},{"name":"EDITION_99998_TEST_ONLY","number":99998},{"name":"EDITION_99999_TEST_ONLY","number":99999}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DescriptorProtos","optimizeFor":"SPEED","goPackage":"google.golang.org/protobuf/types/descriptorpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.Reflection"},"sourceCodeInfo":{"location":[{"span":[38,0,1217,1]},{"path":[12],"span":[38,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"," Author: kenton@google.com (Kenton Varda)\n Based on original Protocol Buffers design by\n Sanjay Ghemawat, Jeff Dean, and others.\n\n The messages in this file describe the definitions found in .proto files.\n A valid .proto file can be translated directly to a FileDescriptorProto\n without any other information (e.g. without reading its imports).\n"]},{"path":[2],"span":[40,0,24]},{"path":[8],"span":[42,0,68]},{"path":[8,11],"span":[42,0,68]},{"path":[8],"span":[43,0,44]},{"path":[8,1],"span":[43,0,44]},{"path":[8],"span":[44,0,49]},{"path":[8,8],"span":[44,0,49]},{"path":[8],"span":[45,0,55]},{"path":[8,37],"span":[45,0,55]},{"path":[8],"span":[46,0,33]},{"path":[8,36],"span":[46,0,33]},{"path":[8],"span":[47,0,31]},{"path":[8,31],"span":[47,0,31]},{"path":[8],"span":[51,0,28]},{"path":[8,9],"span":[51,0,28],"leadingComments":" descriptor.proto must be optimized for speed because reflection-based\n algorithms don't work during bootstrapping.\n"},{"path":[4,0],"span":[55,0,57,1],"leadingComments":" The protocol compiler can output a FileDescriptorSet containing the .proto\n files it parses.\n"},{"path":[4,0,1],"span":[55,8,25]},{"path":[4,0,2,0],"span":[56,2,40]},{"path":[4,0,2,0,4],"span":[56,2,10]},{"path":[4,0,2,0,6],"span":[56,11,30]},{"path":[4,0,2,0,1],"span":[56,31,35]},{"path":[4,0,2,0,3],"span":[56,38,39]},{"path":[5,0],"span":[60,0,83,1],"leadingComments":" The full set of known editions.\n"},{"path":[5,0,1],"span":[60,5,12]},{"path":[5,0,2,0],"span":[62,2,22],"leadingComments":" A placeholder for an unknown edition value.\n"},{"path":[5,0,2,0,1],"span":[62,2,17]},{"path":[5,0,2,0,2],"span":[62,20,21]},{"path":[5,0,2,1],"span":[68,2,23],"leadingComments":" Legacy syntax \"editions\". These pre-date editions, but behave much like\n distinct editions. These can't be used to specify the edition of proto\n files, but feature definitions must supply proto2/proto3 defaults for\n backwards compatibility.\n"},{"path":[5,0,2,1,1],"span":[68,2,16]},{"path":[5,0,2,1,2],"span":[68,19,22]},{"path":[5,0,2,2],"span":[69,2,23]},{"path":[5,0,2,2,1],"span":[69,2,16]},{"path":[5,0,2,2,2],"span":[69,19,22]},{"path":[5,0,2,3],"span":[74,2,22],"leadingComments":" Editions that have been released. The specific values are arbitrary and\n should not be depended on, but they will always be time-ordered for easy\n comparison.\n"},{"path":[5,0,2,3,1],"span":[74,2,14]},{"path":[5,0,2,3,2],"span":[74,17,21]},{"path":[5,0,2,4],"span":[78,2,26],"leadingComments":" Placeholder editions for testing feature resolution. These should not be\n used or relyed on outside of tests.\n"},{"path":[5,0,2,4,1],"span":[78,2,21]},{"path":[5,0,2,4,2],"span":[78,24,25]},{"path":[5,0,2,5],"span":[79,2,26]},{"path":[5,0,2,5,1],"span":[79,2,21]},{"path":[5,0,2,5,2],"span":[79,24,25]},{"path":[5,0,2,6],"span":[80,2,34]},{"path":[5,0,2,6,1],"span":[80,2,25]},{"path":[5,0,2,6,2],"span":[80,28,33]},{"path":[5,0,2,7],"span":[81,2,34]},{"path":[5,0,2,7,1],"span":[81,2,25]},{"path":[5,0,2,7,2],"span":[81,28,33]},{"path":[5,0,2,8],"span":[82,2,34]},{"path":[5,0,2,8,1],"span":[82,2,25]},{"path":[5,0,2,8,2],"span":[82,28,33]},{"path":[4,1],"span":[86,0,120,1],"leadingComments":" Describes a complete .proto file.\n"},{"path":[4,1,1],"span":[86,8,27]},{"path":[4,1,2,0],"span":[87,2,27],"trailingComments":" file name, relative to root of source tree\n"},{"path":[4,1,2,0,4],"span":[87,2,10]},{"path":[4,1,2,0,5],"span":[87,11,17]},{"path":[4,1,2,0,1],"span":[87,18,22]},{"path":[4,1,2,0,3],"span":[87,25,26]},{"path":[4,1,2,1],"span":[88,2,30],"trailingComments":" e.g. \"foo\", \"foo.bar\", etc.\n"},{"path":[4,1,2,1,4],"span":[88,2,10]},{"path":[4,1,2,1,5],"span":[88,11,17]},{"path":[4,1,2,1,1],"span":[88,18,25]},{"path":[4,1,2,1,3],"span":[88,28,29]},{"path":[4,1,2,2],"span":[91,2,33],"leadingComments":" Names of files imported by this file.\n"},{"path":[4,1,2,2,4],"span":[91,2,10]},{"path":[4,1,2,2,5],"span":[91,11,17]},{"path":[4,1,2,2,1],"span":[91,18,28]},{"path":[4,1,2,2,3],"span":[91,31,32]},{"path":[4,1,2,3],"span":[93,2,40],"leadingComments":" Indexes of the public imported files in the dependency list above.\n"},{"path":[4,1,2,3,4],"span":[93,2,10]},{"path":[4,1,2,3,5],"span":[93,11,16]},{"path":[4,1,2,3,1],"span":[93,17,34]},{"path":[4,1,2,3,3],"span":[93,37,39]},{"path":[4,1,2,4],"span":[96,2,38],"leadingComments":" Indexes of the weak imported files in the dependency list.\n For Google-internal migration only. Do not use.\n"},{"path":[4,1,2,4,4],"span":[96,2,10]},{"path":[4,1,2,4,5],"span":[96,11,16]},{"path":[4,1,2,4,1],"span":[96,17,32]},{"path":[4,1,2,4,3],"span":[96,35,37]},{"path":[4,1,2,5],"span":[99,2,44],"leadingComments":" All top-level definitions in this file.\n"},{"path":[4,1,2,5,4],"span":[99,2,10]},{"path":[4,1,2,5,6],"span":[99,11,26]},{"path":[4,1,2,5,1],"span":[99,27,39]},{"path":[4,1,2,5,3],"span":[99,42,43]},{"path":[4,1,2,6],"span":[100,2,45]},{"path":[4,1,2,6,4],"span":[100,2,10]},{"path":[4,1,2,6,6],"span":[100,11,30]},{"path":[4,1,2,6,1],"span":[100,31,40]},{"path":[4,1,2,6,3],"span":[100,43,44]},{"path":[4,1,2,7],"span":[101,2,46]},{"path":[4,1,2,7,4],"span":[101,2,10]},{"path":[4,1,2,7,6],"span":[101,11,33]},{"path":[4,1,2,7,1],"span":[101,34,41]},{"path":[4,1,2,7,3],"span":[101,44,45]},{"path":[4,1,2,8],"span":[102,2,46]},{"path":[4,1,2,8,4],"span":[102,2,10]},{"path":[4,1,2,8,6],"span":[102,11,31]},{"path":[4,1,2,8,1],"span":[102,32,41]},{"path":[4,1,2,8,3],"span":[102,44,45]},{"path":[4,1,2,9],"span":[104,2,35]},{"path":[4,1,2,9,4],"span":[104,2,10]},{"path":[4,1,2,9,6],"span":[104,11,22]},{"path":[4,1,2,9,1],"span":[104,23,30]},{"path":[4,1,2,9,3],"span":[104,33,34]},{"path":[4,1,2,10],"span":[110,2,47],"leadingComments":" This field contains optional information about the original source code.\n You may safely remove this entire field without harming runtime\n functionality of the descriptors -- the information is needed only by\n development tools.\n"},{"path":[4,1,2,10,4],"span":[110,2,10]},{"path":[4,1,2,10,6],"span":[110,11,25]},{"path":[4,1,2,10,1],"span":[110,26,42]},{"path":[4,1,2,10,3],"span":[110,45,46]},{"path":[4,1,2,11],"span":[116,2,30],"leadingComments":" The syntax of the proto file.\n The supported values are \"proto2\", \"proto3\", and \"editions\".\n\n If `edition` is present, this value must be \"editions\".\n"},{"path":[4,1,2,11,4],"span":[116,2,10]},{"path":[4,1,2,11,5],"span":[116,11,17]},{"path":[4,1,2,11,1],"span":[116,18,24]},{"path":[4,1,2,11,3],"span":[116,27,29]},{"path":[4,1,2,12],"span":[119,2,32],"leadingComments":" The edition of the proto file.\n"},{"path":[4,1,2,12,4],"span":[119,2,10]},{"path":[4,1,2,12,6],"span":[119,11,18]},{"path":[4,1,2,12,1],"span":[119,19,26]},{"path":[4,1,2,12,3],"span":[119,29,31]},{"path":[4,2],"span":[123,0,155,1],"leadingComments":" Describes a message type.\n"},{"path":[4,2,1],"span":[123,8,23]},{"path":[4,2,2,0],"span":[124,2,27]},{"path":[4,2,2,0,4],"span":[124,2,10]},{"path":[4,2,2,0,5],"span":[124,11,17]},{"path":[4,2,2,0,1],"span":[124,18,22]},{"path":[4,2,2,0,3],"span":[124,25,26]},{"path":[4,2,2,1],"span":[126,2,42]},{"path":[4,2,2,1,4],"span":[126,2,10]},{"path":[4,2,2,1,6],"span":[126,11,31]},{"path":[4,2,2,1,1],"span":[126,32,37]},{"path":[4,2,2,1,3],"span":[126,40,41]},{"path":[4,2,2,2],"span":[127,2,46]},{"path":[4,2,2,2,4],"span":[127,2,10]},{"path":[4,2,2,2,6],"span":[127,11,31]},{"path":[4,2,2,2,1],"span":[127,32,41]},{"path":[4,2,2,2,3],"span":[127,44,45]},{"path":[4,2,2,3],"span":[129,2,43]},{"path":[4,2,2,3,4],"span":[129,2,10]},{"path":[4,2,2,3,6],"span":[129,11,26]},{"path":[4,2,2,3,1],"span":[129,27,38]},{"path":[4,2,2,3,3],"span":[129,41,42]},{"path":[4,2,2,4],"span":[130,2,45]},{"path":[4,2,2,4,4],"span":[130,2,10]},{"path":[4,2,2,4,6],"span":[130,11,30]},{"path":[4,2,2,4,1],"span":[130,31,40]},{"path":[4,2,2,4,3],"span":[130,43,44]},{"path":[4,2,3,0],"span":[132,2,137,3]},{"path":[4,2,3,0,1],"span":[132,10,24]},{"path":[4,2,3,0,2,0],"span":[133,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,0,2,0,4],"span":[133,4,12]},{"path":[4,2,3,0,2,0,5],"span":[133,13,18]},{"path":[4,2,3,0,2,0,1],"span":[133,19,24]},{"path":[4,2,3,0,2,0,3],"span":[133,27,28]},{"path":[4,2,3,0,2,1],"span":[134,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,0,2,1,4],"span":[134,4,12]},{"path":[4,2,3,0,2,1,5],"span":[134,13,18]},{"path":[4,2,3,0,2,1,1],"span":[134,19,22]},{"path":[4,2,3,0,2,1,3],"span":[134,25,26]},{"path":[4,2,3,0,2,2],"span":[136,4,47]},{"path":[4,2,3,0,2,2,4],"span":[136,4,12]},{"path":[4,2,3,0,2,2,6],"span":[136,13,34]},{"path":[4,2,3,0,2,2,1],"span":[136,35,42]},{"path":[4,2,3,0,2,2,3],"span":[136,45,46]},{"path":[4,2,2,5],"span":[138,2,46]},{"path":[4,2,2,5,4],"span":[138,2,10]},{"path":[4,2,2,5,6],"span":[138,11,25]},{"path":[4,2,2,5,1],"span":[138,26,41]},{"path":[4,2,2,5,3],"span":[138,44,45]},{"path":[4,2,2,6],"span":[140,2,47]},{"path":[4,2,2,6,4],"span":[140,2,10]},{"path":[4,2,2,6,6],"span":[140,11,31]},{"path":[4,2,2,6,1],"span":[140,32,42]},{"path":[4,2,2,6,3],"span":[140,45,46]},{"path":[4,2,2,7],"span":[142,2,38]},{"path":[4,2,2,7,4],"span":[142,2,10]},{"path":[4,2,2,7,6],"span":[142,11,25]},{"path":[4,2,2,7,1],"span":[142,26,33]},{"path":[4,2,2,7,3],"span":[142,36,37]},{"path":[4,2,3,1],"span":[147,2,150,3],"leadingComments":" Range of reserved tag numbers. Reserved tag numbers may not be used by\n fields or extension ranges in the same message. Reserved ranges may\n not overlap.\n"},{"path":[4,2,3,1,1],"span":[147,10,23]},{"path":[4,2,3,1,2,0],"span":[148,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,1,2,0,4],"span":[148,4,12]},{"path":[4,2,3,1,2,0,5],"span":[148,13,18]},{"path":[4,2,3,1,2,0,1],"span":[148,19,24]},{"path":[4,2,3,1,2,0,3],"span":[148,27,28]},{"path":[4,2,3,1,2,1],"span":[149,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,1,2,1,4],"span":[149,4,12]},{"path":[4,2,3,1,2,1,5],"span":[149,13,18]},{"path":[4,2,3,1,2,1,1],"span":[149,19,22]},{"path":[4,2,3,1,2,1,3],"span":[149,25,26]},{"path":[4,2,2,8],"span":[151,2,44]},{"path":[4,2,2,8,4],"span":[151,2,10]},{"path":[4,2,2,8,6],"span":[151,11,24]},{"path":[4,2,2,8,1],"span":[151,25,39]},{"path":[4,2,2,8,3],"span":[151,42,43]},{"path":[4,2,2,9],"span":[154,2,37],"leadingComments":" Reserved field names, which may not be used by fields in the same message.\n A given name may only be reserved once.\n"},{"path":[4,2,2,9,4],"span":[154,2,10]},{"path":[4,2,2,9,5],"span":[154,11,17]},{"path":[4,2,2,9,1],"span":[154,18,31]},{"path":[4,2,2,9,3],"span":[154,34,36]},{"path":[4,3],"span":[157,0,208,1]},{"path":[4,3,1],"span":[157,8,29]},{"path":[4,3,2,0],"span":[159,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,3,2,0,4],"span":[159,2,10]},{"path":[4,3,2,0,6],"span":[159,11,30]},{"path":[4,3,2,0,1],"span":[159,31,51]},{"path":[4,3,2,0,3],"span":[159,54,57]},{"path":[4,3,3,0],"span":[161,2,184,3]},{"path":[4,3,3,0,1],"span":[161,10,21]},{"path":[4,3,3,0,2,0],"span":[163,4,30],"leadingComments":" The extension number declared within the extension range.\n"},{"path":[4,3,3,0,2,0,4],"span":[163,4,12]},{"path":[4,3,3,0,2,0,5],"span":[163,13,18]},{"path":[4,3,3,0,2,0,1],"span":[163,19,25]},{"path":[4,3,3,0,2,0,3],"span":[163,28,29]},{"path":[4,3,3,0,2,1],"span":[167,4,34],"leadingComments":" The fully-qualified name of the extension field. There must be a leading\n dot in front of the full name.\n"},{"path":[4,3,3,0,2,1,4],"span":[167,4,12]},{"path":[4,3,3,0,2,1,5],"span":[167,13,19]},{"path":[4,3,3,0,2,1,1],"span":[167,20,29]},{"path":[4,3,3,0,2,1,3],"span":[167,32,33]},{"path":[4,3,3,0,2,2],"span":[172,4,29],"leadingComments":" The fully-qualified type name of the extension field. Unlike\n Metadata.type, Declaration.type must have a leading dot for messages\n and enums.\n"},{"path":[4,3,3,0,2,2,4],"span":[172,4,12]},{"path":[4,3,3,0,2,2,5],"span":[172,13,19]},{"path":[4,3,3,0,2,2,1],"span":[172,20,24]},{"path":[4,3,3,0,2,2,3],"span":[172,27,28]},{"path":[4,3,3,0,2,3],"span":[177,4,31],"leadingComments":" If true, indicates that the number is reserved in the extension range,\n and any extension field with the number will fail to compile. Set this\n when a declared extension field is deleted.\n"},{"path":[4,3,3,0,2,3,4],"span":[177,4,12]},{"path":[4,3,3,0,2,3,5],"span":[177,13,17]},{"path":[4,3,3,0,2,3,1],"span":[177,18,26]},{"path":[4,3,3,0,2,3,3],"span":[177,29,30]},{"path":[4,3,3,0,2,4],"span":[181,4,31],"leadingComments":" If true, indicates that the extension must be defined as repeated.\n Otherwise the extension must be defined as optional.\n"},{"path":[4,3,3,0,2,4,4],"span":[181,4,12]},{"path":[4,3,3,0,2,4,5],"span":[181,13,17]},{"path":[4,3,3,0,2,4,1],"span":[181,18,26]},{"path":[4,3,3,0,2,4,3],"span":[181,29,30]},{"path":[4,3,3,0,9],"span":[183,4,15],"trailingComments":" removed is_repeated\n"},{"path":[4,3,3,0,9,0],"span":[183,13,14]},{"path":[4,3,3,0,9,0,1],"span":[183,13,14]},{"path":[4,3,3,0,9,0,2],"span":[183,13,14]},{"path":[4,3,2,1],"span":[189,2,70],"leadingComments":" For external users: DO NOT USE. We are in the process of open sourcing\n extension declaration and executing internal cleanups before it can be\n used externally.\n"},{"path":[4,3,2,1,4],"span":[189,2,10]},{"path":[4,3,2,1,6],"span":[189,11,22]},{"path":[4,3,2,1,1],"span":[189,23,34]},{"path":[4,3,2,1,3],"span":[189,37,38]},{"path":[4,3,2,1,8],"span":[189,39,69]},{"path":[4,3,2,1,8,17],"span":[189,40,68]},{"path":[4,3,2,2],"span":[192,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,3,2,2,4],"span":[192,2,10]},{"path":[4,3,2,2,6],"span":[192,11,21]},{"path":[4,3,2,2,1],"span":[192,22,30]},{"path":[4,3,2,2,3],"span":[192,33,35]},{"path":[4,3,4,0],"span":[195,2,199,3],"leadingComments":" The verification state of the extension range.\n"},{"path":[4,3,4,0,1],"span":[195,7,24]},{"path":[4,3,4,0,2,0],"span":[197,4,20],"leadingComments":" All the extensions of the range must be declared.\n"},{"path":[4,3,4,0,2,0,1],"span":[197,4,15]},{"path":[4,3,4,0,2,0,2],"span":[197,18,19]},{"path":[4,3,4,0,2,1],"span":[198,4,19]},{"path":[4,3,4,0,2,1,1],"span":[198,4,14]},{"path":[4,3,4,0,2,1,2],"span":[198,17,18]},{"path":[4,3,2,3],"span":[204,2,69],"leadingComments":" The verification state of the range.\n TODO: flip the default to DECLARATION once all empty ranges\n are marked as UNVERIFIED.\n"},{"path":[4,3,2,3,4],"span":[204,2,10]},{"path":[4,3,2,3,6],"span":[204,11,28]},{"path":[4,3,2,3,1],"span":[204,29,41]},{"path":[4,3,2,3,3],"span":[204,44,45]},{"path":[4,3,2,3,8],"span":[204,46,68]},{"path":[4,3,2,3,7],"span":[204,47,67]},{"path":[4,3,5],"span":[207,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,3,5,0],"span":[207,13,24]},{"path":[4,3,5,0,1],"span":[207,13,17]},{"path":[4,3,5,0,2],"span":[207,21,24]},{"path":[4,4],"span":[211,0,315,1],"leadingComments":" Describes a field within a message.\n"},{"path":[4,4,1],"span":[211,8,28]},{"path":[4,4,4,0],"span":[212,2,244,3]},{"path":[4,4,4,0,1],"span":[212,7,11]},{"path":[4,4,4,0,2,0],"span":[215,4,20],"leadingComments":" 0 is reserved for errors.\n Order is weird for historical reasons.\n"},{"path":[4,4,4,0,2,0,1],"span":[215,4,15]},{"path":[4,4,4,0,2,0,2],"span":[215,18,19]},{"path":[4,4,4,0,2,1],"span":[216,4,19]},{"path":[4,4,4,0,2,1,1],"span":[216,4,14]},{"path":[4,4,4,0,2,1,2],"span":[216,17,18]},{"path":[4,4,4,0,2,2],"span":[219,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,2,1],"span":[219,4,14]},{"path":[4,4,4,0,2,2,2],"span":[219,17,18]},{"path":[4,4,4,0,2,3],"span":[220,4,20]},{"path":[4,4,4,0,2,3,1],"span":[220,4,15]},{"path":[4,4,4,0,2,3,2],"span":[220,18,19]},{"path":[4,4,4,0,2,4],"span":[223,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,4,1],"span":[223,4,14]},{"path":[4,4,4,0,2,4,2],"span":[223,17,18]},{"path":[4,4,4,0,2,5],"span":[224,4,21]},{"path":[4,4,4,0,2,5,1],"span":[224,4,16]},{"path":[4,4,4,0,2,5,2],"span":[224,19,20]},{"path":[4,4,4,0,2,6],"span":[225,4,21]},{"path":[4,4,4,0,2,6,1],"span":[225,4,16]},{"path":[4,4,4,0,2,6,2],"span":[225,19,20]},{"path":[4,4,4,0,2,7],"span":[226,4,18]},{"path":[4,4,4,0,2,7,1],"span":[226,4,13]},{"path":[4,4,4,0,2,7,2],"span":[226,16,17]},{"path":[4,4,4,0,2,8],"span":[227,4,20]},{"path":[4,4,4,0,2,8,1],"span":[227,4,15]},{"path":[4,4,4,0,2,8,2],"span":[227,18,19]},{"path":[4,4,4,0,2,9],"span":[233,4,20],"leadingComments":" Tag-delimited aggregate.\n Group type is deprecated and not supported after google.protobuf. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields. In Editions, the group wire format\n can be enabled via the `message_encoding` feature.\n"},{"path":[4,4,4,0,2,9,1],"span":[233,4,14]},{"path":[4,4,4,0,2,9,2],"span":[233,17,19]},{"path":[4,4,4,0,2,10],"span":[234,4,22],"trailingComments":" Length-delimited aggregate.\n"},{"path":[4,4,4,0,2,10,1],"span":[234,4,16]},{"path":[4,4,4,0,2,10,2],"span":[234,19,21]},{"path":[4,4,4,0,2,11],"span":[237,4,20],"leadingComments":" New in version 2.\n"},{"path":[4,4,4,0,2,11,1],"span":[237,4,14]},{"path":[4,4,4,0,2,11,2],"span":[237,17,19]},{"path":[4,4,4,0,2,12],"span":[238,4,21]},{"path":[4,4,4,0,2,12,1],"span":[238,4,15]},{"path":[4,4,4,0,2,12,2],"span":[238,18,20]},{"path":[4,4,4,0,2,13],"span":[239,4,19]},{"path":[4,4,4,0,2,13,1],"span":[239,4,13]},{"path":[4,4,4,0,2,13,2],"span":[239,16,18]},{"path":[4,4,4,0,2,14],"span":[240,4,23]},{"path":[4,4,4,0,2,14,1],"span":[240,4,17]},{"path":[4,4,4,0,2,14,2],"span":[240,20,22]},{"path":[4,4,4,0,2,15],"span":[241,4,23]},{"path":[4,4,4,0,2,15,1],"span":[241,4,17]},{"path":[4,4,4,0,2,15,2],"span":[241,20,22]},{"path":[4,4,4,0,2,16],"span":[242,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,16,1],"span":[242,4,15]},{"path":[4,4,4,0,2,16,2],"span":[242,18,20]},{"path":[4,4,4,0,2,17],"span":[243,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,17,1],"span":[243,4,15]},{"path":[4,4,4,0,2,17,2],"span":[243,18,20]},{"path":[4,4,4,1],"span":[246,2,254,3]},{"path":[4,4,4,1,1],"span":[246,7,12]},{"path":[4,4,4,1,2,0],"span":[248,4,23],"leadingComments":" 0 is reserved for errors\n"},{"path":[4,4,4,1,2,0,1],"span":[248,4,18]},{"path":[4,4,4,1,2,0,2],"span":[248,21,22]},{"path":[4,4,4,1,2,1],"span":[249,4,23]},{"path":[4,4,4,1,2,1,1],"span":[249,4,18]},{"path":[4,4,4,1,2,1,2],"span":[249,21,22]},{"path":[4,4,4,1,2,2],"span":[253,4,23],"leadingComments":" The required label is only allowed in google.protobuf. In proto3 and Editions\n it's explicitly prohibited. In Editions, the `field_presence` feature\n can be used to get this behavior.\n"},{"path":[4,4,4,1,2,2,1],"span":[253,4,18]},{"path":[4,4,4,1,2,2,2],"span":[253,21,22]},{"path":[4,4,2,0],"span":[256,2,27]},{"path":[4,4,2,0,4],"span":[256,2,10]},{"path":[4,4,2,0,5],"span":[256,11,17]},{"path":[4,4,2,0,1],"span":[256,18,22]},{"path":[4,4,2,0,3],"span":[256,25,26]},{"path":[4,4,2,1],"span":[257,2,28]},{"path":[4,4,2,1,4],"span":[257,2,10]},{"path":[4,4,2,1,5],"span":[257,11,16]},{"path":[4,4,2,1,1],"span":[257,17,23]},{"path":[4,4,2,1,3],"span":[257,26,27]},{"path":[4,4,2,2],"span":[258,2,27]},{"path":[4,4,2,2,4],"span":[258,2,10]},{"path":[4,4,2,2,6],"span":[258,11,16]},{"path":[4,4,2,2,1],"span":[258,17,22]},{"path":[4,4,2,2,3],"span":[258,25,26]},{"path":[4,4,2,3],"span":[262,2,25],"leadingComments":" If type_name is set, this need not be set. If both this and type_name\n are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n"},{"path":[4,4,2,3,4],"span":[262,2,10]},{"path":[4,4,2,3,6],"span":[262,11,15]},{"path":[4,4,2,3,1],"span":[262,16,20]},{"path":[4,4,2,3,3],"span":[262,23,24]},{"path":[4,4,2,4],"span":[269,2,32],"leadingComments":" For message and enum types, this is the name of the type. If the name\n starts with a '.', it is fully-qualified. Otherwise, C++-like scoping\n rules are used to find the type (i.e. first the nested types within this\n message are searched, then within the parent, on up to the root\n namespace).\n"},{"path":[4,4,2,4,4],"span":[269,2,10]},{"path":[4,4,2,4,5],"span":[269,11,17]},{"path":[4,4,2,4,1],"span":[269,18,27]},{"path":[4,4,2,4,3],"span":[269,30,31]},{"path":[4,4,2,5],"span":[273,2,31],"leadingComments":" For extensions, this is the name of the type being extended. It is\n resolved in the same manner as type_name.\n"},{"path":[4,4,2,5,4],"span":[273,2,10]},{"path":[4,4,2,5,5],"span":[273,11,17]},{"path":[4,4,2,5,1],"span":[273,18,26]},{"path":[4,4,2,5,3],"span":[273,29,30]},{"path":[4,4,2,6],"span":[279,2,36],"leadingComments":" For numeric types, contains the original text representation of the value.\n For booleans, \"true\" or \"false\".\n For strings, contains the default text contents (not escaped in any way).\n For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n"},{"path":[4,4,2,6,4],"span":[279,2,10]},{"path":[4,4,2,6,5],"span":[279,11,17]},{"path":[4,4,2,6,1],"span":[279,18,31]},{"path":[4,4,2,6,3],"span":[279,34,35]},{"path":[4,4,2,7],"span":[283,2,33],"leadingComments":" If set, gives the index of a oneof in the containing type's oneof_decl\n list. This field is a member of that oneof.\n"},{"path":[4,4,2,7,4],"span":[283,2,10]},{"path":[4,4,2,7,5],"span":[283,11,16]},{"path":[4,4,2,7,1],"span":[283,17,28]},{"path":[4,4,2,7,3],"span":[283,31,32]},{"path":[4,4,2,8],"span":[289,2,33],"leadingComments":" JSON name of this field. The value is set by protocol compiler. If the\n user has set a \"json_name\" option on this field, that option's value\n will be used. Otherwise, it's deduced from the field's name by converting\n it to camelCase.\n"},{"path":[4,4,2,8,4],"span":[289,2,10]},{"path":[4,4,2,8,5],"span":[289,11,17]},{"path":[4,4,2,8,1],"span":[289,18,27]},{"path":[4,4,2,8,3],"span":[289,30,32]},{"path":[4,4,2,9],"span":[291,2,36]},{"path":[4,4,2,9,4],"span":[291,2,10]},{"path":[4,4,2,9,6],"span":[291,11,23]},{"path":[4,4,2,9,1],"span":[291,24,31]},{"path":[4,4,2,9,3],"span":[291,34,35]},{"path":[4,4,2,10],"span":[314,2,37],"leadingComments":" If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n tracks presence regardless of field type.\n\n When proto3_optional is true, this field must be belong to a oneof to\n signal to old proto3 clients that presence is tracked for this field. This\n oneof is known as a \"synthetic\" oneof, and this field must be its sole\n member (each proto3 optional field gets its own synthetic oneof). Synthetic\n oneofs exist in the descriptor only, and do not generate any API. Synthetic\n oneofs must be ordered after all \"real\" oneofs.\n\n For message fields, proto3_optional doesn't create any semantic change,\n since non-repeated message fields always track presence. However it still\n indicates the semantic detail of whether the user wrote \"optional\" or not.\n This can be useful for round-tripping the .proto file. For consistency we\n give message fields a synthetic oneof also, even though it is not required\n to track presence. This is especially important because the parser can't\n tell if a field is a message or an enum, so it must always create a\n synthetic oneof.\n\n Proto2 optional fields do not set this flag, because they already indicate\n optional with `LABEL_OPTIONAL`.\n"},{"path":[4,4,2,10,4],"span":[314,2,10]},{"path":[4,4,2,10,5],"span":[314,11,15]},{"path":[4,4,2,10,1],"span":[314,16,31]},{"path":[4,4,2,10,3],"span":[314,34,36]},{"path":[4,5],"span":[318,0,321,1],"leadingComments":" Describes a oneof.\n"},{"path":[4,5,1],"span":[318,8,28]},{"path":[4,5,2,0],"span":[319,2,27]},{"path":[4,5,2,0,4],"span":[319,2,10]},{"path":[4,5,2,0,5],"span":[319,11,17]},{"path":[4,5,2,0,1],"span":[319,18,22]},{"path":[4,5,2,0,3],"span":[319,25,26]},{"path":[4,5,2,1],"span":[320,2,36]},{"path":[4,5,2,1,4],"span":[320,2,10]},{"path":[4,5,2,1,6],"span":[320,11,23]},{"path":[4,5,2,1,1],"span":[320,24,31]},{"path":[4,5,2,1,3],"span":[320,34,35]},{"path":[4,6],"span":[324,0,350,1],"leadingComments":" Describes an enum type.\n"},{"path":[4,6,1],"span":[324,8,27]},{"path":[4,6,2,0],"span":[325,2,27]},{"path":[4,6,2,0,4],"span":[325,2,10]},{"path":[4,6,2,0,5],"span":[325,11,17]},{"path":[4,6,2,0,1],"span":[325,18,22]},{"path":[4,6,2,0,3],"span":[325,25,26]},{"path":[4,6,2,1],"span":[327,2,46]},{"path":[4,6,2,1,4],"span":[327,2,10]},{"path":[4,6,2,1,6],"span":[327,11,35]},{"path":[4,6,2,1,1],"span":[327,36,41]},{"path":[4,6,2,1,3],"span":[327,44,45]},{"path":[4,6,2,2],"span":[329,2,35]},{"path":[4,6,2,2,4],"span":[329,2,10]},{"path":[4,6,2,2,6],"span":[329,11,22]},{"path":[4,6,2,2,1],"span":[329,23,30]},{"path":[4,6,2,2,3],"span":[329,33,34]},{"path":[4,6,3,0],"span":[337,2,340,3],"leadingComments":" Range of reserved numeric values. Reserved values may not be used by\n entries in the same enum. Reserved ranges may not overlap.\n\n Note that this is distinct from DescriptorProto.ReservedRange in that it\n is inclusive such that it can appropriately represent the entire int32\n domain.\n"},{"path":[4,6,3,0,1],"span":[337,10,27]},{"path":[4,6,3,0,2,0],"span":[338,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,0,4],"span":[338,4,12]},{"path":[4,6,3,0,2,0,5],"span":[338,13,18]},{"path":[4,6,3,0,2,0,1],"span":[338,19,24]},{"path":[4,6,3,0,2,0,3],"span":[338,27,28]},{"path":[4,6,3,0,2,1],"span":[339,4,27],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,1,4],"span":[339,4,12]},{"path":[4,6,3,0,2,1,5],"span":[339,13,18]},{"path":[4,6,3,0,2,1,1],"span":[339,19,22]},{"path":[4,6,3,0,2,1,3],"span":[339,25,26]},{"path":[4,6,2,3],"span":[345,2,48],"leadingComments":" Range of reserved numeric values. Reserved numeric values may not be used\n by enum values in the same enum declaration. Reserved ranges may not\n overlap.\n"},{"path":[4,6,2,3,4],"span":[345,2,10]},{"path":[4,6,2,3,6],"span":[345,11,28]},{"path":[4,6,2,3,1],"span":[345,29,43]},{"path":[4,6,2,3,3],"span":[345,46,47]},{"path":[4,6,2,4],"span":[349,2,36],"leadingComments":" Reserved enum value names, which may not be reused. A given name may only\n be reserved once.\n"},{"path":[4,6,2,4,4],"span":[349,2,10]},{"path":[4,6,2,4,5],"span":[349,11,17]},{"path":[4,6,2,4,1],"span":[349,18,31]},{"path":[4,6,2,4,3],"span":[349,34,35]},{"path":[4,7],"span":[353,0,358,1],"leadingComments":" Describes a value within an enum.\n"},{"path":[4,7,1],"span":[353,8,32]},{"path":[4,7,2,0],"span":[354,2,27]},{"path":[4,7,2,0,4],"span":[354,2,10]},{"path":[4,7,2,0,5],"span":[354,11,17]},{"path":[4,7,2,0,1],"span":[354,18,22]},{"path":[4,7,2,0,3],"span":[354,25,26]},{"path":[4,7,2,1],"span":[355,2,28]},{"path":[4,7,2,1,4],"span":[355,2,10]},{"path":[4,7,2,1,5],"span":[355,11,16]},{"path":[4,7,2,1,1],"span":[355,17,23]},{"path":[4,7,2,1,3],"span":[355,26,27]},{"path":[4,7,2,2],"span":[357,2,40]},{"path":[4,7,2,2,4],"span":[357,2,10]},{"path":[4,7,2,2,6],"span":[357,11,27]},{"path":[4,7,2,2,1],"span":[357,28,35]},{"path":[4,7,2,2,3],"span":[357,38,39]},{"path":[4,8],"span":[361,0,366,1],"leadingComments":" Describes a service.\n"},{"path":[4,8,1],"span":[361,8,30]},{"path":[4,8,2,0],"span":[362,2,27]},{"path":[4,8,2,0,4],"span":[362,2,10]},{"path":[4,8,2,0,5],"span":[362,11,17]},{"path":[4,8,2,0,1],"span":[362,18,22]},{"path":[4,8,2,0,3],"span":[362,25,26]},{"path":[4,8,2,1],"span":[363,2,44]},{"path":[4,8,2,1,4],"span":[363,2,10]},{"path":[4,8,2,1,6],"span":[363,11,32]},{"path":[4,8,2,1,1],"span":[363,33,39]},{"path":[4,8,2,1,3],"span":[363,42,43]},{"path":[4,8,2,2],"span":[365,2,38]},{"path":[4,8,2,2,4],"span":[365,2,10]},{"path":[4,8,2,2,6],"span":[365,11,25]},{"path":[4,8,2,2,1],"span":[365,26,33]},{"path":[4,8,2,2,3],"span":[365,36,37]},{"path":[4,9],"span":[369,0,383,1],"leadingComments":" Describes a method of a service.\n"},{"path":[4,9,1],"span":[369,8,29]},{"path":[4,9,2,0],"span":[370,2,27]},{"path":[4,9,2,0,4],"span":[370,2,10]},{"path":[4,9,2,0,5],"span":[370,11,17]},{"path":[4,9,2,0,1],"span":[370,18,22]},{"path":[4,9,2,0,3],"span":[370,25,26]},{"path":[4,9,2,1],"span":[374,2,33],"leadingComments":" Input and output type names. These are resolved in the same way as\n FieldDescriptorProto.type_name, but must refer to a message type.\n"},{"path":[4,9,2,1,4],"span":[374,2,10]},{"path":[4,9,2,1,5],"span":[374,11,17]},{"path":[4,9,2,1,1],"span":[374,18,28]},{"path":[4,9,2,1,3],"span":[374,31,32]},{"path":[4,9,2,2],"span":[375,2,34]},{"path":[4,9,2,2,4],"span":[375,2,10]},{"path":[4,9,2,2,5],"span":[375,11,17]},{"path":[4,9,2,2,1],"span":[375,18,29]},{"path":[4,9,2,2,3],"span":[375,32,33]},{"path":[4,9,2,3],"span":[377,2,37]},{"path":[4,9,2,3,4],"span":[377,2,10]},{"path":[4,9,2,3,6],"span":[377,11,24]},{"path":[4,9,2,3,1],"span":[377,25,32]},{"path":[4,9,2,3,3],"span":[377,35,36]},{"path":[4,9,2,4],"span":[380,2,55],"leadingComments":" Identifies if client streams multiple client messages\n"},{"path":[4,9,2,4,4],"span":[380,2,10]},{"path":[4,9,2,4,5],"span":[380,11,15]},{"path":[4,9,2,4,1],"span":[380,16,32]},{"path":[4,9,2,4,3],"span":[380,35,36]},{"path":[4,9,2,4,8],"span":[380,37,54]},{"path":[4,9,2,4,7],"span":[380,38,53]},{"path":[4,9,2,5],"span":[382,2,55],"leadingComments":" Identifies if server streams multiple server messages\n"},{"path":[4,9,2,5,4],"span":[382,2,10]},{"path":[4,9,2,5,5],"span":[382,11,15]},{"path":[4,9,2,5,1],"span":[382,16,32]},{"path":[4,9,2,5,3],"span":[382,35,36]},{"path":[4,9,2,5,8],"span":[382,37,54]},{"path":[4,9,2,5,7],"span":[382,38,53]},{"path":[4,10],"span":[417,0,536,1],"leadingDetachedComments":[" ===================================================================\n Options\n"," Each of the definitions above may have \"options\" attached. These are\n just annotations which may cause code to be generated slightly differently\n or may contain hints for code that manipulates protocol messages.\n\n Clients may define custom options as extensions of the *Options messages.\n These extensions may not yet be known at parsing time, so the parser cannot\n store the values in them. Instead it stores them in a field in the *Options\n message called uninterpreted_option. This field must have the same name\n across all *Options messages. We then use this field to populate the\n extensions when we build a descriptor, at which point all protos have been\n parsed and so all extensions are known.\n\n Extension numbers for custom options may be chosen as follows:\n * For options which will only be used within a single application or\n organization, or for experimental options, use field numbers 50000\n through 99999. It is up to you to ensure that you do not use the\n same number for multiple options.\n * For options which will be published and used publicly by multiple\n independent entities, e-mail protobuf-global-extension-registry@google.com\n to reserve extension numbers. Simply provide your project name (e.g.\n Objective-C plugin) and your project website (if available) -- there's no\n need to explain how you intend to use them. Usually you only need one\n extension number. You can declare multiple options with only one extension\n number by putting them in a sub-message. See the Custom Options section of\n the docs for examples:\n https://developers.google.com/protocol-buffers/docs/proto#options\n If this turns out to be popular, a web service will be set up\n to automatically assign option numbers.\n"]},{"path":[4,10,1],"span":[417,8,19]},{"path":[4,10,2,0],"span":[423,2,35],"leadingComments":" Sets the Java package where classes generated from this .proto will be\n placed. By default, the proto package is used, but this is often\n inappropriate because proto packages do not normally start with backwards\n domain names.\n"},{"path":[4,10,2,0,4],"span":[423,2,10]},{"path":[4,10,2,0,5],"span":[423,11,17]},{"path":[4,10,2,0,1],"span":[423,18,30]},{"path":[4,10,2,0,3],"span":[423,33,34]},{"path":[4,10,2,1],"span":[430,2,43],"leadingComments":" Controls the name of the wrapper Java class generated for the .proto file.\n That class will always contain the .proto file's getDescriptor() method as\n well as any top-level extensions defined in the .proto file.\n If java_multiple_files is disabled, then all the other classes from the\n .proto file will be nested inside the single wrapper outer class.\n"},{"path":[4,10,2,1,4],"span":[430,2,10]},{"path":[4,10,2,1,5],"span":[430,11,17]},{"path":[4,10,2,1,1],"span":[430,18,38]},{"path":[4,10,2,1,3],"span":[430,41,42]},{"path":[4,10,2,2],"span":[438,2,59],"leadingComments":" If enabled, then the Java code generator will generate a separate .java\n file for each top-level message, enum, and service defined in the .proto\n file. Thus, these types will *not* be nested inside the wrapper class\n named by java_outer_classname. However, the wrapper class will still be\n generated to contain the file's getDescriptor() method as well as any\n top-level extensions defined in the file.\n"},{"path":[4,10,2,2,4],"span":[438,2,10]},{"path":[4,10,2,2,5],"span":[438,11,15]},{"path":[4,10,2,2,1],"span":[438,16,35]},{"path":[4,10,2,2,3],"span":[438,38,40]},{"path":[4,10,2,2,8],"span":[438,41,58]},{"path":[4,10,2,2,7],"span":[438,42,57]},{"path":[4,10,2,3],"span":[441,2,69],"leadingComments":" This option does nothing.\n"},{"path":[4,10,2,3,4],"span":[441,2,10]},{"path":[4,10,2,3,5],"span":[441,11,15]},{"path":[4,10,2,3,1],"span":[441,16,45]},{"path":[4,10,2,3,3],"span":[441,48,50]},{"path":[4,10,2,3,8],"span":[441,51,68]},{"path":[4,10,2,3,8,3],"span":[441,52,67]},{"path":[4,10,2,4],"span":[449,2,62],"leadingComments":" If set true, then the Java2 code generator will generate code that\n throws an exception whenever an attempt is made to assign a non-UTF-8\n byte sequence to a string field.\n Message reflection will do the same.\n However, an extension field still accepts non-UTF-8 byte sequences.\n This option has no effect on when used with the lite runtime.\n"},{"path":[4,10,2,4,4],"span":[449,2,10]},{"path":[4,10,2,4,5],"span":[449,11,15]},{"path":[4,10,2,4,1],"span":[449,16,38]},{"path":[4,10,2,4,3],"span":[449,41,43]},{"path":[4,10,2,4,8],"span":[449,44,61]},{"path":[4,10,2,4,7],"span":[449,45,60]},{"path":[4,10,4,0],"span":[452,2,457,3],"leadingComments":" Generated classes can be optimized for speed or code size.\n"},{"path":[4,10,4,0,1],"span":[452,7,19]},{"path":[4,10,4,0,2,0],"span":[453,4,14],"trailingComments":" Generate complete code for parsing, serialization,\n"},{"path":[4,10,4,0,2,0,1],"span":[453,4,9]},{"path":[4,10,4,0,2,0,2],"span":[453,12,13]},{"path":[4,10,4,0,2,1],"span":[455,4,18],"leadingComments":" etc.\n","trailingComments":" Use ReflectionOps to implement these methods.\n"},{"path":[4,10,4,0,2,1,1],"span":[455,4,13]},{"path":[4,10,4,0,2,1,2],"span":[455,16,17]},{"path":[4,10,4,0,2,2],"span":[456,4,21],"trailingComments":" Generate code using MessageLite and the lite runtime.\n"},{"path":[4,10,4,0,2,2,1],"span":[456,4,16]},{"path":[4,10,4,0,2,2,2],"span":[456,19,20]},{"path":[4,10,2,5],"span":[458,2,59]},{"path":[4,10,2,5,4],"span":[458,2,10]},{"path":[4,10,2,5,6],"span":[458,11,23]},{"path":[4,10,2,5,1],"span":[458,24,36]},{"path":[4,10,2,5,3],"span":[458,39,40]},{"path":[4,10,2,5,8],"span":[458,41,58]},{"path":[4,10,2,5,7],"span":[458,42,57]},{"path":[4,10,2,6],"span":[465,2,34],"leadingComments":" Sets the Go package where structs generated from this .proto will be\n placed. If omitted, the Go package will be derived from the following:\n - The basename of the package import path, if provided.\n - Otherwise, the package statement in the .proto file, if present.\n - Otherwise, the basename of the .proto file, without extension.\n"},{"path":[4,10,2,6,4],"span":[465,2,10]},{"path":[4,10,2,6,5],"span":[465,11,17]},{"path":[4,10,2,6,1],"span":[465,18,28]},{"path":[4,10,2,6,3],"span":[465,31,33]},{"path":[4,10,2,7],"span":[477,2,59],"leadingComments":" Should generic services be generated in each language? \"Generic\" services\n are not specific to any particular RPC system. They are generated by the\n main code generators in each language (without additional plugins).\n Generic services were the only kind of service generation supported by\n early versions of google.protobuf.\n\n Generic services are now considered deprecated in favor of using plugins\n that generate code specific to your particular RPC system. Therefore,\n these default to false. Old code which depends on generic services should\n explicitly set them to true.\n"},{"path":[4,10,2,7,4],"span":[477,2,10]},{"path":[4,10,2,7,5],"span":[477,11,15]},{"path":[4,10,2,7,1],"span":[477,16,35]},{"path":[4,10,2,7,3],"span":[477,38,40]},{"path":[4,10,2,7,8],"span":[477,41,58]},{"path":[4,10,2,7,7],"span":[477,42,57]},{"path":[4,10,2,8],"span":[478,2,61]},{"path":[4,10,2,8,4],"span":[478,2,10]},{"path":[4,10,2,8,5],"span":[478,11,15]},{"path":[4,10,2,8,1],"span":[478,16,37]},{"path":[4,10,2,8,3],"span":[478,40,42]},{"path":[4,10,2,8,8],"span":[478,43,60]},{"path":[4,10,2,8,7],"span":[478,44,59]},{"path":[4,10,2,9],"span":[479,2,59]},{"path":[4,10,2,9,4],"span":[479,2,10]},{"path":[4,10,2,9,5],"span":[479,11,15]},{"path":[4,10,2,9,1],"span":[479,16,35]},{"path":[4,10,2,9,3],"span":[479,38,40]},{"path":[4,10,2,9,8],"span":[479,41,58]},{"path":[4,10,2,9,7],"span":[479,42,57]},{"path":[4,10,2,10],"span":[480,2,60]},{"path":[4,10,2,10,4],"span":[480,2,10]},{"path":[4,10,2,10,5],"span":[480,11,15]},{"path":[4,10,2,10,1],"span":[480,16,36]},{"path":[4,10,2,10,3],"span":[480,39,41]},{"path":[4,10,2,10,8],"span":[480,42,59]},{"path":[4,10,2,10,7],"span":[480,43,58]},{"path":[4,10,2,11],"span":[486,2,50],"leadingComments":" Is this file deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for everything in the file, or it will be completely ignored; in the very\n least, this is a formalization for deprecating files.\n"},{"path":[4,10,2,11,4],"span":[486,2,10]},{"path":[4,10,2,11,5],"span":[486,11,15]},{"path":[4,10,2,11,1],"span":[486,16,26]},{"path":[4,10,2,11,3],"span":[486,29,31]},{"path":[4,10,2,11,8],"span":[486,32,49]},{"path":[4,10,2,11,7],"span":[486,33,48]},{"path":[4,10,2,12],"span":[490,2,55],"leadingComments":" Enables the use of arenas for the proto messages in this file. This applies\n only to generated classes for C++.\n"},{"path":[4,10,2,12,4],"span":[490,2,10]},{"path":[4,10,2,12,5],"span":[490,11,15]},{"path":[4,10,2,12,1],"span":[490,16,32]},{"path":[4,10,2,12,3],"span":[490,35,37]},{"path":[4,10,2,12,8],"span":[490,38,54]},{"path":[4,10,2,12,7],"span":[490,39,53]},{"path":[4,10,2,13],"span":[494,2,41],"leadingComments":" Sets the objective c class prefix which is prepended to all objective c\n generated classes from this .proto. There is no default.\n"},{"path":[4,10,2,13,4],"span":[494,2,10]},{"path":[4,10,2,13,5],"span":[494,11,17]},{"path":[4,10,2,13,1],"span":[494,18,35]},{"path":[4,10,2,13,3],"span":[494,38,40]},{"path":[4,10,2,14],"span":[497,2,40],"leadingComments":" Namespace for generated classes; defaults to the package.\n"},{"path":[4,10,2,14,4],"span":[497,2,10]},{"path":[4,10,2,14,5],"span":[497,11,17]},{"path":[4,10,2,14,1],"span":[497,18,34]},{"path":[4,10,2,14,3],"span":[497,37,39]},{"path":[4,10,2,15],"span":[503,2,36],"leadingComments":" By default Swift generators will take the proto package and CamelCase it\n replacing '.' with underscore and use that to prefix the types/symbols\n defined. When this options is provided, they will use this value instead\n to prefix the types/symbols defined.\n"},{"path":[4,10,2,15,4],"span":[503,2,10]},{"path":[4,10,2,15,5],"span":[503,11,17]},{"path":[4,10,2,15,1],"span":[503,18,30]},{"path":[4,10,2,15,3],"span":[503,33,35]},{"path":[4,10,2,16],"span":[507,2,40],"leadingComments":" Sets the php class prefix which is prepended to all php generated classes\n from this .proto. Default is empty.\n"},{"path":[4,10,2,16,4],"span":[507,2,10]},{"path":[4,10,2,16,5],"span":[507,11,17]},{"path":[4,10,2,16,1],"span":[507,18,34]},{"path":[4,10,2,16,3],"span":[507,37,39]},{"path":[4,10,2,17],"span":[512,2,37],"leadingComments":" Use this option to change the namespace of php generated classes. Default\n is empty. When this option is empty, the package name will be used for\n determining the namespace.\n"},{"path":[4,10,2,17,4],"span":[512,2,10]},{"path":[4,10,2,17,5],"span":[512,11,17]},{"path":[4,10,2,17,1],"span":[512,18,31]},{"path":[4,10,2,17,3],"span":[512,34,36]},{"path":[4,10,2,18],"span":[517,2,46],"leadingComments":" Use this option to change the namespace of php generated metadata classes.\n Default is empty. When this option is empty, the proto file name will be\n used for determining the namespace.\n"},{"path":[4,10,2,18,4],"span":[517,2,10]},{"path":[4,10,2,18,5],"span":[517,11,17]},{"path":[4,10,2,18,1],"span":[517,18,40]},{"path":[4,10,2,18,3],"span":[517,43,45]},{"path":[4,10,2,19],"span":[522,2,36],"leadingComments":" Use this option to change the package of ruby generated classes. Default\n is empty. When this option is not set, the package name will be used for\n determining the ruby package.\n"},{"path":[4,10,2,19,4],"span":[522,2,10]},{"path":[4,10,2,19,5],"span":[522,11,17]},{"path":[4,10,2,19,1],"span":[522,18,30]},{"path":[4,10,2,19,3],"span":[522,33,35]},{"path":[4,10,2,20],"span":[525,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,10,2,20,4],"span":[525,2,10]},{"path":[4,10,2,20,6],"span":[525,11,21]},{"path":[4,10,2,20,1],"span":[525,22,30]},{"path":[4,10,2,20,3],"span":[525,33,35]},{"path":[4,10,2,21],"span":[529,2,58],"leadingComments":" The parser stores options it doesn't recognize here.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,2,21,4],"span":[529,2,10]},{"path":[4,10,2,21,6],"span":[529,11,30]},{"path":[4,10,2,21,1],"span":[529,31,51]},{"path":[4,10,2,21,3],"span":[529,54,57]},{"path":[4,10,5],"span":[533,2,25],"leadingComments":" Clients can define custom options in extensions of this message.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,5,0],"span":[533,13,24]},{"path":[4,10,5,0,1],"span":[533,13,17]},{"path":[4,10,5,0,2],"span":[533,21,24]},{"path":[4,10,9],"span":[535,2,14]},{"path":[4,10,9,0],"span":[535,11,13]},{"path":[4,10,9,0,1],"span":[535,11,13]},{"path":[4,10,9,0,2],"span":[535,11,13]},{"path":[4,11],"span":[538,0,618,1]},{"path":[4,11,1],"span":[538,8,22]},{"path":[4,11,2,0],"span":[557,2,62],"leadingComments":" Set true to use the old proto1 MessageSet wire format for extensions.\n This is provided for backwards-compatibility with the MessageSet wire\n format. You should not use this for any other reason: It's less\n efficient, has fewer features, and is more complicated.\n\n The message must be defined exactly as follows:\n message Foo {\n option message_set_wire_format = true;\n extensions 4 to max;\n }\n Note that the message cannot have any defined fields; MessageSets only\n have extensions.\n\n All extensions of your type must be singular messages; e.g. they cannot\n be int32s, enums, or repeated messages.\n\n Because this is an option, the above two restrictions are not enforced by\n the protocol compiler.\n"},{"path":[4,11,2,0,4],"span":[557,2,10]},{"path":[4,11,2,0,5],"span":[557,11,15]},{"path":[4,11,2,0,1],"span":[557,16,39]},{"path":[4,11,2,0,3],"span":[557,42,43]},{"path":[4,11,2,0,8],"span":[557,44,61]},{"path":[4,11,2,0,7],"span":[557,45,60]},{"path":[4,11,2,1],"span":[562,2,70],"leadingComments":" Disables the generation of the standard \"descriptor()\" accessor, which can\n conflict with a field of the same name. This is meant to make migration\n from proto1 easier; new code should avoid fields named \"descriptor\".\n"},{"path":[4,11,2,1,4],"span":[562,2,10]},{"path":[4,11,2,1,5],"span":[562,11,15]},{"path":[4,11,2,1,1],"span":[562,16,47]},{"path":[4,11,2,1,3],"span":[562,50,51]},{"path":[4,11,2,1,8],"span":[562,52,69]},{"path":[4,11,2,1,7],"span":[562,53,68]},{"path":[4,11,2,2],"span":[568,2,49],"leadingComments":" Is this message deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the message, or it will be completely ignored; in the very least,\n this is a formalization for deprecating messages.\n"},{"path":[4,11,2,2,4],"span":[568,2,10]},{"path":[4,11,2,2,5],"span":[568,11,15]},{"path":[4,11,2,2,1],"span":[568,16,26]},{"path":[4,11,2,2,3],"span":[568,29,30]},{"path":[4,11,2,2,8],"span":[568,31,48]},{"path":[4,11,2,2,7],"span":[568,32,47]},{"path":[4,11,9],"span":[570,2,19]},{"path":[4,11,9,0],"span":[570,11,12]},{"path":[4,11,9,0,1],"span":[570,11,12]},{"path":[4,11,9,0,2],"span":[570,11,12]},{"path":[4,11,9,1],"span":[570,14,15]},{"path":[4,11,9,1,1],"span":[570,14,15]},{"path":[4,11,9,1,2],"span":[570,14,15]},{"path":[4,11,9,2],"span":[570,17,18]},{"path":[4,11,9,2,1],"span":[570,17,18]},{"path":[4,11,9,2,2],"span":[570,17,18]},{"path":[4,11,2,3],"span":[593,2,30],"leadingComments":" NOTE: Do not set the option in .proto files. Always use the maps syntax\n instead. The option should only be implicitly set by the proto compiler\n parser.\n\n Whether the message is an automatically generated map entry type for the\n maps field.\n\n For maps fields:\n map map_field = 1;\n The parsed descriptor looks like:\n message MapFieldEntry {\n option map_entry = true;\n optional KeyType key = 1;\n optional ValueType value = 2;\n }\n repeated MapFieldEntry map_field = 1;\n\n Implementations may choose not to generate the map_entry=true message, but\n use a native map in the target language to hold the keys and values.\n The reflection APIs in such implementations still need to work as\n if the field is a repeated message field.\n"},{"path":[4,11,2,3,4],"span":[593,2,10]},{"path":[4,11,2,3,5],"span":[593,11,15]},{"path":[4,11,2,3,1],"span":[593,16,25]},{"path":[4,11,2,3,3],"span":[593,28,29]},{"path":[4,11,9],"span":[595,2,13],"trailingComments":" javalite_serializable\n"},{"path":[4,11,9,3],"span":[595,11,12]},{"path":[4,11,9,3,1],"span":[595,11,12]},{"path":[4,11,9,3,2],"span":[595,11,12]},{"path":[4,11,9],"span":[596,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,11,9,4],"span":[596,11,12]},{"path":[4,11,9,4,1],"span":[596,11,12]},{"path":[4,11,9,4,2],"span":[596,11,12]},{"path":[4,11,2,4],"span":[608,2,80],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n\n This should only be used as a temporary measure against broken builds due\n to the change in behavior for JSON field name conflicts.\n\n TODO This is legacy behavior we plan to remove once downstream\n teams have had time to migrate.\n"},{"path":[4,11,2,4,4],"span":[608,2,10]},{"path":[4,11,2,4,5],"span":[608,11,15]},{"path":[4,11,2,4,1],"span":[608,16,54]},{"path":[4,11,2,4,3],"span":[608,57,59]},{"path":[4,11,2,4,8],"span":[608,60,79]},{"path":[4,11,2,4,8,3],"span":[608,61,78]},{"path":[4,11,2,5],"span":[611,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,11,2,5,4],"span":[611,2,10]},{"path":[4,11,2,5,6],"span":[611,11,21]},{"path":[4,11,2,5,1],"span":[611,22,30]},{"path":[4,11,2,5,3],"span":[611,33,35]},{"path":[4,11,2,6],"span":[614,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,11,2,6,4],"span":[614,2,10]},{"path":[4,11,2,6,6],"span":[614,11,30]},{"path":[4,11,2,6,1],"span":[614,31,51]},{"path":[4,11,2,6,3],"span":[614,54,57]},{"path":[4,11,5],"span":[617,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,11,5,0],"span":[617,13,24]},{"path":[4,11,5,0,1],"span":[617,13,17]},{"path":[4,11,5,0,2],"span":[617,21,24]},{"path":[4,12],"span":[620,0,771,1]},{"path":[4,12,1],"span":[620,8,20]},{"path":[4,12,2,0],"span":[627,2,46],"leadingComments":" The ctype option instructs the C++ code generator to use a different\n representation of the field than it normally would. See the specific\n options below. This option is only implemented to support use of\n [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n type \"bytes\" in the open source release -- sorry, we'll try to include\n other types in a future version!\n"},{"path":[4,12,2,0,4],"span":[627,2,10]},{"path":[4,12,2,0,6],"span":[627,11,16]},{"path":[4,12,2,0,1],"span":[627,17,22]},{"path":[4,12,2,0,3],"span":[627,25,26]},{"path":[4,12,2,0,8],"span":[627,27,45]},{"path":[4,12,2,0,7],"span":[627,28,44]},{"path":[4,12,4,0],"span":[628,2,641,3]},{"path":[4,12,4,0,1],"span":[628,7,12]},{"path":[4,12,4,0,2,0],"span":[630,4,15],"leadingComments":" Default mode.\n"},{"path":[4,12,4,0,2,0,1],"span":[630,4,10]},{"path":[4,12,4,0,2,0,2],"span":[630,13,14]},{"path":[4,12,4,0,2,1],"span":[638,4,13],"leadingComments":" The option [ctype=CORD] may be applied to a non-repeated field of type\n \"bytes\". It indicates that in C++, the data should be stored in a Cord\n instead of a string. For very large strings, this may reduce memory\n fragmentation. It may also allow better performance when parsing from a\n Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n alias the original buffer.\n"},{"path":[4,12,4,0,2,1,1],"span":[638,4,8]},{"path":[4,12,4,0,2,1,2],"span":[638,11,12]},{"path":[4,12,4,0,2,2],"span":[640,4,21]},{"path":[4,12,4,0,2,2,1],"span":[640,4,16]},{"path":[4,12,4,0,2,2,2],"span":[640,19,20]},{"path":[4,12,2,1],"span":[649,2,27],"leadingComments":" The packed option can be enabled for repeated primitive fields to enable\n a more efficient representation on the wire. Rather than repeatedly\n writing the tag and type for each element, the entire array is encoded as\n a single length-delimited blob. In proto3, only explicit setting it to\n false will avoid using packed encoding. This option is prohibited in\n Editions, but the `repeated_field_encoding` feature can be used to control\n the behavior.\n"},{"path":[4,12,2,1,4],"span":[649,2,10]},{"path":[4,12,2,1,5],"span":[649,11,15]},{"path":[4,12,2,1,1],"span":[649,16,22]},{"path":[4,12,2,1,3],"span":[649,25,26]},{"path":[4,12,2,2],"span":[662,2,51],"leadingComments":" The jstype option determines the JavaScript type used for values of the\n field. The option is permitted only for 64 bit integral and fixed types\n (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n is represented as JavaScript string, which avoids loss of precision that\n can happen when a large value is converted to a floating point JavaScript.\n Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n use the JavaScript \"number\" type. The behavior of the default option\n JS_NORMAL is implementation dependent.\n\n This option is an enum to permit additional types to be added, e.g.\n goog.math.Integer.\n"},{"path":[4,12,2,2,4],"span":[662,2,10]},{"path":[4,12,2,2,6],"span":[662,11,17]},{"path":[4,12,2,2,1],"span":[662,18,24]},{"path":[4,12,2,2,3],"span":[662,27,28]},{"path":[4,12,2,2,8],"span":[662,29,50]},{"path":[4,12,2,2,7],"span":[662,30,49]},{"path":[4,12,4,1],"span":[663,2,672,3]},{"path":[4,12,4,1,1],"span":[663,7,13]},{"path":[4,12,4,1,2,0],"span":[665,4,18],"leadingComments":" Use the default type.\n"},{"path":[4,12,4,1,2,0,1],"span":[665,4,13]},{"path":[4,12,4,1,2,0,2],"span":[665,16,17]},{"path":[4,12,4,1,2,1],"span":[668,4,18],"leadingComments":" Use JavaScript strings.\n"},{"path":[4,12,4,1,2,1,1],"span":[668,4,13]},{"path":[4,12,4,1,2,1,2],"span":[668,16,17]},{"path":[4,12,4,1,2,2],"span":[671,4,18],"leadingComments":" Use JavaScript numbers.\n"},{"path":[4,12,4,1,2,2,1],"span":[671,4,13]},{"path":[4,12,4,1,2,2,2],"span":[671,16,17]},{"path":[4,12,2,3],"span":[704,2,43],"leadingComments":" Should this field be parsed lazily? Lazy applies only to message-type\n fields. It means that when the outer message is initially parsed, the\n inner message's contents will not be parsed but instead stored in encoded\n form. The inner message will actually be parsed when it is first accessed.\n\n This is only a hint. Implementations are free to choose whether to use\n eager or lazy parsing regardless of the value of this option. However,\n setting this option true suggests that the protocol author believes that\n using lazy parsing on this field is worth the additional bookkeeping\n overhead typically needed to implement it.\n\n This option does not affect the public interface of any generated code;\n all method signatures remain the same. Furthermore, thread-safety of the\n interface is not affected by this option; const methods remain safe to\n call from multiple threads concurrently, while non-const methods continue\n to require exclusive access.\n\n Note that implementations may choose not to check required fields within\n a lazy sub-message. That is, calling IsInitialized() on the outer message\n may return true even if the inner message has missing required fields.\n This is necessary because otherwise the inner message would have to be\n parsed in order to perform the check, defeating the purpose of lazy\n parsing. An implementation which chooses not to check required fields\n must be consistent about it. That is, for any particular sub-message, the\n implementation must either *always* check its required fields, or *never*\n check its required fields, regardless of whether or not the message has\n been parsed.\n\n As of May 2022, lazy verifies the contents of the byte stream during\n parsing. An invalid byte stream will cause the overall parsing to fail.\n"},{"path":[4,12,2,3,4],"span":[704,2,10]},{"path":[4,12,2,3,5],"span":[704,11,15]},{"path":[4,12,2,3,1],"span":[704,16,20]},{"path":[4,12,2,3,3],"span":[704,23,24]},{"path":[4,12,2,3,8],"span":[704,25,42]},{"path":[4,12,2,3,7],"span":[704,26,41]},{"path":[4,12,2,4],"span":[709,2,55],"leadingComments":" unverified_lazy does no correctness checks on the byte stream. This should\n only be used where lazy with verification is prohibitive for performance\n reasons.\n"},{"path":[4,12,2,4,4],"span":[709,2,10]},{"path":[4,12,2,4,5],"span":[709,11,15]},{"path":[4,12,2,4,1],"span":[709,16,31]},{"path":[4,12,2,4,3],"span":[709,34,36]},{"path":[4,12,2,4,8],"span":[709,37,54]},{"path":[4,12,2,4,7],"span":[709,38,53]},{"path":[4,12,2,5],"span":[715,2,49],"leadingComments":" Is this field deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for accessors, or it will be completely ignored; in the very least, this\n is a formalization for deprecating fields.\n"},{"path":[4,12,2,5,4],"span":[715,2,10]},{"path":[4,12,2,5,5],"span":[715,11,15]},{"path":[4,12,2,5,1],"span":[715,16,26]},{"path":[4,12,2,5,3],"span":[715,29,30]},{"path":[4,12,2,5,8],"span":[715,31,48]},{"path":[4,12,2,5,7],"span":[715,32,47]},{"path":[4,12,2,6],"span":[718,2,44],"leadingComments":" For Google-internal migration only. Do not use.\n"},{"path":[4,12,2,6,4],"span":[718,2,10]},{"path":[4,12,2,6,5],"span":[718,11,15]},{"path":[4,12,2,6,1],"span":[718,16,20]},{"path":[4,12,2,6,3],"span":[718,23,25]},{"path":[4,12,2,6,8],"span":[718,26,43]},{"path":[4,12,2,6,7],"span":[718,27,42]},{"path":[4,12,2,7],"span":[722,2,52],"leadingComments":" Indicate that the field value should not be printed out when using debug\n formats, e.g. when the field contains sensitive credentials.\n"},{"path":[4,12,2,7,4],"span":[722,2,10]},{"path":[4,12,2,7,5],"span":[722,11,15]},{"path":[4,12,2,7,1],"span":[722,16,28]},{"path":[4,12,2,7,3],"span":[722,31,33]},{"path":[4,12,2,7,8],"span":[722,34,51]},{"path":[4,12,2,7,7],"span":[722,35,50]},{"path":[4,12,4,2],"span":[727,2,731,3],"leadingComments":" If set to RETENTION_SOURCE, the option will be omitted from the binary.\n Note: as of January 2023, support for this is in progress and does not yet\n have an effect (b/264593489).\n"},{"path":[4,12,4,2,1],"span":[727,7,22]},{"path":[4,12,4,2,2,0],"span":[728,4,26]},{"path":[4,12,4,2,2,0,1],"span":[728,4,21]},{"path":[4,12,4,2,2,0,2],"span":[728,24,25]},{"path":[4,12,4,2,2,1],"span":[729,4,26]},{"path":[4,12,4,2,2,1,1],"span":[729,4,21]},{"path":[4,12,4,2,2,1,2],"span":[729,24,25]},{"path":[4,12,4,2,2,2],"span":[730,4,25]},{"path":[4,12,4,2,2,2,1],"span":[730,4,20]},{"path":[4,12,4,2,2,2,2],"span":[730,23,24]},{"path":[4,12,2,8],"span":[733,2,42]},{"path":[4,12,2,8,4],"span":[733,2,10]},{"path":[4,12,2,8,6],"span":[733,11,26]},{"path":[4,12,2,8,1],"span":[733,27,36]},{"path":[4,12,2,8,3],"span":[733,39,41]},{"path":[4,12,4,3],"span":[739,2,750,3],"leadingComments":" This indicates the types of entities that the field may apply to when used\n as an option. If it is unset, then the field may be freely used as an\n option on any kind of entity. Note: as of January 2023, support for this is\n in progress and does not yet have an effect (b/264593489).\n"},{"path":[4,12,4,3,1],"span":[739,7,23]},{"path":[4,12,4,3,2,0],"span":[740,4,28]},{"path":[4,12,4,3,2,0,1],"span":[740,4,23]},{"path":[4,12,4,3,2,0,2],"span":[740,26,27]},{"path":[4,12,4,3,2,1],"span":[741,4,25]},{"path":[4,12,4,3,2,1,1],"span":[741,4,20]},{"path":[4,12,4,3,2,1,2],"span":[741,23,24]},{"path":[4,12,4,3,2,2],"span":[742,4,36]},{"path":[4,12,4,3,2,2,1],"span":[742,4,31]},{"path":[4,12,4,3,2,2,2],"span":[742,34,35]},{"path":[4,12,4,3,2,3],"span":[743,4,28]},{"path":[4,12,4,3,2,3,1],"span":[743,4,23]},{"path":[4,12,4,3,2,3,2],"span":[743,26,27]},{"path":[4,12,4,3,2,4],"span":[744,4,26]},{"path":[4,12,4,3,2,4,1],"span":[744,4,21]},{"path":[4,12,4,3,2,4,2],"span":[744,24,25]},{"path":[4,12,4,3,2,5],"span":[745,4,26]},{"path":[4,12,4,3,2,5,1],"span":[745,4,21]},{"path":[4,12,4,3,2,5,2],"span":[745,24,25]},{"path":[4,12,4,3,2,6],"span":[746,4,25]},{"path":[4,12,4,3,2,6,1],"span":[746,4,20]},{"path":[4,12,4,3,2,6,2],"span":[746,23,24]},{"path":[4,12,4,3,2,7],"span":[747,4,31]},{"path":[4,12,4,3,2,7,1],"span":[747,4,26]},{"path":[4,12,4,3,2,7,2],"span":[747,29,30]},{"path":[4,12,4,3,2,8],"span":[748,4,28]},{"path":[4,12,4,3,2,8,1],"span":[748,4,23]},{"path":[4,12,4,3,2,8,2],"span":[748,26,27]},{"path":[4,12,4,3,2,9],"span":[749,4,27]},{"path":[4,12,4,3,2,9,1],"span":[749,4,22]},{"path":[4,12,4,3,2,9,2],"span":[749,25,26]},{"path":[4,12,2,9],"span":[752,2,41]},{"path":[4,12,2,9,4],"span":[752,2,10]},{"path":[4,12,2,9,6],"span":[752,11,27]},{"path":[4,12,2,9,1],"span":[752,28,35]},{"path":[4,12,2,9,3],"span":[752,38,40]},{"path":[4,12,3,0],"span":[754,2,757,3]},{"path":[4,12,3,0,1],"span":[754,10,24]},{"path":[4,12,3,0,2,0],"span":[755,4,33]},{"path":[4,12,3,0,2,0,4],"span":[755,4,12]},{"path":[4,12,3,0,2,0,6],"span":[755,13,20]},{"path":[4,12,3,0,2,0,1],"span":[755,21,28]},{"path":[4,12,3,0,2,0,3],"span":[755,31,32]},{"path":[4,12,3,0,2,1],"span":[756,4,30],"trailingComments":" Textproto value.\n"},{"path":[4,12,3,0,2,1,4],"span":[756,4,12]},{"path":[4,12,3,0,2,1,5],"span":[756,13,19]},{"path":[4,12,3,0,2,1,1],"span":[756,20,25]},{"path":[4,12,3,0,2,1,3],"span":[756,28,29]},{"path":[4,12,2,10],"span":[758,2,48]},{"path":[4,12,2,10,4],"span":[758,2,10]},{"path":[4,12,2,10,6],"span":[758,11,25]},{"path":[4,12,2,10,1],"span":[758,26,42]},{"path":[4,12,2,10,3],"span":[758,45,47]},{"path":[4,12,2,11],"span":[761,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,12,2,11,4],"span":[761,2,10]},{"path":[4,12,2,11,6],"span":[761,11,21]},{"path":[4,12,2,11,1],"span":[761,22,30]},{"path":[4,12,2,11,3],"span":[761,33,35]},{"path":[4,12,2,12],"span":[764,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,12,2,12,4],"span":[764,2,10]},{"path":[4,12,2,12,6],"span":[764,11,30]},{"path":[4,12,2,12,1],"span":[764,31,51]},{"path":[4,12,2,12,3],"span":[764,54,57]},{"path":[4,12,5],"span":[767,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,12,5,0],"span":[767,13,24]},{"path":[4,12,5,0,1],"span":[767,13,17]},{"path":[4,12,5,0,2],"span":[767,21,24]},{"path":[4,12,9],"span":[769,2,13],"trailingComments":" removed jtype\n"},{"path":[4,12,9,0],"span":[769,11,12]},{"path":[4,12,9,0,1],"span":[769,11,12]},{"path":[4,12,9,0,2],"span":[769,11,12]},{"path":[4,12,9],"span":[770,2,14],"trailingComments":" reserve target, target_obsolete_do_not_use\n"},{"path":[4,12,9,1],"span":[770,11,13]},{"path":[4,12,9,1,1],"span":[770,11,13]},{"path":[4,12,9,1,2],"span":[770,11,13]},{"path":[4,13],"span":[773,0,782,1]},{"path":[4,13,1],"span":[773,8,20]},{"path":[4,13,2,0],"span":[775,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,13,2,0,4],"span":[775,2,10]},{"path":[4,13,2,0,6],"span":[775,11,21]},{"path":[4,13,2,0,1],"span":[775,22,30]},{"path":[4,13,2,0,3],"span":[775,33,34]},{"path":[4,13,2,1],"span":[778,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,13,2,1,4],"span":[778,2,10]},{"path":[4,13,2,1,6],"span":[778,11,30]},{"path":[4,13,2,1,1],"span":[778,31,51]},{"path":[4,13,2,1,3],"span":[778,54,57]},{"path":[4,13,5],"span":[781,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,13,5,0],"span":[781,13,24]},{"path":[4,13,5,0,1],"span":[781,13,17]},{"path":[4,13,5,0,2],"span":[781,21,24]},{"path":[4,14],"span":[784,0,814,1]},{"path":[4,14,1],"span":[784,8,19]},{"path":[4,14,2,0],"span":[788,2,32],"leadingComments":" Set this option to true to allow mapping different tag names to the same\n value.\n"},{"path":[4,14,2,0,4],"span":[788,2,10]},{"path":[4,14,2,0,5],"span":[788,11,15]},{"path":[4,14,2,0,1],"span":[788,16,27]},{"path":[4,14,2,0,3],"span":[788,30,31]},{"path":[4,14,2,1],"span":[794,2,49],"leadingComments":" Is this enum deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum, or it will be completely ignored; in the very least, this\n is a formalization for deprecating enums.\n"},{"path":[4,14,2,1,4],"span":[794,2,10]},{"path":[4,14,2,1,5],"span":[794,11,15]},{"path":[4,14,2,1,1],"span":[794,16,26]},{"path":[4,14,2,1,3],"span":[794,29,30]},{"path":[4,14,2,1,8],"span":[794,31,48]},{"path":[4,14,2,1,7],"span":[794,32,47]},{"path":[4,14,9],"span":[796,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,14,9,0],"span":[796,11,12]},{"path":[4,14,9,0,1],"span":[796,11,12]},{"path":[4,14,9,0,2],"span":[796,11,12]},{"path":[4,14,2,2],"span":[804,2,79],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n TODO Remove this legacy behavior once downstream teams have\n had time to migrate.\n"},{"path":[4,14,2,2,4],"span":[804,2,10]},{"path":[4,14,2,2,5],"span":[804,11,15]},{"path":[4,14,2,2,1],"span":[804,16,54]},{"path":[4,14,2,2,3],"span":[804,57,58]},{"path":[4,14,2,2,8],"span":[804,59,78]},{"path":[4,14,2,2,8,3],"span":[804,60,77]},{"path":[4,14,2,3],"span":[807,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,14,2,3,4],"span":[807,2,10]},{"path":[4,14,2,3,6],"span":[807,11,21]},{"path":[4,14,2,3,1],"span":[807,22,30]},{"path":[4,14,2,3,3],"span":[807,33,34]},{"path":[4,14,2,4],"span":[810,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,14,2,4,4],"span":[810,2,10]},{"path":[4,14,2,4,6],"span":[810,11,30]},{"path":[4,14,2,4,1],"span":[810,31,51]},{"path":[4,14,2,4,3],"span":[810,54,57]},{"path":[4,14,5],"span":[813,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,14,5,0],"span":[813,13,24]},{"path":[4,14,5,0,1],"span":[813,13,17]},{"path":[4,14,5,0,2],"span":[813,21,24]},{"path":[4,15],"span":[816,0,836,1]},{"path":[4,15,1],"span":[816,8,24]},{"path":[4,15,2,0],"span":[821,2,49],"leadingComments":" Is this enum value deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum value, or it will be completely ignored; in the very least,\n this is a formalization for deprecating enum values.\n"},{"path":[4,15,2,0,4],"span":[821,2,10]},{"path":[4,15,2,0,5],"span":[821,11,15]},{"path":[4,15,2,0,1],"span":[821,16,26]},{"path":[4,15,2,0,3],"span":[821,29,30]},{"path":[4,15,2,0,8],"span":[821,31,48]},{"path":[4,15,2,0,7],"span":[821,32,47]},{"path":[4,15,2,1],"span":[824,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,15,2,1,4],"span":[824,2,10]},{"path":[4,15,2,1,6],"span":[824,11,21]},{"path":[4,15,2,1,1],"span":[824,22,30]},{"path":[4,15,2,1,3],"span":[824,33,34]},{"path":[4,15,2,2],"span":[829,2,51],"leadingComments":" Indicate that fields annotated with this enum value should not be printed\n out when using debug formats, e.g. when the field contains sensitive\n credentials.\n"},{"path":[4,15,2,2,4],"span":[829,2,10]},{"path":[4,15,2,2,5],"span":[829,11,15]},{"path":[4,15,2,2,1],"span":[829,16,28]},{"path":[4,15,2,2,3],"span":[829,31,32]},{"path":[4,15,2,2,8],"span":[829,33,50]},{"path":[4,15,2,2,7],"span":[829,34,49]},{"path":[4,15,2,3],"span":[832,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,15,2,3,4],"span":[832,2,10]},{"path":[4,15,2,3,6],"span":[832,11,30]},{"path":[4,15,2,3,1],"span":[832,31,51]},{"path":[4,15,2,3,3],"span":[832,54,57]},{"path":[4,15,5],"span":[835,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,15,5,0],"span":[835,13,24]},{"path":[4,15,5,0,1],"span":[835,13,17]},{"path":[4,15,5,0,2],"span":[835,21,24]},{"path":[4,16],"span":[838,0,859,1]},{"path":[4,16,1],"span":[838,8,22]},{"path":[4,16,2,0],"span":[841,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,16,2,0,4],"span":[841,2,10]},{"path":[4,16,2,0,6],"span":[841,11,21]},{"path":[4,16,2,0,1],"span":[841,22,30]},{"path":[4,16,2,0,3],"span":[841,33,35]},{"path":[4,16,2,1],"span":[852,2,50],"leadingComments":" Is this service deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the service, or it will be completely ignored; in the very least,\n this is a formalization for deprecating services.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,16,2,1,4],"span":[852,2,10]},{"path":[4,16,2,1,5],"span":[852,11,15]},{"path":[4,16,2,1,1],"span":[852,16,26]},{"path":[4,16,2,1,3],"span":[852,29,31]},{"path":[4,16,2,1,8],"span":[852,32,49]},{"path":[4,16,2,1,7],"span":[852,33,48]},{"path":[4,16,2,2],"span":[855,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,16,2,2,4],"span":[855,2,10]},{"path":[4,16,2,2,6],"span":[855,11,30]},{"path":[4,16,2,2,1],"span":[855,31,51]},{"path":[4,16,2,2,3],"span":[855,54,57]},{"path":[4,16,5],"span":[858,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,16,5,0],"span":[858,13,24]},{"path":[4,16,5,0,1],"span":[858,13,17]},{"path":[4,16,5,0,2],"span":[858,21,24]},{"path":[4,17],"span":[861,0,893,1]},{"path":[4,17,1],"span":[861,8,21]},{"path":[4,17,2,0],"span":[872,2,50],"leadingComments":" Is this method deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the method, or it will be completely ignored; in the very least,\n this is a formalization for deprecating methods.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,17,2,0,4],"span":[872,2,10]},{"path":[4,17,2,0,5],"span":[872,11,15]},{"path":[4,17,2,0,1],"span":[872,16,26]},{"path":[4,17,2,0,3],"span":[872,29,31]},{"path":[4,17,2,0,8],"span":[872,32,49]},{"path":[4,17,2,0,7],"span":[872,33,48]},{"path":[4,17,4,0],"span":[877,2,881,3],"leadingComments":" Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n or neither? HTTP based RPC implementation may choose GET verb for safe\n methods, and PUT verb for idempotent methods instead of the default POST.\n"},{"path":[4,17,4,0,1],"span":[877,7,23]},{"path":[4,17,4,0,2,0],"span":[878,4,28]},{"path":[4,17,4,0,2,0,1],"span":[878,4,23]},{"path":[4,17,4,0,2,0,2],"span":[878,26,27]},{"path":[4,17,4,0,2,1],"span":[879,4,24],"trailingComments":" implies idempotent\n"},{"path":[4,17,4,0,2,1,1],"span":[879,4,19]},{"path":[4,17,4,0,2,1,2],"span":[879,22,23]},{"path":[4,17,4,0,2,2],"span":[880,4,19],"trailingComments":" idempotent, but may have side effects\n"},{"path":[4,17,4,0,2,2,1],"span":[880,4,14]},{"path":[4,17,4,0,2,2,2],"span":[880,17,18]},{"path":[4,17,2,1],"span":[882,2,883,38]},{"path":[4,17,2,1,4],"span":[882,2,10]},{"path":[4,17,2,1,6],"span":[882,11,27]},{"path":[4,17,2,1,1],"span":[882,28,45]},{"path":[4,17,2,1,3],"span":[882,48,50]},{"path":[4,17,2,1,8],"span":[883,6,37]},{"path":[4,17,2,1,7],"span":[883,7,36]},{"path":[4,17,2,2],"span":[886,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,17,2,2,4],"span":[886,2,10]},{"path":[4,17,2,2,6],"span":[886,11,21]},{"path":[4,17,2,2,1],"span":[886,22,30]},{"path":[4,17,2,2,3],"span":[886,33,35]},{"path":[4,17,2,3],"span":[889,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,17,2,3,4],"span":[889,2,10]},{"path":[4,17,2,3,6],"span":[889,11,30]},{"path":[4,17,2,3,1],"span":[889,31,51]},{"path":[4,17,2,3,3],"span":[889,54,57]},{"path":[4,17,5],"span":[892,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,17,5,0],"span":[892,13,24]},{"path":[4,17,5,0,1],"span":[892,13,17]},{"path":[4,17,5,0,2],"span":[892,21,24]},{"path":[4,18],"span":[901,0,921,1],"leadingComments":" A message representing a option the parser does not recognize. This only\n appears in options protos created by the compiler::Parser class.\n DescriptorPool resolves these when building Descriptor objects. Therefore,\n options protos in descriptor objects (e.g. returned by Descriptor::options(),\n or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n in them.\n"},{"path":[4,18,1],"span":[901,8,27]},{"path":[4,18,3,0],"span":[907,2,910,3],"leadingComments":" The name of the uninterpreted option. Each string represents a segment in\n a dot-separated name. is_extension is true iff a segment represents an\n extension (denoted with parentheses in options specs in .proto files).\n E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n \"foo.(bar.baz).moo\".\n"},{"path":[4,18,3,0,1],"span":[907,10,18]},{"path":[4,18,3,0,2,0],"span":[908,4,34]},{"path":[4,18,3,0,2,0,4],"span":[908,4,12]},{"path":[4,18,3,0,2,0,5],"span":[908,13,19]},{"path":[4,18,3,0,2,0,1],"span":[908,20,29]},{"path":[4,18,3,0,2,0,3],"span":[908,32,33]},{"path":[4,18,3,0,2,1],"span":[909,4,35]},{"path":[4,18,3,0,2,1,4],"span":[909,4,12]},{"path":[4,18,3,0,2,1,5],"span":[909,13,17]},{"path":[4,18,3,0,2,1,1],"span":[909,18,30]},{"path":[4,18,3,0,2,1,3],"span":[909,33,34]},{"path":[4,18,2,0],"span":[911,2,29]},{"path":[4,18,2,0,4],"span":[911,2,10]},{"path":[4,18,2,0,6],"span":[911,11,19]},{"path":[4,18,2,0,1],"span":[911,20,24]},{"path":[4,18,2,0,3],"span":[911,27,28]},{"path":[4,18,2,1],"span":[915,2,39],"leadingComments":" The value of the uninterpreted option, in whatever type the tokenizer\n identified it as during parsing. Exactly one of these should be set.\n"},{"path":[4,18,2,1,4],"span":[915,2,10]},{"path":[4,18,2,1,5],"span":[915,11,17]},{"path":[4,18,2,1,1],"span":[915,18,34]},{"path":[4,18,2,1,3],"span":[915,37,38]},{"path":[4,18,2,2],"span":[916,2,41]},{"path":[4,18,2,2,4],"span":[916,2,10]},{"path":[4,18,2,2,5],"span":[916,11,17]},{"path":[4,18,2,2,1],"span":[916,18,36]},{"path":[4,18,2,2,3],"span":[916,39,40]},{"path":[4,18,2,3],"span":[917,2,40]},{"path":[4,18,2,3,4],"span":[917,2,10]},{"path":[4,18,2,3,5],"span":[917,11,16]},{"path":[4,18,2,3,1],"span":[917,17,35]},{"path":[4,18,2,3,3],"span":[917,38,39]},{"path":[4,18,2,4],"span":[918,2,35]},{"path":[4,18,2,4,4],"span":[918,2,10]},{"path":[4,18,2,4,5],"span":[918,11,17]},{"path":[4,18,2,4,1],"span":[918,18,30]},{"path":[4,18,2,4,3],"span":[918,33,34]},{"path":[4,18,2,5],"span":[919,2,34]},{"path":[4,18,2,5,4],"span":[919,2,10]},{"path":[4,18,2,5,5],"span":[919,11,16]},{"path":[4,18,2,5,1],"span":[919,17,29]},{"path":[4,18,2,5,3],"span":[919,32,33]},{"path":[4,18,2,6],"span":[920,2,38]},{"path":[4,18,2,6,4],"span":[920,2,10]},{"path":[4,18,2,6,5],"span":[920,11,17]},{"path":[4,18,2,6,1],"span":[920,18,33]},{"path":[4,18,2,6,3],"span":[920,36,37]},{"path":[4,19],"span":[932,0,1019,1],"leadingComments":" TODO Enums in C++ gencode (and potentially other languages) are\n not well scoped. This means that each of the feature enums below can clash\n with each other. The short names we've chosen maximize call-site\n readability, but leave us very open to this scenario. A future feature will\n be designed and implemented to handle this, hopefully before we ever hit a\n conflict here.\n","leadingDetachedComments":[" ===================================================================\n Features\n"]},{"path":[4,19,1],"span":[932,8,18]},{"path":[4,19,4,0],"span":[933,2,938,3]},{"path":[4,19,4,0,1],"span":[933,7,20]},{"path":[4,19,4,0,2,0],"span":[934,4,31]},{"path":[4,19,4,0,2,0,1],"span":[934,4,26]},{"path":[4,19,4,0,2,0,2],"span":[934,29,30]},{"path":[4,19,4,0,2,1],"span":[935,4,17]},{"path":[4,19,4,0,2,1,1],"span":[935,4,12]},{"path":[4,19,4,0,2,1,2],"span":[935,15,16]},{"path":[4,19,4,0,2,2],"span":[936,4,17]},{"path":[4,19,4,0,2,2,1],"span":[936,4,12]},{"path":[4,19,4,0,2,2,2],"span":[936,15,16]},{"path":[4,19,4,0,2,3],"span":[937,4,24]},{"path":[4,19,4,0,2,3,1],"span":[937,4,19]},{"path":[4,19,4,0,2,3,2],"span":[937,22,23]},{"path":[4,19,2,0],"span":[939,2,946,4]},{"path":[4,19,2,0,4],"span":[939,2,10]},{"path":[4,19,2,0,6],"span":[939,11,24]},{"path":[4,19,2,0,1],"span":[939,25,39]},{"path":[4,19,2,0,3],"span":[939,42,43]},{"path":[4,19,2,0,8],"span":[939,44,946,3]},{"path":[4,19,2,0,8,17],"span":[940,4,33]},{"path":[4,19,2,0,8,19,0],"span":[941,4,31]},{"path":[4,19,2,0,8,19,1],"span":[942,4,30]},{"path":[4,19,2,0,8,20,0],"span":[943,4,69]},{"path":[4,19,2,0,8,20,0,3],"span":[943,25,48]},{"path":[4,19,2,0,8,20,0,2],"span":[943,50,67]},{"path":[4,19,2,0,8,20,1],"span":[944,4,69]},{"path":[4,19,2,0,8,20,1,3],"span":[944,25,48]},{"path":[4,19,2,0,8,20,1,2],"span":[944,50,67]},{"path":[4,19,2,0,8,20,2],"span":[945,4,67]},{"path":[4,19,2,0,8,20,2,3],"span":[945,25,46]},{"path":[4,19,2,0,8,20,2,2],"span":[945,48,65]},{"path":[4,19,4,1],"span":[948,2,952,3]},{"path":[4,19,4,1,1],"span":[948,7,15]},{"path":[4,19,4,1,2,0],"span":[949,4,26]},{"path":[4,19,4,1,2,0,1],"span":[949,4,21]},{"path":[4,19,4,1,2,0,2],"span":[949,24,25]},{"path":[4,19,4,1,2,1],"span":[950,4,13]},{"path":[4,19,4,1,2,1,1],"span":[950,4,8]},{"path":[4,19,4,1,2,1,2],"span":[950,11,12]},{"path":[4,19,4,1,2,2],"span":[951,4,15]},{"path":[4,19,4,1,2,2,1],"span":[951,4,10]},{"path":[4,19,4,1,2,2,2],"span":[951,13,14]},{"path":[4,19,2,1],"span":[953,2,959,4]},{"path":[4,19,2,1,4],"span":[953,2,10]},{"path":[4,19,2,1,6],"span":[953,11,19]},{"path":[4,19,2,1,1],"span":[953,20,29]},{"path":[4,19,2,1,3],"span":[953,32,33]},{"path":[4,19,2,1,8],"span":[953,34,959,3]},{"path":[4,19,2,1,8,17],"span":[954,4,33]},{"path":[4,19,2,1,8,19,0],"span":[955,4,30]},{"path":[4,19,2,1,8,19,1],"span":[956,4,30]},{"path":[4,19,2,1,8,20,0],"span":[957,4,67]},{"path":[4,19,2,1,8,20,0,3],"span":[957,25,48]},{"path":[4,19,2,1,8,20,0,2],"span":[957,50,65]},{"path":[4,19,2,1,8,20,1],"span":[958,4,65]},{"path":[4,19,2,1,8,20,1,3],"span":[958,25,48]},{"path":[4,19,2,1,8,20,1,2],"span":[958,50,63]},{"path":[4,19,4,2],"span":[961,2,965,3]},{"path":[4,19,4,2,1],"span":[961,7,28]},{"path":[4,19,4,2,2,0],"span":[962,4,40]},{"path":[4,19,4,2,2,0,1],"span":[962,4,35]},{"path":[4,19,4,2,2,0,2],"span":[962,38,39]},{"path":[4,19,4,2,2,1],"span":[963,4,15]},{"path":[4,19,4,2,2,1,1],"span":[963,4,10]},{"path":[4,19,4,2,2,1,2],"span":[963,13,14]},{"path":[4,19,4,2,2,2],"span":[964,4,17]},{"path":[4,19,4,2,2,2,1],"span":[964,4,12]},{"path":[4,19,4,2,2,2,2],"span":[964,15,16]},{"path":[4,19,2,2],"span":[966,2,972,4]},{"path":[4,19,2,2,4],"span":[966,2,10]},{"path":[4,19,2,2,6],"span":[966,11,32]},{"path":[4,19,2,2,1],"span":[966,33,56]},{"path":[4,19,2,2,3],"span":[966,59,60]},{"path":[4,19,2,2,8],"span":[966,61,972,3]},{"path":[4,19,2,2,8,17],"span":[967,4,33]},{"path":[4,19,2,2,8,19,0],"span":[968,4,31]},{"path":[4,19,2,2,8,19,1],"span":[969,4,30]},{"path":[4,19,2,2,8,20,0],"span":[970,4,69]},{"path":[4,19,2,2,8,20,0,3],"span":[970,25,48]},{"path":[4,19,2,2,8,20,0,2],"span":[970,50,67]},{"path":[4,19,2,2,8,20,1],"span":[971,4,67]},{"path":[4,19,2,2,8,20,1,3],"span":[971,25,48]},{"path":[4,19,2,2,8,20,1,2],"span":[971,50,65]},{"path":[4,19,4,3],"span":[974,2,978,3]},{"path":[4,19,4,3,1],"span":[974,7,21]},{"path":[4,19,4,3,2,0],"span":[975,4,32]},{"path":[4,19,4,3,2,0,1],"span":[975,4,27]},{"path":[4,19,4,3,2,0,2],"span":[975,30,31]},{"path":[4,19,4,3,2,1],"span":[976,4,13]},{"path":[4,19,4,3,2,1,1],"span":[976,4,8]},{"path":[4,19,4,3,2,1,2],"span":[976,11,12]},{"path":[4,19,4,3,2,2],"span":[977,4,15]},{"path":[4,19,4,3,2,2,1],"span":[977,4,10]},{"path":[4,19,4,3,2,2,2],"span":[977,13,14]},{"path":[4,19,2,3],"span":[979,2,985,4]},{"path":[4,19,2,3,4],"span":[979,2,10]},{"path":[4,19,2,3,6],"span":[979,11,25]},{"path":[4,19,2,3,1],"span":[979,26,41]},{"path":[4,19,2,3,3],"span":[979,44,45]},{"path":[4,19,2,3,8],"span":[979,46,985,3]},{"path":[4,19,2,3,8,17],"span":[980,4,33]},{"path":[4,19,2,3,8,19,0],"span":[981,4,31]},{"path":[4,19,2,3,8,19,1],"span":[982,4,30]},{"path":[4,19,2,3,8,20,0],"span":[983,4,65]},{"path":[4,19,2,3,8,20,0,3],"span":[983,25,48]},{"path":[4,19,2,3,8,20,0,2],"span":[983,50,63]},{"path":[4,19,2,3,8,20,1],"span":[984,4,67]},{"path":[4,19,2,3,8,20,1,3],"span":[984,25,48]},{"path":[4,19,2,3,8,20,1,2],"span":[984,50,65]},{"path":[4,19,4,4],"span":[987,2,991,3]},{"path":[4,19,4,4,1],"span":[987,7,22]},{"path":[4,19,4,4,2,0],"span":[988,4,33]},{"path":[4,19,4,4,2,0,1],"span":[988,4,28]},{"path":[4,19,4,4,2,0,2],"span":[988,31,32]},{"path":[4,19,4,4,2,1],"span":[989,4,24]},{"path":[4,19,4,4,2,1,1],"span":[989,4,19]},{"path":[4,19,4,4,2,1,2],"span":[989,22,23]},{"path":[4,19,4,4,2,2],"span":[990,4,18]},{"path":[4,19,4,4,2,2,1],"span":[990,4,13]},{"path":[4,19,4,4,2,2,2],"span":[990,16,17]},{"path":[4,19,2,4],"span":[992,2,997,4]},{"path":[4,19,2,4,4],"span":[992,2,10]},{"path":[4,19,2,4,6],"span":[992,11,26]},{"path":[4,19,2,4,1],"span":[992,27,43]},{"path":[4,19,2,4,3],"span":[992,46,47]},{"path":[4,19,2,4,8],"span":[992,48,997,3]},{"path":[4,19,2,4,8,17],"span":[993,4,33]},{"path":[4,19,2,4,8,19,0],"span":[994,4,31]},{"path":[4,19,2,4,8,19,1],"span":[995,4,30]},{"path":[4,19,2,4,8,20,0],"span":[996,4,76]},{"path":[4,19,2,4,8,20,0,3],"span":[996,25,48]},{"path":[4,19,2,4,8,20,0,2],"span":[996,50,74]},{"path":[4,19,4,5],"span":[999,2,1003,3]},{"path":[4,19,4,5,1],"span":[999,7,17]},{"path":[4,19,4,5,2,0],"span":[1000,4,28]},{"path":[4,19,4,5,2,0,1],"span":[1000,4,23]},{"path":[4,19,4,5,2,0,2],"span":[1000,26,27]},{"path":[4,19,4,5,2,1],"span":[1001,4,14]},{"path":[4,19,4,5,2,1,1],"span":[1001,4,9]},{"path":[4,19,4,5,2,1,2],"span":[1001,12,13]},{"path":[4,19,4,5,2,2],"span":[1002,4,27]},{"path":[4,19,4,5,2,2,1],"span":[1002,4,22]},{"path":[4,19,4,5,2,2,2],"span":[1002,25,26]},{"path":[4,19,2,5],"span":[1004,2,1011,4]},{"path":[4,19,2,5,4],"span":[1004,2,10]},{"path":[4,19,2,5,6],"span":[1004,11,21]},{"path":[4,19,2,5,1],"span":[1004,22,33]},{"path":[4,19,2,5,3],"span":[1004,36,37]},{"path":[4,19,2,5,8],"span":[1004,38,1011,3]},{"path":[4,19,2,5,8,17],"span":[1005,4,33]},{"path":[4,19,2,5,8,19,0],"span":[1006,4,33]},{"path":[4,19,2,5,8,19,1],"span":[1007,4,30]},{"path":[4,19,2,5,8,19,2],"span":[1008,4,30]},{"path":[4,19,2,5,8,20,0],"span":[1009,4,79]},{"path":[4,19,2,5,8,20,0,3],"span":[1009,25,48]},{"path":[4,19,2,5,8,20,0,2],"span":[1009,50,77]},{"path":[4,19,2,5,8,20,1],"span":[1010,4,66]},{"path":[4,19,2,5,8,20,1,3],"span":[1010,25,48]},{"path":[4,19,2,5,8,20,1,2],"span":[1010,50,64]},{"path":[4,19,9],"span":[1013,2,15]},{"path":[4,19,9,0],"span":[1013,11,14]},{"path":[4,19,9,0,1],"span":[1013,11,14]},{"path":[4,19,9,0,2],"span":[1013,11,14]},{"path":[4,19,5],"span":[1015,2,18],"trailingComments":" for Protobuf C++\n"},{"path":[4,19,5,0],"span":[1015,13,17]},{"path":[4,19,5,0,1],"span":[1015,13,17]},{"path":[4,19,5,0,2],"span":[1015,13,17]},{"path":[4,19,5],"span":[1016,2,18],"trailingComments":" for Protobuf Java\n"},{"path":[4,19,5,1],"span":[1016,13,17]},{"path":[4,19,5,1,1],"span":[1016,13,17]},{"path":[4,19,5,1,2],"span":[1016,13,17]},{"path":[4,19,5],"span":[1018,2,26],"trailingComments":" For internal testing\n"},{"path":[4,19,5,2],"span":[1018,13,25]},{"path":[4,19,5,2,1],"span":[1018,13,17]},{"path":[4,19,5,2,2],"span":[1018,21,25]},{"path":[4,20],"span":[1025,0,1043,1],"leadingComments":" A compiled specification for the defaults of a set of features. These\n messages are generated from FeatureSet extensions and can be used to seed\n feature resolution. The resolution with this object becomes a simple search\n for the closest matching edition, followed by proto merges.\n"},{"path":[4,20,1],"span":[1025,8,26]},{"path":[4,20,3,0],"span":[1030,2,1033,3],"leadingComments":" A map from every known edition with a unique set of defaults to its\n defaults. Not all editions may be contained here. For a given edition,\n the defaults at the closest matching edition ordered at or before it should\n be used. This field must be in strict ascending order by edition.\n"},{"path":[4,20,3,0,1],"span":[1030,10,34]},{"path":[4,20,3,0,2,0],"span":[1031,4,33]},{"path":[4,20,3,0,2,0,4],"span":[1031,4,12]},{"path":[4,20,3,0,2,0,6],"span":[1031,13,20]},{"path":[4,20,3,0,2,0,1],"span":[1031,21,28]},{"path":[4,20,3,0,2,0,3],"span":[1031,31,32]},{"path":[4,20,3,0,2,1],"span":[1032,4,37]},{"path":[4,20,3,0,2,1,4],"span":[1032,4,12]},{"path":[4,20,3,0,2,1,6],"span":[1032,13,23]},{"path":[4,20,3,0,2,1,1],"span":[1032,24,32]},{"path":[4,20,3,0,2,1,3],"span":[1032,35,36]},{"path":[4,20,2,0],"span":[1034,2,49]},{"path":[4,20,2,0,4],"span":[1034,2,10]},{"path":[4,20,2,0,6],"span":[1034,11,35]},{"path":[4,20,2,0,1],"span":[1034,36,44]},{"path":[4,20,2,0,3],"span":[1034,47,48]},{"path":[4,20,2,1],"span":[1038,2,39],"leadingComments":" The minimum supported edition (inclusive) when this was constructed.\n Editions before this will not have defaults.\n"},{"path":[4,20,2,1,4],"span":[1038,2,10]},{"path":[4,20,2,1,6],"span":[1038,11,18]},{"path":[4,20,2,1,1],"span":[1038,19,34]},{"path":[4,20,2,1,3],"span":[1038,37,38]},{"path":[4,20,2,2],"span":[1042,2,39],"leadingComments":" The maximum known edition (inclusive) when this was constructed. Editions\n after this will not have reliable defaults.\n"},{"path":[4,20,2,2,4],"span":[1042,2,10]},{"path":[4,20,2,2,6],"span":[1042,11,18]},{"path":[4,20,2,2,1],"span":[1042,19,34]},{"path":[4,20,2,2,3],"span":[1042,37,38]},{"path":[4,21],"span":[1050,0,1179,1],"leadingComments":" Encapsulates information about the original source file from which a\n FileDescriptorProto was generated.\n","leadingDetachedComments":[" ===================================================================\n Optional source code info\n"]},{"path":[4,21,1],"span":[1050,8,22]},{"path":[4,21,2,0],"span":[1094,2,33],"leadingComments":" A Location identifies a piece of source code in a .proto file which\n corresponds to a particular definition. This information is intended\n to be useful to IDEs, code indexers, documentation generators, and similar\n tools.\n\n For example, say we have a file like:\n message Foo {\n optional string foo = 1;\n }\n Let's look at just the field definition:\n optional string foo = 1;\n ^ ^^ ^^ ^ ^^^\n a bc de f ghi\n We have the following locations:\n span path represents\n [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\n Notes:\n - A location may refer to a repeated field itself (i.e. not to any\n particular index within it). This is used whenever a set of elements are\n logically enclosed in a single code segment. For example, an entire\n extend block (possibly containing multiple extension definitions) will\n have an outer location whose path refers to the \"extensions\" repeated\n field without an index.\n - Multiple locations may have the same path. This happens when a single\n logical declaration is spread out across multiple places. The most\n obvious example is the \"extend\" block again -- there may be multiple\n extend blocks in the same scope, each of which will have the same path.\n - A location's span is not always a subset of its parent's span. For\n example, the \"extendee\" of an extension declaration appears at the\n beginning of the \"extend\" block and is shared by all extensions within\n the block.\n - Just because a location's span is a subset of some other location's span\n does not mean that it is a descendant. For example, a \"group\" defines\n both a type and a field in a single declaration. Thus, the locations\n corresponding to the type and field and their components will overlap.\n - Code which tries to interpret locations should probably be designed to\n ignore those that it doesn't understand, as more types of locations could\n be recorded in the future.\n"},{"path":[4,21,2,0,4],"span":[1094,2,10]},{"path":[4,21,2,0,6],"span":[1094,11,19]},{"path":[4,21,2,0,1],"span":[1094,20,28]},{"path":[4,21,2,0,3],"span":[1094,31,32]},{"path":[4,21,3,0],"span":[1095,2,1178,3]},{"path":[4,21,3,0,1],"span":[1095,10,18]},{"path":[4,21,3,0,2,0],"span":[1119,4,44],"leadingComments":" Identifies which part of the FileDescriptorProto was defined at this\n location.\n\n Each element is a field number or an index. They form a path from\n the root FileDescriptorProto to the place where the definition occurs.\n For example, this path:\n [ 4, 3, 2, 7, 1 ]\n refers to:\n file.message_type(3) // 4, 3\n .field(7) // 2, 7\n .name() // 1\n This is because FileDescriptorProto.message_type has field number 4:\n repeated DescriptorProto message_type = 4;\n and DescriptorProto.field has field number 2:\n repeated FieldDescriptorProto field = 2;\n and FieldDescriptorProto.name has field number 1:\n optional string name = 1;\n\n Thus, the above path gives the location of a field name. If we removed\n the last element:\n [ 4, 3, 2, 7 ]\n this path refers to the whole field declaration (from the beginning\n of the label to the terminating semicolon).\n"},{"path":[4,21,3,0,2,0,4],"span":[1119,4,12]},{"path":[4,21,3,0,2,0,5],"span":[1119,13,18]},{"path":[4,21,3,0,2,0,1],"span":[1119,19,23]},{"path":[4,21,3,0,2,0,3],"span":[1119,26,27]},{"path":[4,21,3,0,2,0,8],"span":[1119,28,43]},{"path":[4,21,3,0,2,0,8,2],"span":[1119,29,42]},{"path":[4,21,3,0,2,1],"span":[1126,4,44],"leadingComments":" Always has exactly three or four elements: start line, start column,\n end line (optional, otherwise assumed same as start line), end column.\n These are packed into a single field for efficiency. Note that line\n and column numbers are zero-based -- typically you will want to add\n 1 to each before displaying to a user.\n"},{"path":[4,21,3,0,2,1,4],"span":[1126,4,12]},{"path":[4,21,3,0,2,1,5],"span":[1126,13,18]},{"path":[4,21,3,0,2,1,1],"span":[1126,19,23]},{"path":[4,21,3,0,2,1,3],"span":[1126,26,27]},{"path":[4,21,3,0,2,1,8],"span":[1126,28,43]},{"path":[4,21,3,0,2,1,8,2],"span":[1126,29,42]},{"path":[4,21,3,0,2,2],"span":[1175,4,41],"leadingComments":" If this SourceCodeInfo represents a complete declaration, these are any\n comments appearing before and after the declaration which appear to be\n attached to the declaration.\n\n A series of line comments appearing on consecutive lines, with no other\n tokens appearing on those lines, will be treated as a single comment.\n\n leading_detached_comments will keep paragraphs of comments that appear\n before (but not connected to) the current element. Each paragraph,\n separated by empty lines, will be one comment element in the repeated\n field.\n\n Only the comment content is provided; comment markers (e.g. //) are\n stripped out. For block comments, leading whitespace and an asterisk\n will be stripped from the beginning of each line other than the first.\n Newlines are included in the output.\n\n Examples:\n\n optional int32 foo = 1; // Comment attached to foo.\n // Comment attached to bar.\n optional int32 bar = 2;\n\n optional string baz = 3;\n // Comment attached to baz.\n // Another line attached to baz.\n\n // Comment attached to moo.\n //\n // Another line attached to moo.\n optional double moo = 4;\n\n // Detached comment for corge. This is not leading or trailing comments\n // to moo or corge because there are blank lines separating it from\n // both.\n\n // Detached comment for corge paragraph 2.\n\n optional string corge = 5;\n /* Block comment attached\n * to corge. Leading asterisks\n * will be removed. */\n /* Block comment attached to\n * grault. */\n optional int32 grault = 6;\n\n // ignored detached comments.\n"},{"path":[4,21,3,0,2,2,4],"span":[1175,4,12]},{"path":[4,21,3,0,2,2,5],"span":[1175,13,19]},{"path":[4,21,3,0,2,2,1],"span":[1175,20,36]},{"path":[4,21,3,0,2,2,3],"span":[1175,39,40]},{"path":[4,21,3,0,2,3],"span":[1176,4,42]},{"path":[4,21,3,0,2,3,4],"span":[1176,4,12]},{"path":[4,21,3,0,2,3,5],"span":[1176,13,19]},{"path":[4,21,3,0,2,3,1],"span":[1176,20,37]},{"path":[4,21,3,0,2,3,3],"span":[1176,40,41]},{"path":[4,21,3,0,2,4],"span":[1177,4,50]},{"path":[4,21,3,0,2,4,4],"span":[1177,4,12]},{"path":[4,21,3,0,2,4,5],"span":[1177,13,19]},{"path":[4,21,3,0,2,4,1],"span":[1177,20,45]},{"path":[4,21,3,0,2,4,3],"span":[1177,48,49]},{"path":[4,22],"span":[1184,0,1217,1],"leadingComments":" Describes the relationship between generated code and its original source\n file. A GeneratedCodeInfo message is associated with only one generated\n source file, but may contain references to different source .proto files.\n"},{"path":[4,22,1],"span":[1184,8,25]},{"path":[4,22,2,0],"span":[1187,2,37],"leadingComments":" An Annotation connects some span of text in generated code to an element\n of its generating .proto file.\n"},{"path":[4,22,2,0,4],"span":[1187,2,10]},{"path":[4,22,2,0,6],"span":[1187,11,21]},{"path":[4,22,2,0,1],"span":[1187,22,32]},{"path":[4,22,2,0,3],"span":[1187,35,36]},{"path":[4,22,3,0],"span":[1188,2,1216,3]},{"path":[4,22,3,0,1],"span":[1188,10,20]},{"path":[4,22,3,0,2,0],"span":[1191,4,44],"leadingComments":" Identifies the element in the original source .proto file. This field\n is formatted the same as SourceCodeInfo.Location.path.\n"},{"path":[4,22,3,0,2,0,4],"span":[1191,4,12]},{"path":[4,22,3,0,2,0,5],"span":[1191,13,18]},{"path":[4,22,3,0,2,0,1],"span":[1191,19,23]},{"path":[4,22,3,0,2,0,3],"span":[1191,26,27]},{"path":[4,22,3,0,2,0,8],"span":[1191,28,43]},{"path":[4,22,3,0,2,0,8,2],"span":[1191,29,42]},{"path":[4,22,3,0,2,1],"span":[1194,4,36],"leadingComments":" Identifies the filesystem path to the original source .proto.\n"},{"path":[4,22,3,0,2,1,4],"span":[1194,4,12]},{"path":[4,22,3,0,2,1,5],"span":[1194,13,19]},{"path":[4,22,3,0,2,1,1],"span":[1194,20,31]},{"path":[4,22,3,0,2,1,3],"span":[1194,34,35]},{"path":[4,22,3,0,2,2],"span":[1198,4,29],"leadingComments":" Identifies the starting offset in bytes in the generated code\n that relates to the identified object.\n"},{"path":[4,22,3,0,2,2,4],"span":[1198,4,12]},{"path":[4,22,3,0,2,2,5],"span":[1198,13,18]},{"path":[4,22,3,0,2,2,1],"span":[1198,19,24]},{"path":[4,22,3,0,2,2,3],"span":[1198,27,28]},{"path":[4,22,3,0,2,3],"span":[1203,4,27],"leadingComments":" Identifies the ending offset in bytes in the generated code that\n relates to the identified object. The end offset should be one past\n the last relevant byte (so the length of the text = end - begin).\n"},{"path":[4,22,3,0,2,3,4],"span":[1203,4,12]},{"path":[4,22,3,0,2,3,5],"span":[1203,13,18]},{"path":[4,22,3,0,2,3,1],"span":[1203,19,22]},{"path":[4,22,3,0,2,3,3],"span":[1203,25,26]},{"path":[4,22,3,0,4,0],"span":[1207,4,1214,5],"leadingComments":" Represents the identified object's effect on the element in the original\n .proto file.\n"},{"path":[4,22,3,0,4,0,1],"span":[1207,9,17]},{"path":[4,22,3,0,4,0,2,0],"span":[1209,6,15],"leadingComments":" There is no effect or the effect is indescribable.\n"},{"path":[4,22,3,0,4,0,2,0,1],"span":[1209,6,10]},{"path":[4,22,3,0,4,0,2,0,2],"span":[1209,13,14]},{"path":[4,22,3,0,4,0,2,1],"span":[1211,6,14],"leadingComments":" The element is set or otherwise mutated.\n"},{"path":[4,22,3,0,4,0,2,1,1],"span":[1211,6,9]},{"path":[4,22,3,0,4,0,2,1,2],"span":[1211,12,13]},{"path":[4,22,3,0,4,0,2,2],"span":[1213,6,16],"leadingComments":" An alias to the element is returned.\n"},{"path":[4,22,3,0,4,0,2,2,1],"span":[1213,6,11]},{"path":[4,22,3,0,4,0,2,2,2],"span":[1213,14,15]},{"path":[4,22,3,0,2,4],"span":[1215,4,35]},{"path":[4,22,3,0,2,4,4],"span":[1215,4,12]},{"path":[4,22,3,0,2,4,6],"span":[1215,13,21]},{"path":[4,22,3,0,2,4,1],"span":[1215,22,30]},{"path":[4,22,3,0,2,4,3],"span":[1215,33,34]}]},"bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/api/annotations.proto","package":"google.api","dependency":["google/api/http.proto","google/protobuf/descriptor.proto"],"extension":[{"name":"http","number":72295728,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.api.HttpRule","extendee":".google.protobuf.MethodOptions","jsonName":"http"}],"options":{"javaPackage":"com.google.api","javaOuterClassname":"AnnotationsProto","javaMultipleFiles":true,"goPackage":"google.golang.org/genproto/googleapis/api/annotations;annotations","objcClassPrefix":"GAPI"},"sourceCodeInfo":{"location":[{"span":[14,0,30,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2015 Google LLC\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"]},{"path":[2],"span":[16,0,19]},{"path":[3,0],"span":[18,0,31]},{"path":[3,1],"span":[19,0,42]},{"path":[8],"span":[21,0,88]},{"path":[8,11],"span":[21,0,88]},{"path":[8],"span":[22,0,34]},{"path":[8,10],"span":[22,0,34]},{"path":[8],"span":[23,0,49]},{"path":[8,8],"span":[23,0,49]},{"path":[8],"span":[24,0,39]},{"path":[8,1],"span":[24,0,39]},{"path":[8],"span":[25,0,34]},{"path":[8,36],"span":[25,0,34]},{"path":[7],"span":[27,0,30,1]},{"path":[7,0],"span":[29,2,27],"leadingComments":" See `HttpRule`.\n"},{"path":[7,0,2],"span":[27,7,36]},{"path":[7,0,6],"span":[29,2,10]},{"path":[7,0,1],"span":[29,11,15]},{"path":[7,0,3],"span":[29,18,26]}]},"syntax":"proto3","bufExtension":{"isImport":true,"moduleInfo":{"name":{"remote":"buf.build","owner":"googleapis","repository":"googleapis"},"commit":"783e4b5374fa488ab068d08af9658438"},"isSyntaxUnspecified":false}},{"name":"google/protobuf/empty.proto","package":"google.protobuf","messageType":[{"name":"Empty"}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"EmptyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/emptypb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,50,16]},{"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,69]},{"path":[8,11],"span":[34,0,69]},{"path":[8],"span":[35,0,44]},{"path":[8,1],"span":[35,0,44]},{"path":[8],"span":[36,0,43]},{"path":[8,8],"span":[36,0,43]},{"path":[8],"span":[37,0,34]},{"path":[8,10],"span":[37,0,34]},{"path":[8],"span":[38,0,33]},{"path":[8,36],"span":[38,0,33]},{"path":[8],"span":[39,0,59]},{"path":[8,37],"span":[39,0,59]},{"path":[8],"span":[40,0,31]},{"path":[8,31],"span":[40,0,31]},{"path":[4,0],"span":[50,0,16],"leadingComments":" A generic empty message that you can re-use to avoid defining duplicated\n empty messages in your APIs. A typical example is to use it as the request\n or the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\n"},{"path":[4,0,1],"span":[50,8,13]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"zenoss/cloud/credentials.proto","package":"zenoss.cloud.credentials","dependency":["google/api/annotations.proto","google/protobuf/empty.proto"],"messageType":[{"name":"Credential","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"info","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.credentials.Info","jsonName":"info"},{"name":"secrets","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.credentials.Credential.SecretsEntry","jsonName":"secrets"}],"nestedType":[{"name":"SecretsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Info","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"description","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"tags","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"tags"}]},{"name":"GetCredentialRequest","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"}]},{"name":"GetCredentialResponse","field":[{"name":"credential","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.credentials.Credential","jsonName":"credential"}]}],"service":[{"name":"CredentialManagement","method":[{"name":"GetCredential","inputType":".zenoss.cloud.credentials.GetCredentialRequest","outputType":".zenoss.cloud.credentials.GetCredentialResponse","options":{"[google.api.http]":{"get":"/v1/credentials/{id}"}}}]}],"options":{"javaPackage":"org.zenoss.cloud.credentials","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/credentials"},"sourceCodeInfo":{"location":[{"span":[0,0,36,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,33]},{"path":[3,0],"span":[4,0,38]},{"path":[3,1],"span":[5,0,37]},{"path":[8],"span":[7,0,78]},{"path":[8,11],"span":[7,0,78]},{"path":[8],"span":[8,0,34]},{"path":[8,10],"span":[8,0,34]},{"path":[8],"span":[9,0,53]},{"path":[8,1],"span":[9,0,53]},{"path":[6,0],"span":[11,0,15,1]},{"path":[6,0,1],"span":[11,8,28]},{"path":[6,0,2,0],"span":[12,2,14,3]},{"path":[6,0,2,0,1],"span":[12,6,19]},{"path":[6,0,2,0,2],"span":[12,20,40]},{"path":[6,0,2,0,3],"span":[12,51,72]},{"path":[6,0,2,0,4],"span":[13,4,61]},{"path":[6,0,2,0,4,72295728],"span":[13,4,61]},{"path":[6,0,2,0,4,72295728,2],"span":[13,32,59]},{"path":[4,0],"span":[17,0,21,1]},{"path":[4,0,1],"span":[17,8,18]},{"path":[4,0,2,0],"span":[18,2,16]},{"path":[4,0,2,0,5],"span":[18,2,8]},{"path":[4,0,2,0,1],"span":[18,9,11]},{"path":[4,0,2,0,3],"span":[18,14,15]},{"path":[4,0,2,1],"span":[19,2,16]},{"path":[4,0,2,1,6],"span":[19,2,6]},{"path":[4,0,2,1,1],"span":[19,7,11]},{"path":[4,0,2,1,3],"span":[19,14,15]},{"path":[4,0,2,2],"span":[20,2,34]},{"path":[4,0,2,2,6],"span":[20,2,21]},{"path":[4,0,2,2,1],"span":[20,22,29]},{"path":[4,0,2,2,3],"span":[20,32,33]},{"path":[4,1],"span":[23,0,28,1]},{"path":[4,1,1],"span":[23,8,12]},{"path":[4,1,2,0],"span":[24,2,18]},{"path":[4,1,2,0,5],"span":[24,2,8]},{"path":[4,1,2,0,1],"span":[24,9,13]},{"path":[4,1,2,0,3],"span":[24,16,17]},{"path":[4,1,2,1],"span":[25,2,18]},{"path":[4,1,2,1,5],"span":[25,2,8]},{"path":[4,1,2,1,1],"span":[25,9,13]},{"path":[4,1,2,1,3],"span":[25,16,17]},{"path":[4,1,2,2],"span":[26,2,25]},{"path":[4,1,2,2,5],"span":[26,2,8]},{"path":[4,1,2,2,1],"span":[26,9,20]},{"path":[4,1,2,2,3],"span":[26,23,24]},{"path":[4,1,2,3],"span":[27,2,27]},{"path":[4,1,2,3,4],"span":[27,2,10]},{"path":[4,1,2,3,5],"span":[27,11,17]},{"path":[4,1,2,3,1],"span":[27,18,22]},{"path":[4,1,2,3,3],"span":[27,25,26]},{"path":[4,2],"span":[30,0,32,1]},{"path":[4,2,1],"span":[30,8,28]},{"path":[4,2,2,0],"span":[31,2,16]},{"path":[4,2,2,0,5],"span":[31,2,8]},{"path":[4,2,2,0,1],"span":[31,9,11]},{"path":[4,2,2,0,3],"span":[31,14,15]},{"path":[4,3],"span":[34,0,36,1]},{"path":[4,3,1],"span":[34,8,29]},{"path":[4,3,2,0],"span":[35,2,28]},{"path":[4,3,2,0,6],"span":[35,2,12]},{"path":[4,3,2,0,1],"span":[35,13,23]},{"path":[4,3,2,0,3],"span":[35,26,27]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false,"unusedDependency":[1]}},{"name":"google/protobuf/struct.proto","package":"google.protobuf","messageType":[{"name":"Struct","field":[{"name":"fields","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct.FieldsEntry","jsonName":"fields"}],"nestedType":[{"name":"FieldsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Value","field":[{"name":"null_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","oneofIndex":0,"jsonName":"nullValue"},{"name":"number_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"numberValue"},{"name":"string_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringValue"},{"name":"bool_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolValue"},{"name":"struct_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","oneofIndex":0,"jsonName":"structValue"},{"name":"list_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","oneofIndex":0,"jsonName":"listValue"}],"oneofDecl":[{"name":"kind"}]},{"name":"ListValue","field":[{"name":"values","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"values"}]}],"enumType":[{"name":"NullValue","value":[{"name":"NULL_VALUE","number":0}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"StructProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/structpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,94,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,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,70]},{"path":[8,11],"span":[35,0,70]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,44]},{"path":[8,8],"span":[37,0,44]},{"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":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[50,0,53,1],"leadingComments":" `Struct` represents a structured data value, consisting of fields\n which map to dynamically typed values. In some languages, `Struct`\n might be supported by a native representation. For example, in\n scripting languages like JS a struct is represented as an\n object. The details of that representation are described together\n with the proto support for the language.\n\n The JSON representation for `Struct` is JSON object.\n"},{"path":[4,0,1],"span":[50,8,14]},{"path":[4,0,2,0],"span":[52,2,32],"leadingComments":" Unordered map of dynamically typed values.\n"},{"path":[4,0,2,0,6],"span":[52,2,20]},{"path":[4,0,2,0,1],"span":[52,21,27]},{"path":[4,0,2,0,3],"span":[52,30,31]},{"path":[4,1],"span":[61,0,77,1],"leadingComments":" `Value` represents a dynamically typed value which can be either\n null, a number, a string, a boolean, a recursive struct value, or a\n list of values. A producer of value is expected to set one of these\n variants. Absence of any variant indicates an error.\n\n The JSON representation for `Value` is JSON value.\n"},{"path":[4,1,1],"span":[61,8,13]},{"path":[4,1,8,0],"span":[63,2,76,3],"leadingComments":" The kind of value.\n"},{"path":[4,1,8,0,1],"span":[63,8,12]},{"path":[4,1,2,0],"span":[65,4,29],"leadingComments":" Represents a null value.\n"},{"path":[4,1,2,0,6],"span":[65,4,13]},{"path":[4,1,2,0,1],"span":[65,14,24]},{"path":[4,1,2,0,3],"span":[65,27,28]},{"path":[4,1,2,1],"span":[67,4,28],"leadingComments":" Represents a double value.\n"},{"path":[4,1,2,1,5],"span":[67,4,10]},{"path":[4,1,2,1,1],"span":[67,11,23]},{"path":[4,1,2,1,3],"span":[67,26,27]},{"path":[4,1,2,2],"span":[69,4,28],"leadingComments":" Represents a string value.\n"},{"path":[4,1,2,2,5],"span":[69,4,10]},{"path":[4,1,2,2,1],"span":[69,11,23]},{"path":[4,1,2,2,3],"span":[69,26,27]},{"path":[4,1,2,3],"span":[71,4,24],"leadingComments":" Represents a boolean value.\n"},{"path":[4,1,2,3,5],"span":[71,4,8]},{"path":[4,1,2,3,1],"span":[71,9,19]},{"path":[4,1,2,3,3],"span":[71,22,23]},{"path":[4,1,2,4],"span":[73,4,28],"leadingComments":" Represents a structured value.\n"},{"path":[4,1,2,4,6],"span":[73,4,10]},{"path":[4,1,2,4,1],"span":[73,11,23]},{"path":[4,1,2,4,3],"span":[73,26,27]},{"path":[4,1,2,5],"span":[75,4,29],"leadingComments":" Represents a repeated `Value`.\n"},{"path":[4,1,2,5,6],"span":[75,4,13]},{"path":[4,1,2,5,1],"span":[75,14,24]},{"path":[4,1,2,5,3],"span":[75,27,28]},{"path":[5,0],"span":[83,0,86,1],"leadingComments":" `NullValue` is a singleton enumeration to represent the null value for the\n `Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n"},{"path":[5,0,1],"span":[83,5,14]},{"path":[5,0,2,0],"span":[85,2,17],"leadingComments":" Null value.\n"},{"path":[5,0,2,0,1],"span":[85,2,12]},{"path":[5,0,2,0,2],"span":[85,15,16]},{"path":[4,2],"span":[91,0,94,1],"leadingComments":" `ListValue` is a wrapper around a repeated field of values.\n\n The JSON representation for `ListValue` is JSON array.\n"},{"path":[4,2,1],"span":[91,8,17]},{"path":[4,2,2,0],"span":[93,2,28],"leadingComments":" Repeated field of dynamically typed values.\n"},{"path":[4,2,2,0,4],"span":[93,2,10]},{"path":[4,2,2,0,6],"span":[93,11,16]},{"path":[4,2,2,0,1],"span":[93,17,23]},{"path":[4,2,2,0,3],"span":[93,26,27]}]},"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\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,31]},{"path":[8,31],"span":[44,0,31]},{"path":[8],"span":[45,0,72]},{"path":[8,11],"span":[45,0,72]},{"path":[8],"span":[46,0,44]},{"path":[8,1],"span":[46,0,44]},{"path":[8],"span":[47,0,46]},{"path":[8,8],"span":[47,0,46]},{"path":[8],"span":[48,0,34]},{"path":[8,10],"span":[48,0,34]},{"path":[8],"span":[49,0,33]},{"path":[8,36],"span":[49,0,33]},{"path":[8],"span":[50,0,59]},{"path":[8,37],"span":[50,0,59]},{"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":"zenoss/cloud/data_receiver.proto","package":"zenoss.cloud","dependency":["google/api/annotations.proto","google/protobuf/struct.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"Void"},{"name":"Event","field":[{"name":"timestamp","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"dimensions","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event.DimensionsEntry","jsonName":"dimensions"},{"name":"metadataFields","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"summary","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"summary"},{"name":"body","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"body"},{"name":"severity","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.Severity","jsonName":"severity"},{"name":"status","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.Status","jsonName":"status"},{"name":"acknowledged","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"acknowledged"}],"nestedType":[{"name":"DimensionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Events","field":[{"name":"detailedResponse","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"detailedResponse"},{"name":"events","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","jsonName":"events"}]},{"name":"EventError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"event","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","jsonName":"event"}]},{"name":"TaggedMetric","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"metric"},{"name":"timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"},{"name":"tags","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric.TagsEntry","jsonName":"tags"}],"nestedType":[{"name":"TagsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"CompactMetric","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"Metric","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"metric"},{"name":"timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"},{"name":"dimensions","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric.DimensionsEntry","jsonName":"dimensions"},{"name":"metadataFields","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"}],"nestedType":[{"name":"DimensionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Model","field":[{"name":"timestamp","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"dimensions","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model.DimensionsEntry","jsonName":"dimensions"},{"name":"metadataFields","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"}],"nestedType":[{"name":"DimensionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Models","field":[{"name":"detailedResponse","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"detailedResponse"},{"name":"models","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model","jsonName":"models"}]},{"name":"ModelError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"model","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model","jsonName":"model"}]},{"name":"EventStatusResult","field":[{"name":"failed","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"failed"},{"name":"succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"succeeded"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"failedEvents","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.EventError","jsonName":"failedEvents"}]},{"name":"ModelStatusResult","field":[{"name":"failed","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"failed"},{"name":"succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"succeeded"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"failedModels","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.ModelError","jsonName":"failedModels"}]},{"name":"StatusResult","field":[{"name":"failed","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"failed"},{"name":"succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"succeeded"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"failedCompactMetrics","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetricError","jsonName":"failedCompactMetrics"},{"name":"failedTaggedMetrics","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetricError","jsonName":"failedTaggedMetrics"},{"name":"failedMetrics","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricError","jsonName":"failedMetrics"}]},{"name":"EventWrapper","field":[{"name":"canonical","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","oneofIndex":0,"jsonName":"canonical"}],"oneofDecl":[{"name":"event_type"}]},{"name":"MetricWrapper","field":[{"name":"tagged","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric","oneofIndex":0,"jsonName":"tagged"},{"name":"compact","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetric","oneofIndex":0,"jsonName":"compact"},{"name":"canonical","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","oneofIndex":0,"jsonName":"canonical"}],"oneofDecl":[{"name":"metric_type"}]},{"name":"MetricBatch","field":[{"name":"global_tags","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricBatch.GlobalTagsEntry","jsonName":"globalTags"},{"name":"metrics","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricWrapper","jsonName":"metrics"}],"nestedType":[{"name":"GlobalTagsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"CompactMetricError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"metric","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetric","jsonName":"metric"}]},{"name":"MetricError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"metric","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metric"}]},{"name":"TaggedMetricError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"metric","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric","jsonName":"metric"}]},{"name":"Metrics","field":[{"name":"detailedResponse","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"detailedResponse"},{"name":"compactMetrics","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetric","jsonName":"compactMetrics"},{"name":"taggedMetrics","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric","jsonName":"taggedMetrics"},{"name":"metrics","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metrics"}]}],"enumType":[{"name":"Severity","value":[{"name":"SEVERITY_DEFAULT","number":0},{"name":"SEVERITY_DEBUG","number":1},{"name":"SEVERITY_INFO","number":2},{"name":"SEVERITY_WARNING","number":3},{"name":"SEVERITY_ERROR","number":4},{"name":"SEVERITY_CRITICAL","number":5}]},{"name":"Status","value":[{"name":"STATUS_DEFAULT","number":0},{"name":"STATUS_OPEN","number":1},{"name":"STATUS_SUPPRESSED","number":2},{"name":"STATUS_CLOSED","number":3}]}],"service":[{"name":"DataReceiverService","method":[{"name":"PutEvents","inputType":".zenoss.cloud.Events","outputType":".zenoss.cloud.EventStatusResult","options":{"[google.api.http]":{"post":"/v1/data-receiver/events","body":"*"}}},{"name":"PutEvent","inputType":".zenoss.cloud.EventWrapper","outputType":".zenoss.cloud.Void","options":{},"clientStreaming":true},{"name":"PutMetrics","inputType":".zenoss.cloud.Metrics","outputType":".zenoss.cloud.StatusResult","options":{"[google.api.http]":{"post":"/v1/data-receiver/metrics","body":"*"}}},{"name":"PutMetric","inputType":".zenoss.cloud.MetricWrapper","outputType":".zenoss.cloud.Void","options":{},"clientStreaming":true},{"name":"PutModels","inputType":".zenoss.cloud.Models","outputType":".zenoss.cloud.ModelStatusResult","options":{"[google.api.http]":{"post":"/v1/data-receiver/models","body":"*"}}}]}],"options":{"javaPackage":"org.zenoss.cloud.dataReceiver","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/data_receiver"},"sourceCodeInfo":{"location":[{"span":[0,0,283,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,21]},{"path":[3,0],"span":[4,0,38]},{"path":[3,1],"span":[5,0,38]},{"path":[3,2],"span":[6,0,40]},{"path":[8],"span":[8,0,80]},{"path":[8,11],"span":[8,0,80]},{"path":[8],"span":[9,0,34]},{"path":[8,10],"span":[9,0,34]},{"path":[8],"span":[10,0,54]},{"path":[8,1],"span":[10,0,54]},{"path":[4,0],"span":[12,0,15]},{"path":[4,0,1],"span":[12,8,12]},{"path":[4,1],"span":[16,0,66,1],"leadingComments":" Public Event struct.\n Note the conspicuous absence of 'id' and 'tenant' which are inferred by auth.\n"},{"path":[4,1,1],"span":[16,8,13]},{"path":[4,1,2,0],"span":[18,2,22],"leadingComments":" timestamp is the time (in ms since epoch) at which the event occurred.\n"},{"path":[4,1,2,0,5],"span":[18,2,7]},{"path":[4,1,2,0,1],"span":[18,8,17]},{"path":[4,1,2,0,3],"span":[18,20,21]},{"path":[4,1,2,1],"span":[24,2,18],"leadingComments":" name, when combined with dimensions, makes this event unique.\n - should be set to the ID for systems that have an event ID concept\n - otherwise the same as \"type\"\n - e.g. linkDown, fault-F0157, adaeff80-b1b0-47fe-92a1-69e958145e10\n"},{"path":[4,1,2,1,5],"span":[24,2,8]},{"path":[4,1,2,1,1],"span":[24,9,13]},{"path":[4,1,2,1,3],"span":[24,16,17]},{"path":[4,1,2,2],"span":[29,2,37],"leadingComments":" Dimensions associated with this event.\n Dimensions, when combined with name, make this event unique.\n - typically set the same as the entity to which event is related\n"},{"path":[4,1,2,2,6],"span":[29,2,21]},{"path":[4,1,2,2,1],"span":[29,22,32]},{"path":[4,1,2,2,3],"span":[29,35,36]},{"path":[4,1,2,3],"span":[32,2,44],"leadingComments":" Fields associated with this event.\n"},{"path":[4,1,2,3,6],"span":[32,2,24]},{"path":[4,1,2,3,1],"span":[32,25,39]},{"path":[4,1,2,3,3],"span":[32,42,43]},{"path":[4,1,2,4],"span":[37,2,18],"leadingComments":" type uniquely identifies the context-free type of event.\n - typically set the same as \"name\" for systems that have an event ID.\n - e.g. linkDown, fault-F0157\n"},{"path":[4,1,2,4,5],"span":[37,2,8]},{"path":[4,1,2,4,1],"span":[37,9,13]},{"path":[4,1,2,4,3],"span":[37,16,17]},{"path":[4,1,2,5],"span":[42,2,21],"leadingComments":" summary is a short (<128 character) summary of the event.\n - most commonly displayed per-event field\n - highly recommend to set this\n"},{"path":[4,1,2,5,5],"span":[42,2,8]},{"path":[4,1,2,5,1],"span":[42,9,16]},{"path":[4,1,2,5,3],"span":[42,19,20]},{"path":[4,1,2,6],"span":[46,2,18],"leadingComments":" body is a long (? character) further description of the event.\n - it is not necessary to repeat summary in the body\n"},{"path":[4,1,2,6,5],"span":[46,2,8]},{"path":[4,1,2,6,1],"span":[46,9,13]},{"path":[4,1,2,6,3],"span":[46,16,17]},{"path":[4,1,2,7],"span":[55,2,24],"leadingComments":" severity defines how severe the event is.\n - use SEVERITY_DEFAULT when not currently known\n - use SEVERITY_DEBUG when not severe enough to show by default\n - use SEVERITY_INFO when when no action is likely required\n - use SEVERITY_WARNING when delayed action may be required\n - use SEVERITY_ERROR when system is degraded, but not down\n - use SEVERITY_CRITICAL for system down\n"},{"path":[4,1,2,7,6],"span":[55,2,10]},{"path":[4,1,2,7,1],"span":[55,11,19]},{"path":[4,1,2,7,3],"span":[55,22,23]},{"path":[4,1,2,8],"span":[62,2,20],"leadingComments":" status defines the event's disposition from the system perspective.\n - use STATUS_DEFAULT when not currently known\n - use STATUS_OPEN when event is known to be actively ongoing\n - use STATUS_SUPPRESSED when event should be suppressed\n - use STATUS_CLOSED when the event is known to have subsided\n"},{"path":[4,1,2,8,6],"span":[62,2,8]},{"path":[4,1,2,8,1],"span":[62,9,15]},{"path":[4,1,2,8,3],"span":[62,18,19]},{"path":[4,1,2,9],"span":[65,2,46],"leadingComments":" acknowledged explicitly sets the events acknowledged state.\n"},{"path":[4,1,2,9,6],"span":[65,2,27]},{"path":[4,1,2,9,1],"span":[65,28,40]},{"path":[4,1,2,9,3],"span":[65,43,45]},{"path":[5,0],"span":[68,0,75,1]},{"path":[5,0,1],"span":[68,5,13]},{"path":[5,0,2,0],"span":[69,2,23]},{"path":[5,0,2,0,1],"span":[69,2,18]},{"path":[5,0,2,0,2],"span":[69,21,22]},{"path":[5,0,2,1],"span":[70,2,21]},{"path":[5,0,2,1,1],"span":[70,2,16]},{"path":[5,0,2,1,2],"span":[70,19,20]},{"path":[5,0,2,2],"span":[71,2,20]},{"path":[5,0,2,2,1],"span":[71,2,15]},{"path":[5,0,2,2,2],"span":[71,18,19]},{"path":[5,0,2,3],"span":[72,2,23]},{"path":[5,0,2,3,1],"span":[72,2,18]},{"path":[5,0,2,3,2],"span":[72,21,22]},{"path":[5,0,2,4],"span":[73,2,21]},{"path":[5,0,2,4,1],"span":[73,2,16]},{"path":[5,0,2,4,2],"span":[73,19,20]},{"path":[5,0,2,5],"span":[74,2,24]},{"path":[5,0,2,5,1],"span":[74,2,19]},{"path":[5,0,2,5,2],"span":[74,22,23]},{"path":[5,1],"span":[77,0,82,1]},{"path":[5,1,1],"span":[77,5,11]},{"path":[5,1,2,0],"span":[78,2,21]},{"path":[5,1,2,0,1],"span":[78,2,16]},{"path":[5,1,2,0,2],"span":[78,19,20]},{"path":[5,1,2,1],"span":[79,2,18]},{"path":[5,1,2,1,1],"span":[79,2,13]},{"path":[5,1,2,1,2],"span":[79,16,17]},{"path":[5,1,2,2],"span":[80,2,24]},{"path":[5,1,2,2,1],"span":[80,2,19]},{"path":[5,1,2,2,2],"span":[80,22,23]},{"path":[5,1,2,3],"span":[81,2,20]},{"path":[5,1,2,3,1],"span":[81,2,15]},{"path":[5,1,2,3,2],"span":[81,18,19]},{"path":[4,2],"span":[84,0,90,1]},{"path":[4,2,1],"span":[84,8,14]},{"path":[4,2,2,0],"span":[86,2,28],"leadingComments":" detailedResponse: if true, return any events that failed to be sent.\n"},{"path":[4,2,2,0,5],"span":[86,2,6]},{"path":[4,2,2,0,1],"span":[86,7,23]},{"path":[4,2,2,0,3],"span":[86,26,27]},{"path":[4,2,2,1],"span":[89,2,28],"leadingComments":" The events\n"},{"path":[4,2,2,1,4],"span":[89,2,10]},{"path":[4,2,2,1,6],"span":[89,11,16]},{"path":[4,2,2,1,1],"span":[89,17,23]},{"path":[4,2,2,1,3],"span":[89,26,27]},{"path":[4,3],"span":[92,0,95,1]},{"path":[4,3,1],"span":[92,8,18]},{"path":[4,3,2,0],"span":[93,2,19]},{"path":[4,3,2,0,5],"span":[93,2,8]},{"path":[4,3,2,0,1],"span":[93,9,14]},{"path":[4,3,2,0,3],"span":[93,17,18]},{"path":[4,3,2,1],"span":[94,2,18]},{"path":[4,3,2,1,6],"span":[94,2,7]},{"path":[4,3,2,1,1],"span":[94,8,13]},{"path":[4,3,2,1,3],"span":[94,16,17]},{"path":[4,4],"span":[97,0,109,1]},{"path":[4,4,1],"span":[97,8,20]},{"path":[4,4,2,0],"span":[99,2,20],"leadingComments":" The metric name\n"},{"path":[4,4,2,0,5],"span":[99,2,8]},{"path":[4,4,2,0,1],"span":[99,9,15]},{"path":[4,4,2,0,3],"span":[99,18,19]},{"path":[4,4,2,1],"span":[102,2,22],"leadingComments":" The time at which the value was captured\n"},{"path":[4,4,2,1,5],"span":[102,2,7]},{"path":[4,4,2,1,1],"span":[102,8,17]},{"path":[4,4,2,1,3],"span":[102,20,21]},{"path":[4,4,2,2],"span":[105,2,19],"leadingComments":" The metric value\n"},{"path":[4,4,2,2,5],"span":[105,2,8]},{"path":[4,4,2,2,1],"span":[105,9,14]},{"path":[4,4,2,2,3],"span":[105,17,18]},{"path":[4,4,2,3],"span":[108,2,31],"leadingComments":" Metadata associated with this datapoint.\n"},{"path":[4,4,2,3,6],"span":[108,2,21]},{"path":[4,4,2,3,1],"span":[108,22,26]},{"path":[4,4,2,3,3],"span":[108,29,30]},{"path":[4,5],"span":[111,0,120,1]},{"path":[4,5,1],"span":[111,8,21]},{"path":[4,5,2,0],"span":[113,2,16],"leadingComments":" The metric id\n"},{"path":[4,5,2,0,5],"span":[113,2,8]},{"path":[4,5,2,0,1],"span":[113,9,11]},{"path":[4,5,2,0,3],"span":[113,14,15]},{"path":[4,5,2,1],"span":[116,2,22],"leadingComments":" The time at which the value was captured\n"},{"path":[4,5,2,1,5],"span":[116,2,7]},{"path":[4,5,2,1,1],"span":[116,8,17]},{"path":[4,5,2,1,3],"span":[116,20,21]},{"path":[4,5,2,2],"span":[119,2,19],"leadingComments":" The metric value\n"},{"path":[4,5,2,2,5],"span":[119,2,8]},{"path":[4,5,2,2,1],"span":[119,9,14]},{"path":[4,5,2,2,3],"span":[119,17,18]},{"path":[4,6],"span":[123,0,138,1],"leadingComments":" Canonical Metric format\n"},{"path":[4,6,1],"span":[123,8,14]},{"path":[4,6,2,0],"span":[125,2,20],"leadingComments":" The metric name\n"},{"path":[4,6,2,0,5],"span":[125,2,8]},{"path":[4,6,2,0,1],"span":[125,9,15]},{"path":[4,6,2,0,3],"span":[125,18,19]},{"path":[4,6,2,1],"span":[128,2,22],"leadingComments":" The time at which the value was captured\n"},{"path":[4,6,2,1,5],"span":[128,2,7]},{"path":[4,6,2,1,1],"span":[128,8,17]},{"path":[4,6,2,1,3],"span":[128,20,21]},{"path":[4,6,2,2],"span":[131,2,19],"leadingComments":" The metric value\n"},{"path":[4,6,2,2,5],"span":[131,2,8]},{"path":[4,6,2,2,1],"span":[131,9,14]},{"path":[4,6,2,2,3],"span":[131,17,18]},{"path":[4,6,2,3],"span":[134,2,37],"leadingComments":" Dimensions associated with this datapoint.\n"},{"path":[4,6,2,3,6],"span":[134,2,21]},{"path":[4,6,2,3,1],"span":[134,22,32]},{"path":[4,6,2,3,3],"span":[134,35,36]},{"path":[4,6,2,4],"span":[137,2,44],"leadingComments":" Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations\n"},{"path":[4,6,2,4,6],"span":[137,2,24]},{"path":[4,6,2,4,1],"span":[137,25,39]},{"path":[4,6,2,4,3],"span":[137,42,43]},{"path":[4,7],"span":[140,0,149,1]},{"path":[4,7,1],"span":[140,8,13]},{"path":[4,7,2,0],"span":[142,2,22],"leadingComments":" The time when the value was sent.\n"},{"path":[4,7,2,0,5],"span":[142,2,7]},{"path":[4,7,2,0,1],"span":[142,8,17]},{"path":[4,7,2,0,3],"span":[142,20,21]},{"path":[4,7,2,1],"span":[145,2,37],"leadingComments":" Dimensions associated with this model.\n"},{"path":[4,7,2,1,6],"span":[145,2,21]},{"path":[4,7,2,1,1],"span":[145,22,32]},{"path":[4,7,2,1,3],"span":[145,35,36]},{"path":[4,7,2,2],"span":[148,2,44],"leadingComments":" Fields associated with this model.\n"},{"path":[4,7,2,2,6],"span":[148,2,24]},{"path":[4,7,2,2,1],"span":[148,25,39]},{"path":[4,7,2,2,3],"span":[148,42,43]},{"path":[4,8],"span":[151,0,157,1]},{"path":[4,8,1],"span":[151,8,14]},{"path":[4,8,2,0],"span":[153,2,28],"leadingComments":" detailedResponse if set to true will return any models that failed to be sent\n"},{"path":[4,8,2,0,5],"span":[153,2,6]},{"path":[4,8,2,0,1],"span":[153,7,23]},{"path":[4,8,2,0,3],"span":[153,26,27]},{"path":[4,8,2,1],"span":[156,2,28],"leadingComments":" The models\n"},{"path":[4,8,2,1,4],"span":[156,2,10]},{"path":[4,8,2,1,6],"span":[156,11,16]},{"path":[4,8,2,1,1],"span":[156,17,23]},{"path":[4,8,2,1,3],"span":[156,26,27]},{"path":[4,9],"span":[159,0,162,1]},{"path":[4,9,1],"span":[159,8,18]},{"path":[4,9,2,0],"span":[160,2,19]},{"path":[4,9,2,0,5],"span":[160,2,8]},{"path":[4,9,2,0,1],"span":[160,9,14]},{"path":[4,9,2,0,3],"span":[160,17,18]},{"path":[4,9,2,1],"span":[161,2,18]},{"path":[4,9,2,1,6],"span":[161,2,7]},{"path":[4,9,2,1,1],"span":[161,8,13]},{"path":[4,9,2,1,3],"span":[161,16,17]},{"path":[4,10],"span":[164,0,173,1]},{"path":[4,10,1],"span":[164,8,25]},{"path":[4,10,2,0],"span":[166,2,19],"leadingComments":" failed is the count of events that failed to be accepted\n"},{"path":[4,10,2,0,5],"span":[166,2,7]},{"path":[4,10,2,0,1],"span":[166,8,14]},{"path":[4,10,2,0,3],"span":[166,17,18]},{"path":[4,10,2,1],"span":[168,2,22],"leadingComments":" succeeded is the count of events that were accepted\n"},{"path":[4,10,2,1,5],"span":[168,2,7]},{"path":[4,10,2,1,1],"span":[168,8,17]},{"path":[4,10,2,1,3],"span":[168,20,21]},{"path":[4,10,2,2],"span":[170,2,21],"leadingComments":" message is an informational message that may or may not be set\n"},{"path":[4,10,2,2,5],"span":[170,2,8]},{"path":[4,10,2,2,1],"span":[170,9,16]},{"path":[4,10,2,2,3],"span":[170,19,20]},{"path":[4,10,2,3],"span":[172,2,39],"leadingComments":" Failed events only returned if detailedResponse is set to true\n"},{"path":[4,10,2,3,4],"span":[172,2,10]},{"path":[4,10,2,3,6],"span":[172,11,21]},{"path":[4,10,2,3,1],"span":[172,22,34]},{"path":[4,10,2,3,3],"span":[172,37,38]},{"path":[4,11],"span":[175,0,184,1]},{"path":[4,11,1],"span":[175,8,25]},{"path":[4,11,2,0],"span":[177,2,19],"leadingComments":" failed is the count of models that failed to be accepted\n"},{"path":[4,11,2,0,5],"span":[177,2,7]},{"path":[4,11,2,0,1],"span":[177,8,14]},{"path":[4,11,2,0,3],"span":[177,17,18]},{"path":[4,11,2,1],"span":[179,2,22],"leadingComments":" succeeded is the count of models that were accepted\n"},{"path":[4,11,2,1,5],"span":[179,2,7]},{"path":[4,11,2,1,1],"span":[179,8,17]},{"path":[4,11,2,1,3],"span":[179,20,21]},{"path":[4,11,2,2],"span":[181,2,21],"leadingComments":" message is an informational message that may or may not be set\n"},{"path":[4,11,2,2,5],"span":[181,2,8]},{"path":[4,11,2,2,1],"span":[181,9,16]},{"path":[4,11,2,2,3],"span":[181,19,20]},{"path":[4,11,2,3],"span":[183,2,39],"leadingComments":" Failed models only returned if detailedResponse is set to true\n"},{"path":[4,11,2,3,4],"span":[183,2,10]},{"path":[4,11,2,3,6],"span":[183,11,21]},{"path":[4,11,2,3,1],"span":[183,22,34]},{"path":[4,11,2,3,3],"span":[183,37,38]},{"path":[4,12],"span":[186,0,197,1]},{"path":[4,12,1],"span":[186,8,20]},{"path":[4,12,2,0],"span":[188,2,19],"leadingComments":" failed is the count of metrics that failed to be accepted\n"},{"path":[4,12,2,0,5],"span":[188,2,7]},{"path":[4,12,2,0,1],"span":[188,8,14]},{"path":[4,12,2,0,3],"span":[188,17,18]},{"path":[4,12,2,1],"span":[190,2,22],"leadingComments":" succeeded is the count of metrics that were accepted\n"},{"path":[4,12,2,1,5],"span":[190,2,7]},{"path":[4,12,2,1,1],"span":[190,8,17]},{"path":[4,12,2,1,3],"span":[190,20,21]},{"path":[4,12,2,2],"span":[192,2,21],"leadingComments":" message is an informational message that may or may not be set\n"},{"path":[4,12,2,2,5],"span":[192,2,8]},{"path":[4,12,2,2,1],"span":[192,9,16]},{"path":[4,12,2,2,3],"span":[192,19,20]},{"path":[4,12,2,3],"span":[194,2,55],"leadingComments":"Failed metrics only returned if detailedResponse is set to true\n"},{"path":[4,12,2,3,4],"span":[194,2,10]},{"path":[4,12,2,3,6],"span":[194,11,29]},{"path":[4,12,2,3,1],"span":[194,30,50]},{"path":[4,12,2,3,3],"span":[194,53,54]},{"path":[4,12,2,4],"span":[195,2,53]},{"path":[4,12,2,4,4],"span":[195,2,10]},{"path":[4,12,2,4,6],"span":[195,11,28]},{"path":[4,12,2,4,1],"span":[195,29,48]},{"path":[4,12,2,4,3],"span":[195,51,52]},{"path":[4,12,2,5],"span":[196,2,41]},{"path":[4,12,2,5,4],"span":[196,2,10]},{"path":[4,12,2,5,6],"span":[196,11,22]},{"path":[4,12,2,5,1],"span":[196,23,36]},{"path":[4,12,2,5,3],"span":[196,39,40]},{"path":[4,13],"span":[199,0,204,1]},{"path":[4,13,1],"span":[199,8,20]},{"path":[4,13,8,0],"span":[200,2,203,3]},{"path":[4,13,8,0,1],"span":[200,8,18]},{"path":[4,13,2,0],"span":[202,4,24],"leadingComments":" Canonical format\n"},{"path":[4,13,2,0,6],"span":[202,4,9]},{"path":[4,13,2,0,1],"span":[202,10,19]},{"path":[4,13,2,0,3],"span":[202,22,23]},{"path":[4,14],"span":[206,0,217,1]},{"path":[4,14,1],"span":[206,8,21]},{"path":[4,14,8,0],"span":[207,2,216,3]},{"path":[4,14,8,0,1],"span":[207,8,19]},{"path":[4,14,2,0],"span":[209,4,28],"leadingComments":" Verbose format\n"},{"path":[4,14,2,0,6],"span":[209,4,16]},{"path":[4,14,2,0,1],"span":[209,17,23]},{"path":[4,14,2,0,3],"span":[209,26,27]},{"path":[4,14,2,1],"span":[212,4,30],"leadingComments":" Compact format\n"},{"path":[4,14,2,1,6],"span":[212,4,17]},{"path":[4,14,2,1,1],"span":[212,18,25]},{"path":[4,14,2,1,3],"span":[212,28,29]},{"path":[4,14,2,2],"span":[215,4,25],"leadingComments":" Canonical format\n"},{"path":[4,14,2,2,6],"span":[215,4,10]},{"path":[4,14,2,2,1],"span":[215,11,20]},{"path":[4,14,2,2,3],"span":[215,23,24]},{"path":[4,15],"span":[220,0,226,1],"leadingComments":" DEPRECATED Batch of metrics\n"},{"path":[4,15,1],"span":[220,8,19]},{"path":[4,15,2,0],"span":[222,2,38],"leadingComments":" Tags that apply to all metrics in the batch\n"},{"path":[4,15,2,0,6],"span":[222,2,21]},{"path":[4,15,2,0,1],"span":[222,22,33]},{"path":[4,15,2,0,3],"span":[222,36,37]},{"path":[4,15,2,1],"span":[225,2,37],"leadingComments":" The metrics\n"},{"path":[4,15,2,1,4],"span":[225,2,10]},{"path":[4,15,2,1,6],"span":[225,11,24]},{"path":[4,15,2,1,1],"span":[225,25,32]},{"path":[4,15,2,1,3],"span":[225,35,36]},{"path":[4,16],"span":[228,0,231,1]},{"path":[4,16,1],"span":[228,8,26]},{"path":[4,16,2,0],"span":[229,2,19]},{"path":[4,16,2,0,5],"span":[229,2,8]},{"path":[4,16,2,0,1],"span":[229,9,14]},{"path":[4,16,2,0,3],"span":[229,17,18]},{"path":[4,16,2,1],"span":[230,2,27]},{"path":[4,16,2,1,6],"span":[230,2,15]},{"path":[4,16,2,1,1],"span":[230,16,22]},{"path":[4,16,2,1,3],"span":[230,25,26]},{"path":[4,17],"span":[233,0,236,1]},{"path":[4,17,1],"span":[233,8,19]},{"path":[4,17,2,0],"span":[234,2,19]},{"path":[4,17,2,0,5],"span":[234,2,8]},{"path":[4,17,2,0,1],"span":[234,9,14]},{"path":[4,17,2,0,3],"span":[234,17,18]},{"path":[4,17,2,1],"span":[235,2,20]},{"path":[4,17,2,1,6],"span":[235,2,8]},{"path":[4,17,2,1,1],"span":[235,9,15]},{"path":[4,17,2,1,3],"span":[235,18,19]},{"path":[4,18],"span":[238,0,241,1]},{"path":[4,18,1],"span":[238,8,25]},{"path":[4,18,2,0],"span":[239,2,19]},{"path":[4,18,2,0,5],"span":[239,2,8]},{"path":[4,18,2,0,1],"span":[239,9,14]},{"path":[4,18,2,0,3],"span":[239,17,18]},{"path":[4,18,2,1],"span":[240,2,26]},{"path":[4,18,2,1,6],"span":[240,2,14]},{"path":[4,18,2,1,1],"span":[240,15,21]},{"path":[4,18,2,1,3],"span":[240,24,25]},{"path":[4,19],"span":[243,0,250,1]},{"path":[4,19,1],"span":[243,8,15]},{"path":[4,19,2,0],"span":[245,2,28],"leadingComments":" detailedResponse if set to true will return any metrics that failed to be sent\n"},{"path":[4,19,2,0,5],"span":[245,2,6]},{"path":[4,19,2,0,1],"span":[245,7,23]},{"path":[4,19,2,0,3],"span":[245,26,27]},{"path":[4,19,2,1],"span":[247,2,44]},{"path":[4,19,2,1,4],"span":[247,2,10]},{"path":[4,19,2,1,6],"span":[247,11,24]},{"path":[4,19,2,1,1],"span":[247,25,39]},{"path":[4,19,2,1,3],"span":[247,42,43]},{"path":[4,19,2,2],"span":[248,2,42]},{"path":[4,19,2,2,4],"span":[248,2,10]},{"path":[4,19,2,2,6],"span":[248,11,23]},{"path":[4,19,2,2,1],"span":[248,24,37]},{"path":[4,19,2,2,3],"span":[248,40,41]},{"path":[4,19,2,3],"span":[249,2,30]},{"path":[4,19,2,3,4],"span":[249,2,10]},{"path":[4,19,2,3,6],"span":[249,11,17]},{"path":[4,19,2,3,1],"span":[249,18,25]},{"path":[4,19,2,3,3],"span":[249,28,29]},{"path":[6,0],"span":[253,0,283,1],"leadingComments":" Data Receiver API\n"},{"path":[6,0,1],"span":[253,8,27]},{"path":[6,0,2,0],"span":[255,2,260,3],"leadingComments":" Send Events\n"},{"path":[6,0,2,0,1],"span":[255,6,15]},{"path":[6,0,2,0,2],"span":[255,16,22]},{"path":[6,0,2,0,3],"span":[255,33,50]},{"path":[6,0,2,0,4],"span":[256,4,259,6]},{"path":[6,0,2,0,4,72295728],"span":[256,4,259,6]},{"path":[6,0,2,0,4,72295728,4],"span":[257,6,38]},{"path":[6,0,2,0,4,72295728,7],"span":[258,6,15]},{"path":[6,0,2,1],"span":[263,2,53],"leadingComments":" Stream Events of any type.\n"},{"path":[6,0,2,1,1],"span":[263,6,14]},{"path":[6,0,2,1,5],"span":[263,15,21]},{"path":[6,0,2,1,2],"span":[263,22,34]},{"path":[6,0,2,1,3],"span":[263,45,49]},{"path":[6,0,2,2],"span":[266,2,271,3],"leadingComments":" Send Metrics\n"},{"path":[6,0,2,2,1],"span":[266,6,16]},{"path":[6,0,2,2,2],"span":[266,17,24]},{"path":[6,0,2,2,3],"span":[266,35,47]},{"path":[6,0,2,2,4],"span":[267,4,270,6]},{"path":[6,0,2,2,4,72295728],"span":[267,4,270,6]},{"path":[6,0,2,2,4,72295728,4],"span":[268,6,39]},{"path":[6,0,2,2,4,72295728,7],"span":[269,6,15]},{"path":[6,0,2,3],"span":[274,2,55],"leadingComments":" Stream Metric of any type\n"},{"path":[6,0,2,3,1],"span":[274,6,15]},{"path":[6,0,2,3,5],"span":[274,16,22]},{"path":[6,0,2,3,2],"span":[274,23,36]},{"path":[6,0,2,3,3],"span":[274,47,51]},{"path":[6,0,2,4],"span":[277,2,282,3],"leadingComments":" Send batch of models\n"},{"path":[6,0,2,4,1],"span":[277,6,15]},{"path":[6,0,2,4,2],"span":[277,16,22]},{"path":[6,0,2,4,3],"span":[277,33,50]},{"path":[6,0,2,4,4],"span":[278,4,281,6]},{"path":[6,0,2,4,4,72295728],"span":[278,4,281,6]},{"path":[6,0,2,4,4,72295728,4],"span":[279,6,38]},{"path":[6,0,2,4,4,72295728,7],"span":[280,6,15]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"zenoss/cloud/data_registry.proto","package":"zenoss.cloud","dependency":["google/protobuf/struct.proto","zenoss/cloud/data_receiver.proto"],"messageType":[{"name":"Definition","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"metric"},{"name":"dimensions","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"dimensions"},{"name":"metadataFields","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"update_mode","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"}]},{"name":"DefinitionUpdate","field":[{"name":"definition_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"definitionId"},{"name":"metadataFields","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"update_mode","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"}]},{"name":"RegisterMetricRequest","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricWrapper","jsonName":"metric"},{"name":"update_mode","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"}]},{"name":"UpdateMetricRequest","field":[{"name":"instanceId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"instanceId"},{"name":"metadataFields","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"update_mode","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"},{"name":"timestamp","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"}]},{"name":"RegisterMetricResponse","field":[{"name":"instanceId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"instanceId"},{"name":"definitionId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"definitionId"},{"name":"name","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}]},{"name":"RegisterMetricVerboseResponse","field":[{"name":"response","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.RegisterMetricResponse","jsonName":"response"},{"name":"error","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"}]},{"name":"RegisterMetricsResponse","field":[{"name":"responses","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.RegisterMetricVerboseResponse","jsonName":"responses"}]},{"name":"DefinitionResponse","field":[{"name":"definitionId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"definitionId"}]},{"name":"GetMetricRequest","field":[{"name":"instanceId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"instanceId"}]},{"name":"GetMetricResponse","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metric"}]}],"enumType":[{"name":"UpdateMode","value":[{"name":"MERGE","number":0},{"name":"REPLACE","number":1},{"name":"REPLACEALL","number":2}]}],"service":[{"name":"DataRegistryService","method":[{"name":"CreateOrUpdateMetric","inputType":".zenoss.cloud.RegisterMetricRequest","outputType":".zenoss.cloud.RegisterMetricResponse","options":{}},{"name":"CreateOrUpdateMetrics","inputType":".zenoss.cloud.RegisterMetricRequest","outputType":".zenoss.cloud.RegisterMetricsResponse","options":{},"clientStreaming":true},{"name":"UpdateMetric","inputType":".zenoss.cloud.UpdateMetricRequest","outputType":".zenoss.cloud.RegisterMetricResponse","options":{}},{"name":"RegisterDefinition","inputType":".zenoss.cloud.Definition","outputType":".zenoss.cloud.DefinitionResponse","options":{}},{"name":"UpdateDefinition","inputType":".zenoss.cloud.DefinitionUpdate","outputType":".zenoss.cloud.DefinitionResponse","options":{}},{"name":"GetMetric","inputType":".zenoss.cloud.GetMetricRequest","outputType":".zenoss.cloud.GetMetricResponse","options":{}}]}],"options":{"javaPackage":"org.zenoss.cloud.dataRegistry","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/data-registry"},"sourceCodeInfo":{"location":[{"span":[0,0,96,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,21]},{"path":[3,0],"span":[4,0,38]},{"path":[3,1],"span":[5,0,42]},{"path":[8],"span":[7,0,80]},{"path":[8,11],"span":[7,0,80]},{"path":[8],"span":[8,0,34]},{"path":[8,10],"span":[8,0,34]},{"path":[8],"span":[9,0,54]},{"path":[8,1],"span":[9,0,54]},{"path":[6,0],"span":[11,0,18,1]},{"path":[6,0,1],"span":[11,8,27]},{"path":[6,0,2,0],"span":[12,2,85]},{"path":[6,0,2,0,1],"span":[12,6,26]},{"path":[6,0,2,0,2],"span":[12,27,48]},{"path":[6,0,2,0,3],"span":[12,59,81]},{"path":[6,0,2,1],"span":[13,2,94]},{"path":[6,0,2,1,1],"span":[13,6,27]},{"path":[6,0,2,1,5],"span":[13,28,34]},{"path":[6,0,2,1,2],"span":[13,35,56]},{"path":[6,0,2,1,3],"span":[13,67,90]},{"path":[6,0,2,2],"span":[14,2,75]},{"path":[6,0,2,2,1],"span":[14,6,18]},{"path":[6,0,2,2,2],"span":[14,19,38]},{"path":[6,0,2,2,3],"span":[14,49,71]},{"path":[6,0,2,3],"span":[15,2,68]},{"path":[6,0,2,3,1],"span":[15,6,24]},{"path":[6,0,2,3,2],"span":[15,25,35]},{"path":[6,0,2,3,3],"span":[15,46,64]},{"path":[6,0,2,4],"span":[16,2,72]},{"path":[6,0,2,4,1],"span":[16,6,22]},{"path":[6,0,2,4,2],"span":[16,23,39]},{"path":[6,0,2,4,3],"span":[16,50,68]},{"path":[6,0,2,5],"span":[17,2,64]},{"path":[6,0,2,5,1],"span":[17,6,15]},{"path":[6,0,2,5,2],"span":[17,16,32]},{"path":[6,0,2,5,3],"span":[17,43,60]},{"path":[5,0],"span":[20,0,24,1]},{"path":[5,0,1],"span":[20,5,15]},{"path":[5,0,2,0],"span":[21,2,12]},{"path":[5,0,2,0,1],"span":[21,2,7]},{"path":[5,0,2,0,2],"span":[21,10,11]},{"path":[5,0,2,1],"span":[22,2,14]},{"path":[5,0,2,1,1],"span":[22,2,9]},{"path":[5,0,2,1,2],"span":[22,12,13]},{"path":[5,0,2,2],"span":[23,2,17]},{"path":[5,0,2,2,1],"span":[23,2,12]},{"path":[5,0,2,2,2],"span":[23,15,16]},{"path":[4,0],"span":[26,0,40,1]},{"path":[4,0,1],"span":[26,8,18]},{"path":[4,0,2,0],"span":[28,2,20],"leadingComments":" The metric name\n"},{"path":[4,0,2,0,5],"span":[28,2,8]},{"path":[4,0,2,0,1],"span":[28,9,15]},{"path":[4,0,2,0,3],"span":[28,18,19]},{"path":[4,0,2,1],"span":[31,2,33],"leadingComments":" Dimensions associated with this datapoint.\n"},{"path":[4,0,2,1,4],"span":[31,2,10]},{"path":[4,0,2,1,5],"span":[31,11,17]},{"path":[4,0,2,1,1],"span":[31,18,28]},{"path":[4,0,2,1,3],"span":[31,31,32]},{"path":[4,0,2,2],"span":[34,2,44],"leadingComments":" Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations\n"},{"path":[4,0,2,2,6],"span":[34,2,24]},{"path":[4,0,2,2,1],"span":[34,25,39]},{"path":[4,0,2,2,3],"span":[34,42,43]},{"path":[4,0,2,3],"span":[39,2,29],"leadingComments":" Determines what happens to the existing definition metadata fields. If MERGE (default), the provided metadata\n is merged with the existing metadata. If REPLACE, the provided metadata replaces the metadata on the existing\n definition.\n"},{"path":[4,0,2,3,6],"span":[39,2,12]},{"path":[4,0,2,3,1],"span":[39,13,24]},{"path":[4,0,2,3,3],"span":[39,27,28]},{"path":[4,1],"span":[42,0,53,1]},{"path":[4,1,1],"span":[42,8,24]},{"path":[4,1,2,0],"span":[44,2,27],"leadingComments":" The metric name\n"},{"path":[4,1,2,0,5],"span":[44,2,8]},{"path":[4,1,2,0,1],"span":[44,9,22]},{"path":[4,1,2,0,3],"span":[44,25,26]},{"path":[4,1,2,1],"span":[47,2,44],"leadingComments":" Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations\n"},{"path":[4,1,2,1,6],"span":[47,2,24]},{"path":[4,1,2,1,1],"span":[47,25,39]},{"path":[4,1,2,1,3],"span":[47,42,43]},{"path":[4,1,2,2],"span":[52,2,29],"leadingComments":" Determines what happens to the existing definition metadata fields. If MERGE (default), the provided metadata\n is merged with the existing metadata. If REPLACE, the provided metadata replaces the metadata on the existing\n definition.\n"},{"path":[4,1,2,2,6],"span":[52,2,12]},{"path":[4,1,2,2,1],"span":[52,13,24]},{"path":[4,1,2,2,3],"span":[52,27,28]},{"path":[4,2],"span":[55,0,58,1]},{"path":[4,2,1],"span":[55,8,29]},{"path":[4,2,2,0],"span":[56,2,27]},{"path":[4,2,2,0,6],"span":[56,2,15]},{"path":[4,2,2,0,1],"span":[56,16,22]},{"path":[4,2,2,0,3],"span":[56,25,26]},{"path":[4,2,2,1],"span":[57,2,29]},{"path":[4,2,2,1,6],"span":[57,2,12]},{"path":[4,2,2,1,1],"span":[57,13,24]},{"path":[4,2,2,1,3],"span":[57,27,28]},{"path":[4,3],"span":[60,0,69,1]},{"path":[4,3,1],"span":[60,8,27]},{"path":[4,3,2,0],"span":[61,2,24]},{"path":[4,3,2,0,5],"span":[61,2,8]},{"path":[4,3,2,0,1],"span":[61,9,19]},{"path":[4,3,2,0,3],"span":[61,22,23]},{"path":[4,3,2,1],"span":[64,2,44],"leadingComments":" Metadata for the datapoint\n"},{"path":[4,3,2,1,6],"span":[64,2,24]},{"path":[4,3,2,1,1],"span":[64,25,39]},{"path":[4,3,2,1,3],"span":[64,42,43]},{"path":[4,3,2,2],"span":[66,2,29]},{"path":[4,3,2,2,6],"span":[66,2,12]},{"path":[4,3,2,2,1],"span":[66,13,24]},{"path":[4,3,2,2,3],"span":[66,27,28]},{"path":[4,3,2,3],"span":[68,2,22]},{"path":[4,3,2,3,5],"span":[68,2,7]},{"path":[4,3,2,3,1],"span":[68,8,17]},{"path":[4,3,2,3,3],"span":[68,20,21]},{"path":[4,4],"span":[71,0,75,1]},{"path":[4,4,1],"span":[71,8,30]},{"path":[4,4,2,0],"span":[72,2,24]},{"path":[4,4,2,0,5],"span":[72,2,8]},{"path":[4,4,2,0,1],"span":[72,9,19]},{"path":[4,4,2,0,3],"span":[72,22,23]},{"path":[4,4,2,1],"span":[73,2,26]},{"path":[4,4,2,1,5],"span":[73,2,8]},{"path":[4,4,2,1,1],"span":[73,9,21]},{"path":[4,4,2,1,3],"span":[73,24,25]},{"path":[4,4,2,2],"span":[74,2,18]},{"path":[4,4,2,2,5],"span":[74,2,8]},{"path":[4,4,2,2,1],"span":[74,9,13]},{"path":[4,4,2,2,3],"span":[74,16,17]},{"path":[4,5],"span":[77,0,80,1]},{"path":[4,5,1],"span":[77,8,37]},{"path":[4,5,2,0],"span":[78,2,38]},{"path":[4,5,2,0,6],"span":[78,2,24]},{"path":[4,5,2,0,1],"span":[78,25,33]},{"path":[4,5,2,0,3],"span":[78,36,37]},{"path":[4,5,2,1],"span":[79,2,19]},{"path":[4,5,2,1,5],"span":[79,2,8]},{"path":[4,5,2,1,1],"span":[79,9,14]},{"path":[4,5,2,1,3],"span":[79,17,18]},{"path":[4,6],"span":[82,0,84,1]},{"path":[4,6,1],"span":[82,8,31]},{"path":[4,6,2,0],"span":[83,2,55]},{"path":[4,6,2,0,4],"span":[83,2,10]},{"path":[4,6,2,0,6],"span":[83,11,40]},{"path":[4,6,2,0,1],"span":[83,41,50]},{"path":[4,6,2,0,3],"span":[83,53,54]},{"path":[4,7],"span":[86,0,88,1]},{"path":[4,7,1],"span":[86,8,26]},{"path":[4,7,2,0],"span":[87,2,26]},{"path":[4,7,2,0,5],"span":[87,2,8]},{"path":[4,7,2,0,1],"span":[87,9,21]},{"path":[4,7,2,0,3],"span":[87,24,25]},{"path":[4,8],"span":[90,0,92,1]},{"path":[4,8,1],"span":[90,8,24]},{"path":[4,8,2,0],"span":[91,2,24]},{"path":[4,8,2,0,5],"span":[91,2,8]},{"path":[4,8,2,0,1],"span":[91,9,19]},{"path":[4,8,2,0,3],"span":[91,22,23]},{"path":[4,9],"span":[94,0,96,1]},{"path":[4,9,1],"span":[94,8,25]},{"path":[4,9,2,0],"span":[95,2,20]},{"path":[4,9,2,0,6],"span":[95,2,8]},{"path":[4,9,2,0,1],"span":[95,9,15]},{"path":[4,9,2,0,3],"span":[95,18,19]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]} \ No newline at end of file +{"file":[{"name":"zenoss/cloud/collection_cfg.proto","package":"zenoss.cloud.collection_cfg","messageType":[{"name":"Config","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"tenant","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"tenant"},{"name":"configuration","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.Configuration","jsonName":"configuration"}],"reservedRange":[{"start":4,"end":5}]},{"name":"Configuration","field":[{"name":"type","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"data"}]},{"name":"ProbeSuccess"},{"name":"ProbeError","field":[{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"description","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"field_errors","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.FieldError","jsonName":"fieldErrors"}]},{"name":"FieldError","field":[{"name":"field","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"field"},{"name":"description","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"}]},{"name":"ProbeResult","field":[{"name":"success","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.ProbeSuccess","oneofIndex":0,"jsonName":"success"},{"name":"error","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.ProbeError","oneofIndex":0,"jsonName":"error"}],"oneofDecl":[{"name":"result"}]},{"name":"WaitForProbeConfigRequest","field":[{"name":"configuration","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.Config","jsonName":"configuration"},{"name":"deadline","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"deadline"}]},{"name":"WaitForProbeConfigResponse","field":[{"name":"config_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"configId"},{"name":"result","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.ProbeResult","jsonName":"result"}]},{"name":"GetConfigStreamRequest"},{"name":"GetConfigStreamResponse","field":[{"name":"configuration","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.collection_cfg.Config","jsonName":"configuration"}]}],"service":[{"name":"CollectionConfigService","method":[{"name":"WaitForProbeConfig","inputType":".zenoss.cloud.collection_cfg.WaitForProbeConfigResponse","outputType":".zenoss.cloud.collection_cfg.WaitForProbeConfigRequest","options":{},"clientStreaming":true,"serverStreaming":true},{"name":"GetConfigStream","inputType":".zenoss.cloud.collection_cfg.GetConfigStreamRequest","outputType":".zenoss.cloud.collection_cfg.GetConfigStreamResponse","options":{},"serverStreaming":true}]}],"options":{"javaPackage":"org.zenoss.cloud.collection","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/collection"},"sourceCodeInfo":{"location":[{"span":[0,0,65,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,36]},{"path":[8],"span":[4,0,77]},{"path":[8,11],"span":[4,0,77]},{"path":[8],"span":[5,0,34]},{"path":[8,10],"span":[5,0,34]},{"path":[8],"span":[6,0,52]},{"path":[8,1],"span":[6,0,52]},{"path":[6,0],"span":[10,0,13,1],"leadingComments":" CollectionConfigService is the gRPC & HTTP service responsible for managing\n collection configurations.\n"},{"path":[6,0,1],"span":[10,8,31]},{"path":[6,0,2,0],"span":[11,2,105]},{"path":[6,0,2,0,1],"span":[11,6,24]},{"path":[6,0,2,0,5],"span":[11,25,31]},{"path":[6,0,2,0,2],"span":[11,32,58]},{"path":[6,0,2,0,6],"span":[11,69,75]},{"path":[6,0,2,0,3],"span":[11,76,101]},{"path":[6,0,2,1],"span":[12,2,89]},{"path":[6,0,2,1,1],"span":[12,6,21]},{"path":[6,0,2,1,2],"span":[12,22,44]},{"path":[6,0,2,1,6],"span":[12,55,61]},{"path":[6,0,2,1,3],"span":[12,62,85]},{"path":[4,0],"span":[15,0,22,1]},{"path":[4,0,1],"span":[15,8,14]},{"path":[4,0,2,0],"span":[16,2,16]},{"path":[4,0,2,0,5],"span":[16,2,8]},{"path":[4,0,2,0,1],"span":[16,9,11]},{"path":[4,0,2,0,3],"span":[16,14,15]},{"path":[4,0,2,1],"span":[17,2,18]},{"path":[4,0,2,1,5],"span":[17,2,8]},{"path":[4,0,2,1,1],"span":[17,9,13]},{"path":[4,0,2,1,3],"span":[17,16,17]},{"path":[4,0,2,2],"span":[18,2,20]},{"path":[4,0,2,2,5],"span":[18,2,8]},{"path":[4,0,2,2,1],"span":[18,9,15]},{"path":[4,0,2,2,3],"span":[18,18,19]},{"path":[4,0,2,3],"span":[19,2,34]},{"path":[4,0,2,3,6],"span":[19,2,15]},{"path":[4,0,2,3,1],"span":[19,16,29]},{"path":[4,0,2,3,3],"span":[19,32,33]},{"path":[4,0,9],"span":[21,2,13]},{"path":[4,0,9,0],"span":[21,11,12]},{"path":[4,0,9,0,1],"span":[21,11,12]},{"path":[4,0,9,0,2],"span":[21,11,12]},{"path":[4,1],"span":[24,0,27,1]},{"path":[4,1,1],"span":[24,8,21]},{"path":[4,1,2,0],"span":[25,2,18]},{"path":[4,1,2,0,5],"span":[25,2,8]},{"path":[4,1,2,0,1],"span":[25,9,13]},{"path":[4,1,2,0,3],"span":[25,16,17]},{"path":[4,1,2,1],"span":[26,2,18]},{"path":[4,1,2,1,5],"span":[26,2,8]},{"path":[4,1,2,1,1],"span":[26,9,13]},{"path":[4,1,2,1,3],"span":[26,16,17]},{"path":[4,2],"span":[29,0,23]},{"path":[4,2,1],"span":[29,8,20]},{"path":[4,3],"span":[31,0,37,1]},{"path":[4,3,1],"span":[31,8,18]},{"path":[4,3,2,0],"span":[33,2,21],"leadingComments":" message is a short human-friendly text. Can be empty.\n"},{"path":[4,3,2,0,5],"span":[33,2,8]},{"path":[4,3,2,0,1],"span":[33,9,16]},{"path":[4,3,2,0,3],"span":[33,19,20]},{"path":[4,3,2,1],"span":[35,2,25],"leadingComments":" description is a parsed API error. Usually long and technical.\n"},{"path":[4,3,2,1,5],"span":[35,2,8]},{"path":[4,3,2,1,1],"span":[35,9,20]},{"path":[4,3,2,1,3],"span":[35,23,24]},{"path":[4,3,2,2],"span":[36,2,39]},{"path":[4,3,2,2,4],"span":[36,2,10]},{"path":[4,3,2,2,6],"span":[36,11,21]},{"path":[4,3,2,2,1],"span":[36,22,34]},{"path":[4,3,2,2,3],"span":[36,37,38]},{"path":[4,4],"span":[39,0,42,1]},{"path":[4,4,1],"span":[39,8,18]},{"path":[4,4,2,0],"span":[40,2,19]},{"path":[4,4,2,0,5],"span":[40,2,8]},{"path":[4,4,2,0,1],"span":[40,9,14]},{"path":[4,4,2,0,3],"span":[40,17,18]},{"path":[4,4,2,1],"span":[41,2,25]},{"path":[4,4,2,1,5],"span":[41,2,8]},{"path":[4,4,2,1,1],"span":[41,9,20]},{"path":[4,4,2,1,3],"span":[41,23,24]},{"path":[4,5],"span":[44,0,49,1]},{"path":[4,5,1],"span":[44,8,19]},{"path":[4,5,8,0],"span":[45,2,48,3]},{"path":[4,5,8,0,1],"span":[45,8,14]},{"path":[4,5,2,0],"span":[46,4,29]},{"path":[4,5,2,0,6],"span":[46,4,16]},{"path":[4,5,2,0,1],"span":[46,17,24]},{"path":[4,5,2,0,3],"span":[46,27,28]},{"path":[4,5,2,1],"span":[47,4,25]},{"path":[4,5,2,1,6],"span":[47,4,14]},{"path":[4,5,2,1,1],"span":[47,15,20]},{"path":[4,5,2,1,3],"span":[47,23,24]},{"path":[4,6],"span":[51,0,54,1]},{"path":[4,6,1],"span":[51,8,33]},{"path":[4,6,2,0],"span":[52,2,27]},{"path":[4,6,2,0,6],"span":[52,2,8]},{"path":[4,6,2,0,1],"span":[52,9,22]},{"path":[4,6,2,0,3],"span":[52,25,26]},{"path":[4,6,2,1],"span":[53,2,21]},{"path":[4,6,2,1,5],"span":[53,2,7]},{"path":[4,6,2,1,1],"span":[53,8,16]},{"path":[4,6,2,1,3],"span":[53,19,20]},{"path":[4,7],"span":[56,0,59,1]},{"path":[4,7,1],"span":[56,8,34]},{"path":[4,7,2,0],"span":[57,2,23]},{"path":[4,7,2,0,5],"span":[57,2,8]},{"path":[4,7,2,0,1],"span":[57,9,18]},{"path":[4,7,2,0,3],"span":[57,21,22]},{"path":[4,7,2,1],"span":[58,2,25]},{"path":[4,7,2,1,6],"span":[58,2,13]},{"path":[4,7,2,1,1],"span":[58,14,20]},{"path":[4,7,2,1,3],"span":[58,23,24]},{"path":[4,8],"span":[61,0,33]},{"path":[4,8,1],"span":[61,8,30]},{"path":[4,9],"span":[63,0,65,1]},{"path":[4,9,1],"span":[63,8,31]},{"path":[4,9,2,0],"span":[64,2,36]},{"path":[4,9,2,0,4],"span":[64,2,10]},{"path":[4,9,2,0,6],"span":[64,11,17]},{"path":[4,9,2,0,1],"span":[64,18,31]},{"path":[4,9,2,0,3],"span":[64,34,35]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"google/api/http.proto","package":"google.api","messageType":[{"name":"Http","field":[{"name":"rules","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.api.HttpRule","jsonName":"rules"},{"name":"fully_decode_reserved_expansion","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"fullyDecodeReservedExpansion"}]},{"name":"HttpRule","field":[{"name":"selector","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"selector"},{"name":"get","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"get"},{"name":"put","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"put"},{"name":"post","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"post"},{"name":"delete","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"delete"},{"name":"patch","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"patch"},{"name":"custom","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.api.CustomHttpPattern","oneofIndex":0,"jsonName":"custom"},{"name":"body","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"body"},{"name":"response_body","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"responseBody"},{"name":"additional_bindings","number":11,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.api.HttpRule","jsonName":"additionalBindings"}],"oneofDecl":[{"name":"pattern"}]},{"name":"CustomHttpPattern","field":[{"name":"kind","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"kind"},{"name":"path","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"path"}]}],"options":{"javaPackage":"com.google.api","javaOuterClassname":"HttpProto","javaMultipleFiles":true,"goPackage":"google.golang.org/genproto/googleapis/api/annotations;annotations","ccEnableArenas":true,"objcClassPrefix":"GAPI"},"sourceCodeInfo":{"location":[{"span":[14,0,370,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024 Google LLC\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"]},{"path":[2],"span":[16,0,19]},{"path":[8],"span":[18,0,31]},{"path":[8,31],"span":[18,0,31]},{"path":[8],"span":[19,0,88]},{"path":[8,11],"span":[19,0,88]},{"path":[8],"span":[20,0,34]},{"path":[8,10],"span":[20,0,34]},{"path":[8],"span":[21,0,42]},{"path":[8,8],"span":[21,0,42]},{"path":[8],"span":[22,0,39]},{"path":[8,1],"span":[22,0,39]},{"path":[8],"span":[23,0,34]},{"path":[8,36],"span":[23,0,34]},{"path":[4,0],"span":[28,0,41,1],"leadingComments":" Defines the HTTP configuration for an API service. It contains a list of\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n to one or more HTTP REST API methods.\n"},{"path":[4,0,1],"span":[28,8,12]},{"path":[4,0,2,0],"span":[32,2,30],"leadingComments":" A list of HTTP configuration rules that apply to individual API methods.\n\n **NOTE:** All service configuration rules follow \"last one wins\" order.\n"},{"path":[4,0,2,0,4],"span":[32,2,10]},{"path":[4,0,2,0,6],"span":[32,11,19]},{"path":[4,0,2,0,1],"span":[32,20,25]},{"path":[4,0,2,0,3],"span":[32,28,29]},{"path":[4,0,2,1],"span":[40,2,43],"leadingComments":" When set to true, URL path parameters will be fully URI-decoded except in\n cases of single segment matches in reserved expansion, where \"%2F\" will be\n left encoded.\n\n The default behavior is to not decode RFC 6570 reserved characters in multi\n segment matches.\n"},{"path":[4,0,2,1,5],"span":[40,2,6]},{"path":[4,0,2,1,1],"span":[40,7,38]},{"path":[4,0,2,1,3],"span":[40,41,42]},{"path":[4,1],"span":[307,0,361,1],"leadingComments":" gRPC Transcoding\n\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\n more HTTP REST endpoints. It allows developers to build a single API service\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\n APIs](https://github.com/googleapis/googleapis),\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\n and use it for large scale production services.\n\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\n how different portions of the gRPC request message are mapped to the URL\n path, URL query parameters, and HTTP request body. It also controls how the\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\n typically specified as an `google.api.http` annotation on the gRPC method.\n\n Each mapping specifies a URL path template and an HTTP method. The path\n template may refer to one or more fields in the gRPC request message, as long\n as each field is a non-repeated field with a primitive (non-message) type.\n The path template controls how fields of the request message are mapped to\n the URL path.\n\n Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/{name=messages/*}\"\n };\n }\n }\n message GetMessageRequest {\n string name = 1; // Mapped to URL path.\n }\n message Message {\n string text = 1; // The resource content.\n }\n\n This enables an HTTP REST to gRPC mapping as below:\n\n - HTTP: `GET /v1/messages/123456`\n - gRPC: `GetMessage(name: \"messages/123456\")`\n\n Any fields in the request message which are not bound by the path template\n automatically become HTTP query parameters if there is no HTTP request body.\n For example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get:\"/v1/messages/{message_id}\"\n };\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // Mapped to URL path.\n int64 revision = 2; // Mapped to URL query parameter `revision`.\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\n }\n\n This enables a HTTP JSON to RPC mapping as below:\n\n - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo`\n - gRPC: `GetMessage(message_id: \"123456\" revision: 2 sub:\n SubMessage(subfield: \"foo\"))`\n\n Note that fields which are mapped to URL query parameters must have a\n primitive type or a repeated primitive type or a non-repeated message type.\n In the case of a repeated type, the parameter can be repeated in the URL\n as `...?param=A¶m=B`. In the case of a message type, each field of the\n message is mapped to a separate parameter, such as\n `...?foo.a=A&foo.b=B&foo.c=C`.\n\n For HTTP methods that allow a request body, the `body` field\n specifies the mapping. Consider a REST update method on the\n message resource collection:\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n The following HTTP JSON to RPC mapping is enabled, where the\n representation of the JSON in the request body is determined by\n protos JSON encoding:\n\n - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }`\n - gRPC: `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n\n The special name `*` can be used in the body mapping to define that\n every field not bound by the path template should be mapped to the\n request body. This enables the following alternative definition of\n the update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\n The following HTTP JSON to RPC mapping is enabled:\n\n - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }`\n - gRPC: `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n\n Note that when using `*` in the body mapping, it is not possible to\n have HTTP parameters, as all fields not bound by the path end in\n the body. This makes this option more rarely used in practice when\n defining REST APIs. The common usage of `*` is in custom methods\n which don't use the URL at all for transferring data.\n\n It is possible to define multiple HTTP methods for one RPC by using\n the `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n This enables the following two alternative HTTP JSON to RPC mappings:\n\n - HTTP: `GET /v1/messages/123456`\n - gRPC: `GetMessage(message_id: \"123456\")`\n\n - HTTP: `GET /v1/users/me/messages/123456`\n - gRPC: `GetMessage(user_id: \"me\" message_id: \"123456\")`\n\n Rules for HTTP mapping\n\n 1. Leaf request fields (recursive expansion nested messages in the request\n message) are classified into three categories:\n - Fields referred by the path template. They are passed via the URL path.\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They\n are passed via the HTTP\n request body.\n - All other fields are passed via the URL query parameters, and the\n parameter name is the field path in the request message. A repeated\n field can be represented as multiple query parameters under the same\n name.\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL\n query parameter, all fields\n are passed via URL path and HTTP request body.\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP\n request body, all\n fields are passed via URL path and URL query parameters.\n\n Path template syntax\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\n The syntax `*` matches a single URL path segment. The syntax `**` matches\n zero or more URL path segments, which must be the last part of the URL path\n except the `Verb`.\n\n The syntax `Variable` matches part of the URL path as specified by its\n template. A variable template must not contain other variables. If a variable\n matches a single path segment, its template may be omitted, e.g. `{var}`\n is equivalent to `{var=*}`.\n\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\n contains any reserved character, such characters should be percent-encoded\n before the matching.\n\n If a variable contains exactly one path segment, such as `\"{var}\"` or\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\n server side does the reverse decoding. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{var}`.\n\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\n unchanged. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{+var}`.\n\n Using gRPC API Service Configuration\n\n gRPC API Service Configuration (service config) is a configuration language\n for configuring a gRPC service to become a user-facing product. The\n service config is simply the YAML representation of the `google.api.Service`\n proto message.\n\n As an alternative to annotating your proto file, you can configure gRPC\n transcoding in your service config YAML files. You do this by specifying a\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\n effect as the proto annotation. This can be particularly useful if you\n have a proto that is reused in multiple services. Note that any transcoding\n specified in the service config will override any matching transcoding\n configuration in the proto.\n\n The following example selects a gRPC method and applies an `HttpRule` to it:\n\n http:\n rules:\n - selector: example.v1.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\n Special notes\n\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\n proto to JSON conversion must follow the [proto3\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\n While the single segment variable follows the semantics of\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\n does not expand special characters like `?` and `#`, which would lead\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\n for multi segment variables.\n\n The path variables **must not** refer to any repeated or mapped field,\n because client libraries are not capable of handling such variable expansion.\n\n The path variables **must not** capture the leading \"/\" character. The reason\n is that the most common use case \"{var}\" does not capture the leading \"/\"\n character. For consistency, all path variables must share the same behavior.\n\n Repeated message fields must not be mapped to URL query parameters, because\n no client library can support such complicated mapping.\n\n If an API needs to use a JSON array for request or response body, it can map\n the request or response body to a repeated field. However, some gRPC\n Transcoding implementations may not support this feature.\n"},{"path":[4,1,1],"span":[307,8,16]},{"path":[4,1,2,0],"span":[312,2,22],"leadingComments":" Selects a method to which this rule applies.\n\n Refer to [selector][google.api.DocumentationRule.selector] for syntax\n details.\n"},{"path":[4,1,2,0,5],"span":[312,2,8]},{"path":[4,1,2,0,1],"span":[312,9,17]},{"path":[4,1,2,0,3],"span":[312,20,21]},{"path":[4,1,8,0],"span":[317,2,339,3],"leadingComments":" Determines the URL pattern is matched by this rules. This pattern can be\n used with any of the {get|put|post|delete|patch} methods. A custom method\n can be defined using the 'custom' field.\n"},{"path":[4,1,8,0,1],"span":[317,8,15]},{"path":[4,1,2,1],"span":[320,4,19],"leadingComments":" Maps to HTTP GET. Used for listing and getting information about\n resources.\n"},{"path":[4,1,2,1,5],"span":[320,4,10]},{"path":[4,1,2,1,1],"span":[320,11,14]},{"path":[4,1,2,1,3],"span":[320,17,18]},{"path":[4,1,2,2],"span":[323,4,19],"leadingComments":" Maps to HTTP PUT. Used for replacing a resource.\n"},{"path":[4,1,2,2,5],"span":[323,4,10]},{"path":[4,1,2,2,1],"span":[323,11,14]},{"path":[4,1,2,2,3],"span":[323,17,18]},{"path":[4,1,2,3],"span":[326,4,20],"leadingComments":" Maps to HTTP POST. Used for creating a resource or performing an action.\n"},{"path":[4,1,2,3,5],"span":[326,4,10]},{"path":[4,1,2,3,1],"span":[326,11,15]},{"path":[4,1,2,3,3],"span":[326,18,19]},{"path":[4,1,2,4],"span":[329,4,22],"leadingComments":" Maps to HTTP DELETE. Used for deleting a resource.\n"},{"path":[4,1,2,4,5],"span":[329,4,10]},{"path":[4,1,2,4,1],"span":[329,11,17]},{"path":[4,1,2,4,3],"span":[329,20,21]},{"path":[4,1,2,5],"span":[332,4,21],"leadingComments":" Maps to HTTP PATCH. Used for updating a resource.\n"},{"path":[4,1,2,5,5],"span":[332,4,10]},{"path":[4,1,2,5,1],"span":[332,11,16]},{"path":[4,1,2,5,3],"span":[332,19,20]},{"path":[4,1,2,6],"span":[338,4,33],"leadingComments":" The custom pattern is used for specifying an HTTP method that is not\n included in the `pattern` field, such as HEAD, or \"*\" to leave the\n HTTP method unspecified for this rule. The wild-card rule is useful\n for services that provide content to Web (HTML) clients.\n"},{"path":[4,1,2,6,6],"span":[338,4,21]},{"path":[4,1,2,6,1],"span":[338,22,28]},{"path":[4,1,2,6,3],"span":[338,31,32]},{"path":[4,1,2,7],"span":[347,2,18],"leadingComments":" The name of the request field whose value is mapped to the HTTP request\n body, or `*` for mapping all request fields not captured by the path\n pattern to the HTTP body, or omitted for not having any HTTP request body.\n\n NOTE: the referred field must be present at the top-level of the request\n message type.\n"},{"path":[4,1,2,7,5],"span":[347,2,8]},{"path":[4,1,2,7,1],"span":[347,9,13]},{"path":[4,1,2,7,3],"span":[347,16,17]},{"path":[4,1,2,8],"span":[355,2,28],"leadingComments":" Optional. The name of the response field whose value is mapped to the HTTP\n response body. When omitted, the entire response message will be used\n as the HTTP response body.\n\n NOTE: The referred field must be present at the top-level of the response\n message type.\n"},{"path":[4,1,2,8,5],"span":[355,2,8]},{"path":[4,1,2,8,1],"span":[355,9,22]},{"path":[4,1,2,8,3],"span":[355,25,27]},{"path":[4,1,2,9],"span":[360,2,45],"leadingComments":" Additional HTTP bindings for the selector. Nested bindings must\n not contain an `additional_bindings` field themselves (that is,\n the nesting may only be one level deep).\n"},{"path":[4,1,2,9,4],"span":[360,2,10]},{"path":[4,1,2,9,6],"span":[360,11,19]},{"path":[4,1,2,9,1],"span":[360,20,39]},{"path":[4,1,2,9,3],"span":[360,42,44]},{"path":[4,2],"span":[364,0,370,1],"leadingComments":" A custom pattern is used for defining custom HTTP verb.\n"},{"path":[4,2,1],"span":[364,8,25]},{"path":[4,2,2,0],"span":[366,2,18],"leadingComments":" The name of this custom HTTP verb.\n"},{"path":[4,2,2,0,5],"span":[366,2,8]},{"path":[4,2,2,0,1],"span":[366,9,13]},{"path":[4,2,2,0,3],"span":[366,16,17]},{"path":[4,2,2,1],"span":[369,2,18],"leadingComments":" The path matched by this custom verb.\n"},{"path":[4,2,2,1,5],"span":[369,2,8]},{"path":[4,2,2,1,1],"span":[369,9,13]},{"path":[4,2,2,1,3],"span":[369,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"moduleInfo":{"name":{"remote":"buf.build","owner":"googleapis","repository":"googleapis"},"commit":"83c0f6c19b2f4ea0b0fd84a80e753659"},"isSyntaxUnspecified":false}},{"name":"google/protobuf/descriptor.proto","package":"google.protobuf","messageType":[{"name":"FileDescriptorSet","field":[{"name":"file","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileDescriptorProto","jsonName":"file"}],"extensionRange":[{"start":536000000,"end":536000001,"options":{"declaration":[{"number":536000000,"fullName":".buf.descriptor.v1.buf_file_descriptor_set_extension","type":".buf.descriptor.v1.FileDescriptorSetExtension"}]}}]},{"name":"FileDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"package","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"package"},{"name":"dependency","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"dependency"},{"name":"public_dependency","number":10,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"publicDependency"},{"name":"weak_dependency","number":11,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"weakDependency"},{"name":"message_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"messageType"},{"name":"enum_type","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"service","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceDescriptorProto","jsonName":"service"},{"name":"extension","number":7,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileOptions","jsonName":"options"},{"name":"source_code_info","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo","jsonName":"sourceCodeInfo"},{"name":"syntax","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"syntax"},{"name":"edition","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"}]},{"name":"DescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"field","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"field"},{"name":"extension","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"nested_type","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"nestedType"},{"name":"enum_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"extension_range","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ExtensionRange","jsonName":"extensionRange"},{"name":"oneof_decl","number":8,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofDescriptorProto","jsonName":"oneofDecl"},{"name":"options","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MessageOptions","jsonName":"options"},{"name":"reserved_range","number":9,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":10,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"}],"nestedType":[{"name":"ExtensionRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions","jsonName":"options"}]},{"name":"ReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"ExtensionRangeOptions","field":[{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"},{"name":"declaration","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions.Declaration","jsonName":"declaration","options":{"retention":"RETENTION_SOURCE"}},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"verification","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.ExtensionRangeOptions.VerificationState","defaultValue":"UNVERIFIED","jsonName":"verification","options":{"retention":"RETENTION_SOURCE"}}],"nestedType":[{"name":"Declaration","field":[{"name":"number","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"full_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fullName"},{"name":"type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"reserved","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"reserved"},{"name":"repeated","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"repeated"}],"reservedRange":[{"start":4,"end":5}]}],"enumType":[{"name":"VerificationState","value":[{"name":"DECLARATION","number":0},{"name":"UNVERIFIED","number":1}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"FieldDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"label","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Label","jsonName":"label"},{"name":"type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"type"},{"name":"type_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeName"},{"name":"extendee","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"extendee"},{"name":"default_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"defaultValue"},{"name":"oneof_index","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"oneofIndex"},{"name":"json_name","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"jsonName"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions","jsonName":"options"},{"name":"proto3_optional","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"proto3Optional"}],"enumType":[{"name":"Type","value":[{"name":"TYPE_DOUBLE","number":1},{"name":"TYPE_FLOAT","number":2},{"name":"TYPE_INT64","number":3},{"name":"TYPE_UINT64","number":4},{"name":"TYPE_INT32","number":5},{"name":"TYPE_FIXED64","number":6},{"name":"TYPE_FIXED32","number":7},{"name":"TYPE_BOOL","number":8},{"name":"TYPE_STRING","number":9},{"name":"TYPE_GROUP","number":10},{"name":"TYPE_MESSAGE","number":11},{"name":"TYPE_BYTES","number":12},{"name":"TYPE_UINT32","number":13},{"name":"TYPE_ENUM","number":14},{"name":"TYPE_SFIXED32","number":15},{"name":"TYPE_SFIXED64","number":16},{"name":"TYPE_SINT32","number":17},{"name":"TYPE_SINT64","number":18}]},{"name":"Label","value":[{"name":"LABEL_OPTIONAL","number":1},{"name":"LABEL_REPEATED","number":3},{"name":"LABEL_REQUIRED","number":2}]}]},{"name":"OneofDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"options","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofOptions","jsonName":"options"}]},{"name":"EnumDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueDescriptorProto","jsonName":"value"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumOptions","jsonName":"options"},{"name":"reserved_range","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto.EnumReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":5,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"}],"nestedType":[{"name":"EnumReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"EnumValueDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueOptions","jsonName":"options"}]},{"name":"ServiceDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"method","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodDescriptorProto","jsonName":"method"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceOptions","jsonName":"options"}]},{"name":"MethodDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"input_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"inputType"},{"name":"output_type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"outputType"},{"name":"options","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodOptions","jsonName":"options"},{"name":"client_streaming","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"clientStreaming"},{"name":"server_streaming","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"serverStreaming"}]},{"name":"FileOptions","field":[{"name":"java_package","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaPackage"},{"name":"java_outer_classname","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaOuterClassname"},{"name":"java_multiple_files","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaMultipleFiles"},{"name":"java_generate_equals_and_hash","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"javaGenerateEqualsAndHash","options":{"deprecated":true}},{"name":"java_string_check_utf8","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaStringCheckUtf8"},{"name":"optimize_for","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FileOptions.OptimizeMode","defaultValue":"SPEED","jsonName":"optimizeFor"},{"name":"go_package","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"goPackage"},{"name":"cc_generic_services","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"ccGenericServices"},{"name":"java_generic_services","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaGenericServices"},{"name":"py_generic_services","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"pyGenericServices"},{"name":"deprecated","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"cc_enable_arenas","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"true","jsonName":"ccEnableArenas"},{"name":"objc_class_prefix","number":36,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"objcClassPrefix"},{"name":"csharp_namespace","number":37,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"csharpNamespace"},{"name":"swift_prefix","number":39,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"swiftPrefix"},{"name":"php_class_prefix","number":40,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpClassPrefix"},{"name":"php_namespace","number":41,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpNamespace"},{"name":"php_metadata_namespace","number":44,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpMetadataNamespace"},{"name":"ruby_package","number":45,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"rubyPackage"},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"OptimizeMode","value":[{"name":"SPEED","number":1},{"name":"CODE_SIZE","number":2},{"name":"LITE_RUNTIME","number":3}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":42,"end":43},{"start":38,"end":39}],"reservedName":["php_generic_services"]},{"name":"MessageOptions","field":[{"name":"message_set_wire_format","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"messageSetWireFormat"},{"name":"no_standard_descriptor_accessor","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"noStandardDescriptorAccessor"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"map_entry","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"mapEntry"},{"name":"deprecated_legacy_json_field_conflicts","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":8,"end":9},{"start":9,"end":10}]},{"name":"FieldOptions","field":[{"name":"ctype","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.CType","defaultValue":"STRING","jsonName":"ctype"},{"name":"packed","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"packed"},{"name":"jstype","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.JSType","defaultValue":"JS_NORMAL","jsonName":"jstype"},{"name":"lazy","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"lazy"},{"name":"unverified_lazy","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"unverifiedLazy"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"weak","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"weak"},{"name":"debug_redact","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"retention","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionRetention","jsonName":"retention"},{"name":"targets","number":19,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionTargetType","jsonName":"targets"},{"name":"edition_defaults","number":20,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.EditionDefault","jsonName":"editionDefaults"},{"name":"features","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"feature_support","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.FeatureSupport","jsonName":"featureSupport"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"nestedType":[{"name":"EditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"FeatureSupport","field":[{"name":"edition_introduced","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionIntroduced"},{"name":"edition_deprecated","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionDeprecated"},{"name":"deprecation_warning","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"deprecationWarning"},{"name":"edition_removed","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionRemoved"}]}],"enumType":[{"name":"CType","value":[{"name":"STRING","number":0},{"name":"CORD","number":1},{"name":"STRING_PIECE","number":2}]},{"name":"JSType","value":[{"name":"JS_NORMAL","number":0},{"name":"JS_STRING","number":1},{"name":"JS_NUMBER","number":2}]},{"name":"OptionRetention","value":[{"name":"RETENTION_UNKNOWN","number":0},{"name":"RETENTION_RUNTIME","number":1},{"name":"RETENTION_SOURCE","number":2}]},{"name":"OptionTargetType","value":[{"name":"TARGET_TYPE_UNKNOWN","number":0},{"name":"TARGET_TYPE_FILE","number":1},{"name":"TARGET_TYPE_EXTENSION_RANGE","number":2},{"name":"TARGET_TYPE_MESSAGE","number":3},{"name":"TARGET_TYPE_FIELD","number":4},{"name":"TARGET_TYPE_ONEOF","number":5},{"name":"TARGET_TYPE_ENUM","number":6},{"name":"TARGET_TYPE_ENUM_ENTRY","number":7},{"name":"TARGET_TYPE_SERVICE","number":8},{"name":"TARGET_TYPE_METHOD","number":9}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":18,"end":19}]},{"name":"OneofOptions","field":[{"name":"features","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"EnumOptions","field":[{"name":"allow_alias","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"allowAlias"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"deprecated_legacy_json_field_conflicts","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":5,"end":6}]},{"name":"EnumValueOptions","field":[{"name":"deprecated","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"features","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"debug_redact","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"feature_support","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.FeatureSupport","jsonName":"featureSupport"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"ServiceOptions","field":[{"name":"features","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"MethodOptions","field":[{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"idempotency_level","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.MethodOptions.IdempotencyLevel","defaultValue":"IDEMPOTENCY_UNKNOWN","jsonName":"idempotencyLevel"},{"name":"features","number":35,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"IdempotencyLevel","value":[{"name":"IDEMPOTENCY_UNKNOWN","number":0},{"name":"NO_SIDE_EFFECTS","number":1},{"name":"IDEMPOTENT","number":2}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"UninterpretedOption","field":[{"name":"name","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption.NamePart","jsonName":"name"},{"name":"identifier_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"identifierValue"},{"name":"positive_int_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"positiveIntValue"},{"name":"negative_int_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"negativeIntValue"},{"name":"double_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"doubleValue"},{"name":"string_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"stringValue"},{"name":"aggregate_value","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"aggregateValue"}],"nestedType":[{"name":"NamePart","field":[{"name":"name_part","number":1,"label":"LABEL_REQUIRED","type":"TYPE_STRING","jsonName":"namePart"},{"name":"is_extension","number":2,"label":"LABEL_REQUIRED","type":"TYPE_BOOL","jsonName":"isExtension"}]}]},{"name":"FeatureSet","field":[{"name":"field_presence","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.FieldPresence","jsonName":"fieldPresence","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPLICIT"},{"edition":"EDITION_PROTO3","value":"IMPLICIT"},{"edition":"EDITION_2023","value":"EXPLICIT"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"enum_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.EnumType","jsonName":"enumType","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"CLOSED"},{"edition":"EDITION_PROTO3","value":"OPEN"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"repeated_field_encoding","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.RepeatedFieldEncoding","jsonName":"repeatedFieldEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPANDED"},{"edition":"EDITION_PROTO3","value":"PACKED"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"utf8_validation","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.Utf8Validation","jsonName":"utf8Validation","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"NONE"},{"edition":"EDITION_PROTO3","value":"VERIFY"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"message_encoding","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.MessageEncoding","jsonName":"messageEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"LENGTH_PREFIXED"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"json_format","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.JsonFormat","jsonName":"jsonFormat","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_MESSAGE","TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"LEGACY_BEST_EFFORT"},{"edition":"EDITION_PROTO3","value":"ALLOW"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}}],"enumType":[{"name":"FieldPresence","value":[{"name":"FIELD_PRESENCE_UNKNOWN","number":0},{"name":"EXPLICIT","number":1},{"name":"IMPLICIT","number":2},{"name":"LEGACY_REQUIRED","number":3}]},{"name":"EnumType","value":[{"name":"ENUM_TYPE_UNKNOWN","number":0},{"name":"OPEN","number":1},{"name":"CLOSED","number":2}]},{"name":"RepeatedFieldEncoding","value":[{"name":"REPEATED_FIELD_ENCODING_UNKNOWN","number":0},{"name":"PACKED","number":1},{"name":"EXPANDED","number":2}]},{"name":"Utf8Validation","value":[{"name":"UTF8_VALIDATION_UNKNOWN","number":0},{"name":"VERIFY","number":2},{"name":"NONE","number":3}],"reservedRange":[{"start":1,"end":1}]},{"name":"MessageEncoding","value":[{"name":"MESSAGE_ENCODING_UNKNOWN","number":0},{"name":"LENGTH_PREFIXED","number":1},{"name":"DELIMITED","number":2}]},{"name":"JsonFormat","value":[{"name":"JSON_FORMAT_UNKNOWN","number":0},{"name":"ALLOW","number":1},{"name":"LEGACY_BEST_EFFORT","number":2}]}],"extensionRange":[{"start":1000,"end":9995,"options":{"declaration":[{"number":1000,"fullName":".pb.cpp","type":".pb.CppFeatures"},{"number":1001,"fullName":".pb.java","type":".pb.JavaFeatures"},{"number":1002,"fullName":".pb.go","type":".pb.GoFeatures"},{"number":9990,"fullName":".pb.proto1","type":".pb.Proto1Features"}]}},{"start":9995,"end":10000},{"start":10000,"end":10001}],"reservedRange":[{"start":999,"end":1000}]},{"name":"FeatureSetDefaults","field":[{"name":"defaults","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault","jsonName":"defaults"},{"name":"minimum_edition","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"minimumEdition"},{"name":"maximum_edition","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"maximumEdition"}],"nestedType":[{"name":"FeatureSetEditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"overridable_features","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"overridableFeatures"},{"name":"fixed_features","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"fixedFeatures"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3}],"reservedName":["features"]}]},{"name":"SourceCodeInfo","field":[{"name":"location","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo.Location","jsonName":"location"}],"nestedType":[{"name":"Location","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"span","number":2,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"span","options":{"packed":true}},{"name":"leading_comments","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"leadingComments"},{"name":"trailing_comments","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"trailingComments"},{"name":"leading_detached_comments","number":6,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"leadingDetachedComments"}]}],"extensionRange":[{"start":536000000,"end":536000001,"options":{"declaration":[{"number":536000000,"fullName":".buf.descriptor.v1.buf_source_code_info_extension","type":".buf.descriptor.v1.SourceCodeInfoExtension"}]}}]},{"name":"GeneratedCodeInfo","field":[{"name":"annotation","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.GeneratedCodeInfo.Annotation","jsonName":"annotation"}],"nestedType":[{"name":"Annotation","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"source_file","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"sourceFile"},{"name":"begin","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"begin"},{"name":"end","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"semantic","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.GeneratedCodeInfo.Annotation.Semantic","jsonName":"semantic"}],"enumType":[{"name":"Semantic","value":[{"name":"NONE","number":0},{"name":"SET","number":1},{"name":"ALIAS","number":2}]}]}]}],"enumType":[{"name":"Edition","value":[{"name":"EDITION_UNKNOWN","number":0},{"name":"EDITION_LEGACY","number":900},{"name":"EDITION_PROTO2","number":998},{"name":"EDITION_PROTO3","number":999},{"name":"EDITION_2023","number":1000},{"name":"EDITION_2024","number":1001},{"name":"EDITION_1_TEST_ONLY","number":1},{"name":"EDITION_2_TEST_ONLY","number":2},{"name":"EDITION_99997_TEST_ONLY","number":99997},{"name":"EDITION_99998_TEST_ONLY","number":99998},{"name":"EDITION_99999_TEST_ONLY","number":99999},{"name":"EDITION_MAX","number":2147483647}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DescriptorProtos","optimizeFor":"SPEED","goPackage":"google.golang.org/protobuf/types/descriptorpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.Reflection"},"sourceCodeInfo":{"location":[{"span":[38,0,1306,1]},{"path":[12],"span":[38,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"," Author: kenton@google.com (Kenton Varda)\n Based on original Protocol Buffers design by\n Sanjay Ghemawat, Jeff Dean, and others.\n\n The messages in this file describe the definitions found in .proto files.\n A valid .proto file can be translated directly to a FileDescriptorProto\n without any other information (e.g. without reading its imports).\n"]},{"path":[2],"span":[40,0,24]},{"path":[8],"span":[42,0,68]},{"path":[8,11],"span":[42,0,68]},{"path":[8],"span":[43,0,44]},{"path":[8,1],"span":[43,0,44]},{"path":[8],"span":[44,0,49]},{"path":[8,8],"span":[44,0,49]},{"path":[8],"span":[45,0,55]},{"path":[8,37],"span":[45,0,55]},{"path":[8],"span":[46,0,33]},{"path":[8,36],"span":[46,0,33]},{"path":[8],"span":[47,0,31]},{"path":[8,31],"span":[47,0,31]},{"path":[8],"span":[51,0,28]},{"path":[8,9],"span":[51,0,28],"leadingComments":" descriptor.proto must be optimized for speed because reflection-based\n algorithms don't work during bootstrapping.\n"},{"path":[4,0],"span":[55,0,64,1],"leadingComments":" The protocol compiler can output a FileDescriptorSet containing the .proto\n files it parses.\n"},{"path":[4,0,1],"span":[55,8,25]},{"path":[4,0,2,0],"span":[56,2,40]},{"path":[4,0,2,0,4],"span":[56,2,10]},{"path":[4,0,2,0,6],"span":[56,11,30]},{"path":[4,0,2,0,1],"span":[56,31,35]},{"path":[4,0,2,0,3],"span":[56,38,39]},{"path":[4,0,5],"span":[59,2,63,5],"leadingComments":" Extensions for tooling.\n"},{"path":[4,0,5,0],"span":[59,13,22]},{"path":[4,0,5,0,1],"span":[59,13,22]},{"path":[4,0,5,0,2],"span":[59,13,22]},{"path":[4,0,5,0,3],"span":[59,23,63,4]},{"path":[4,0,5,0,3,2,0],"span":[59,24,63,3]},{"path":[4,0,5,0,3,2,0,1],"span":[60,4,21]},{"path":[4,0,5,0,3,2,0,3],"span":[61,4,57]},{"path":[4,0,5,0,3,2,0,2],"span":[62,4,69]},{"path":[5,0],"span":[67,0,100,1],"leadingComments":" The full set of known editions.\n"},{"path":[5,0,1],"span":[67,5,12]},{"path":[5,0,2,0],"span":[69,2,22],"leadingComments":" A placeholder for an unknown edition value.\n"},{"path":[5,0,2,0,1],"span":[69,2,17]},{"path":[5,0,2,0,2],"span":[69,20,21]},{"path":[5,0,2,1],"span":[73,2,23],"leadingComments":" A placeholder edition for specifying default behaviors *before* a feature\n was first introduced. This is effectively an \"infinite past\".\n"},{"path":[5,0,2,1,1],"span":[73,2,16]},{"path":[5,0,2,1,2],"span":[73,19,22]},{"path":[5,0,2,2],"span":[79,2,23],"leadingComments":" Legacy syntax \"editions\". These pre-date editions, but behave much like\n distinct editions. These can't be used to specify the edition of proto\n files, but feature definitions must supply proto2/proto3 defaults for\n backwards compatibility.\n"},{"path":[5,0,2,2,1],"span":[79,2,16]},{"path":[5,0,2,2,2],"span":[79,19,22]},{"path":[5,0,2,3],"span":[80,2,23]},{"path":[5,0,2,3,1],"span":[80,2,16]},{"path":[5,0,2,3,2],"span":[80,19,22]},{"path":[5,0,2,4],"span":[85,2,22],"leadingComments":" Editions that have been released. The specific values are arbitrary and\n should not be depended on, but they will always be time-ordered for easy\n comparison.\n"},{"path":[5,0,2,4,1],"span":[85,2,14]},{"path":[5,0,2,4,2],"span":[85,17,21]},{"path":[5,0,2,5],"span":[86,2,22]},{"path":[5,0,2,5,1],"span":[86,2,14]},{"path":[5,0,2,5,2],"span":[86,17,21]},{"path":[5,0,2,6],"span":[90,2,26],"leadingComments":" Placeholder editions for testing feature resolution. These should not be\n used or relied on outside of tests.\n"},{"path":[5,0,2,6,1],"span":[90,2,21]},{"path":[5,0,2,6,2],"span":[90,24,25]},{"path":[5,0,2,7],"span":[91,2,26]},{"path":[5,0,2,7,1],"span":[91,2,21]},{"path":[5,0,2,7,2],"span":[91,24,25]},{"path":[5,0,2,8],"span":[92,2,34]},{"path":[5,0,2,8,1],"span":[92,2,25]},{"path":[5,0,2,8,2],"span":[92,28,33]},{"path":[5,0,2,9],"span":[93,2,34]},{"path":[5,0,2,9,1],"span":[93,2,25]},{"path":[5,0,2,9,2],"span":[93,28,33]},{"path":[5,0,2,10],"span":[94,2,34]},{"path":[5,0,2,10,1],"span":[94,2,25]},{"path":[5,0,2,10,2],"span":[94,28,33]},{"path":[5,0,2,11],"span":[99,2,27],"leadingComments":" Placeholder for specifying unbounded edition support. This should only\n ever be used by plugins that can expect to never require any changes to\n support a new edition.\n"},{"path":[5,0,2,11,1],"span":[99,2,13]},{"path":[5,0,2,11,2],"span":[99,16,26]},{"path":[4,1],"span":[103,0,137,1],"leadingComments":" Describes a complete .proto file.\n"},{"path":[4,1,1],"span":[103,8,27]},{"path":[4,1,2,0],"span":[104,2,27],"trailingComments":" file name, relative to root of source tree\n"},{"path":[4,1,2,0,4],"span":[104,2,10]},{"path":[4,1,2,0,5],"span":[104,11,17]},{"path":[4,1,2,0,1],"span":[104,18,22]},{"path":[4,1,2,0,3],"span":[104,25,26]},{"path":[4,1,2,1],"span":[105,2,30],"trailingComments":" e.g. \"foo\", \"foo.bar\", etc.\n"},{"path":[4,1,2,1,4],"span":[105,2,10]},{"path":[4,1,2,1,5],"span":[105,11,17]},{"path":[4,1,2,1,1],"span":[105,18,25]},{"path":[4,1,2,1,3],"span":[105,28,29]},{"path":[4,1,2,2],"span":[108,2,33],"leadingComments":" Names of files imported by this file.\n"},{"path":[4,1,2,2,4],"span":[108,2,10]},{"path":[4,1,2,2,5],"span":[108,11,17]},{"path":[4,1,2,2,1],"span":[108,18,28]},{"path":[4,1,2,2,3],"span":[108,31,32]},{"path":[4,1,2,3],"span":[110,2,40],"leadingComments":" Indexes of the public imported files in the dependency list above.\n"},{"path":[4,1,2,3,4],"span":[110,2,10]},{"path":[4,1,2,3,5],"span":[110,11,16]},{"path":[4,1,2,3,1],"span":[110,17,34]},{"path":[4,1,2,3,3],"span":[110,37,39]},{"path":[4,1,2,4],"span":[113,2,38],"leadingComments":" Indexes of the weak imported files in the dependency list.\n For Google-internal migration only. Do not use.\n"},{"path":[4,1,2,4,4],"span":[113,2,10]},{"path":[4,1,2,4,5],"span":[113,11,16]},{"path":[4,1,2,4,1],"span":[113,17,32]},{"path":[4,1,2,4,3],"span":[113,35,37]},{"path":[4,1,2,5],"span":[116,2,44],"leadingComments":" All top-level definitions in this file.\n"},{"path":[4,1,2,5,4],"span":[116,2,10]},{"path":[4,1,2,5,6],"span":[116,11,26]},{"path":[4,1,2,5,1],"span":[116,27,39]},{"path":[4,1,2,5,3],"span":[116,42,43]},{"path":[4,1,2,6],"span":[117,2,45]},{"path":[4,1,2,6,4],"span":[117,2,10]},{"path":[4,1,2,6,6],"span":[117,11,30]},{"path":[4,1,2,6,1],"span":[117,31,40]},{"path":[4,1,2,6,3],"span":[117,43,44]},{"path":[4,1,2,7],"span":[118,2,46]},{"path":[4,1,2,7,4],"span":[118,2,10]},{"path":[4,1,2,7,6],"span":[118,11,33]},{"path":[4,1,2,7,1],"span":[118,34,41]},{"path":[4,1,2,7,3],"span":[118,44,45]},{"path":[4,1,2,8],"span":[119,2,46]},{"path":[4,1,2,8,4],"span":[119,2,10]},{"path":[4,1,2,8,6],"span":[119,11,31]},{"path":[4,1,2,8,1],"span":[119,32,41]},{"path":[4,1,2,8,3],"span":[119,44,45]},{"path":[4,1,2,9],"span":[121,2,35]},{"path":[4,1,2,9,4],"span":[121,2,10]},{"path":[4,1,2,9,6],"span":[121,11,22]},{"path":[4,1,2,9,1],"span":[121,23,30]},{"path":[4,1,2,9,3],"span":[121,33,34]},{"path":[4,1,2,10],"span":[127,2,47],"leadingComments":" This field contains optional information about the original source code.\n You may safely remove this entire field without harming runtime\n functionality of the descriptors -- the information is needed only by\n development tools.\n"},{"path":[4,1,2,10,4],"span":[127,2,10]},{"path":[4,1,2,10,6],"span":[127,11,25]},{"path":[4,1,2,10,1],"span":[127,26,42]},{"path":[4,1,2,10,3],"span":[127,45,46]},{"path":[4,1,2,11],"span":[133,2,30],"leadingComments":" The syntax of the proto file.\n The supported values are \"proto2\", \"proto3\", and \"editions\".\n\n If `edition` is present, this value must be \"editions\".\n"},{"path":[4,1,2,11,4],"span":[133,2,10]},{"path":[4,1,2,11,5],"span":[133,11,17]},{"path":[4,1,2,11,1],"span":[133,18,24]},{"path":[4,1,2,11,3],"span":[133,27,29]},{"path":[4,1,2,12],"span":[136,2,32],"leadingComments":" The edition of the proto file.\n"},{"path":[4,1,2,12,4],"span":[136,2,10]},{"path":[4,1,2,12,6],"span":[136,11,18]},{"path":[4,1,2,12,1],"span":[136,19,26]},{"path":[4,1,2,12,3],"span":[136,29,31]},{"path":[4,2],"span":[140,0,172,1],"leadingComments":" Describes a message type.\n"},{"path":[4,2,1],"span":[140,8,23]},{"path":[4,2,2,0],"span":[141,2,27]},{"path":[4,2,2,0,4],"span":[141,2,10]},{"path":[4,2,2,0,5],"span":[141,11,17]},{"path":[4,2,2,0,1],"span":[141,18,22]},{"path":[4,2,2,0,3],"span":[141,25,26]},{"path":[4,2,2,1],"span":[143,2,42]},{"path":[4,2,2,1,4],"span":[143,2,10]},{"path":[4,2,2,1,6],"span":[143,11,31]},{"path":[4,2,2,1,1],"span":[143,32,37]},{"path":[4,2,2,1,3],"span":[143,40,41]},{"path":[4,2,2,2],"span":[144,2,46]},{"path":[4,2,2,2,4],"span":[144,2,10]},{"path":[4,2,2,2,6],"span":[144,11,31]},{"path":[4,2,2,2,1],"span":[144,32,41]},{"path":[4,2,2,2,3],"span":[144,44,45]},{"path":[4,2,2,3],"span":[146,2,43]},{"path":[4,2,2,3,4],"span":[146,2,10]},{"path":[4,2,2,3,6],"span":[146,11,26]},{"path":[4,2,2,3,1],"span":[146,27,38]},{"path":[4,2,2,3,3],"span":[146,41,42]},{"path":[4,2,2,4],"span":[147,2,45]},{"path":[4,2,2,4,4],"span":[147,2,10]},{"path":[4,2,2,4,6],"span":[147,11,30]},{"path":[4,2,2,4,1],"span":[147,31,40]},{"path":[4,2,2,4,3],"span":[147,43,44]},{"path":[4,2,3,0],"span":[149,2,154,3]},{"path":[4,2,3,0,1],"span":[149,10,24]},{"path":[4,2,3,0,2,0],"span":[150,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,0,2,0,4],"span":[150,4,12]},{"path":[4,2,3,0,2,0,5],"span":[150,13,18]},{"path":[4,2,3,0,2,0,1],"span":[150,19,24]},{"path":[4,2,3,0,2,0,3],"span":[150,27,28]},{"path":[4,2,3,0,2,1],"span":[151,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,0,2,1,4],"span":[151,4,12]},{"path":[4,2,3,0,2,1,5],"span":[151,13,18]},{"path":[4,2,3,0,2,1,1],"span":[151,19,22]},{"path":[4,2,3,0,2,1,3],"span":[151,25,26]},{"path":[4,2,3,0,2,2],"span":[153,4,47]},{"path":[4,2,3,0,2,2,4],"span":[153,4,12]},{"path":[4,2,3,0,2,2,6],"span":[153,13,34]},{"path":[4,2,3,0,2,2,1],"span":[153,35,42]},{"path":[4,2,3,0,2,2,3],"span":[153,45,46]},{"path":[4,2,2,5],"span":[155,2,46]},{"path":[4,2,2,5,4],"span":[155,2,10]},{"path":[4,2,2,5,6],"span":[155,11,25]},{"path":[4,2,2,5,1],"span":[155,26,41]},{"path":[4,2,2,5,3],"span":[155,44,45]},{"path":[4,2,2,6],"span":[157,2,47]},{"path":[4,2,2,6,4],"span":[157,2,10]},{"path":[4,2,2,6,6],"span":[157,11,31]},{"path":[4,2,2,6,1],"span":[157,32,42]},{"path":[4,2,2,6,3],"span":[157,45,46]},{"path":[4,2,2,7],"span":[159,2,38]},{"path":[4,2,2,7,4],"span":[159,2,10]},{"path":[4,2,2,7,6],"span":[159,11,25]},{"path":[4,2,2,7,1],"span":[159,26,33]},{"path":[4,2,2,7,3],"span":[159,36,37]},{"path":[4,2,3,1],"span":[164,2,167,3],"leadingComments":" Range of reserved tag numbers. Reserved tag numbers may not be used by\n fields or extension ranges in the same message. Reserved ranges may\n not overlap.\n"},{"path":[4,2,3,1,1],"span":[164,10,23]},{"path":[4,2,3,1,2,0],"span":[165,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,1,2,0,4],"span":[165,4,12]},{"path":[4,2,3,1,2,0,5],"span":[165,13,18]},{"path":[4,2,3,1,2,0,1],"span":[165,19,24]},{"path":[4,2,3,1,2,0,3],"span":[165,27,28]},{"path":[4,2,3,1,2,1],"span":[166,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,1,2,1,4],"span":[166,4,12]},{"path":[4,2,3,1,2,1,5],"span":[166,13,18]},{"path":[4,2,3,1,2,1,1],"span":[166,19,22]},{"path":[4,2,3,1,2,1,3],"span":[166,25,26]},{"path":[4,2,2,8],"span":[168,2,44]},{"path":[4,2,2,8,4],"span":[168,2,10]},{"path":[4,2,2,8,6],"span":[168,11,24]},{"path":[4,2,2,8,1],"span":[168,25,39]},{"path":[4,2,2,8,3],"span":[168,42,43]},{"path":[4,2,2,9],"span":[171,2,37],"leadingComments":" Reserved field names, which may not be used by fields in the same message.\n A given name may only be reserved once.\n"},{"path":[4,2,2,9,4],"span":[171,2,10]},{"path":[4,2,2,9,5],"span":[171,11,17]},{"path":[4,2,2,9,1],"span":[171,18,31]},{"path":[4,2,2,9,3],"span":[171,34,36]},{"path":[4,3],"span":[174,0,226,1]},{"path":[4,3,1],"span":[174,8,29]},{"path":[4,3,2,0],"span":[176,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,3,2,0,4],"span":[176,2,10]},{"path":[4,3,2,0,6],"span":[176,11,30]},{"path":[4,3,2,0,1],"span":[176,31,51]},{"path":[4,3,2,0,3],"span":[176,54,57]},{"path":[4,3,3,0],"span":[178,2,201,3]},{"path":[4,3,3,0,1],"span":[178,10,21]},{"path":[4,3,3,0,2,0],"span":[180,4,30],"leadingComments":" The extension number declared within the extension range.\n"},{"path":[4,3,3,0,2,0,4],"span":[180,4,12]},{"path":[4,3,3,0,2,0,5],"span":[180,13,18]},{"path":[4,3,3,0,2,0,1],"span":[180,19,25]},{"path":[4,3,3,0,2,0,3],"span":[180,28,29]},{"path":[4,3,3,0,2,1],"span":[184,4,34],"leadingComments":" The fully-qualified name of the extension field. There must be a leading\n dot in front of the full name.\n"},{"path":[4,3,3,0,2,1,4],"span":[184,4,12]},{"path":[4,3,3,0,2,1,5],"span":[184,13,19]},{"path":[4,3,3,0,2,1,1],"span":[184,20,29]},{"path":[4,3,3,0,2,1,3],"span":[184,32,33]},{"path":[4,3,3,0,2,2],"span":[189,4,29],"leadingComments":" The fully-qualified type name of the extension field. Unlike\n Metadata.type, Declaration.type must have a leading dot for messages\n and enums.\n"},{"path":[4,3,3,0,2,2,4],"span":[189,4,12]},{"path":[4,3,3,0,2,2,5],"span":[189,13,19]},{"path":[4,3,3,0,2,2,1],"span":[189,20,24]},{"path":[4,3,3,0,2,2,3],"span":[189,27,28]},{"path":[4,3,3,0,2,3],"span":[194,4,31],"leadingComments":" If true, indicates that the number is reserved in the extension range,\n and any extension field with the number will fail to compile. Set this\n when a declared extension field is deleted.\n"},{"path":[4,3,3,0,2,3,4],"span":[194,4,12]},{"path":[4,3,3,0,2,3,5],"span":[194,13,17]},{"path":[4,3,3,0,2,3,1],"span":[194,18,26]},{"path":[4,3,3,0,2,3,3],"span":[194,29,30]},{"path":[4,3,3,0,2,4],"span":[198,4,31],"leadingComments":" If true, indicates that the extension must be defined as repeated.\n Otherwise the extension must be defined as optional.\n"},{"path":[4,3,3,0,2,4,4],"span":[198,4,12]},{"path":[4,3,3,0,2,4,5],"span":[198,13,17]},{"path":[4,3,3,0,2,4,1],"span":[198,18,26]},{"path":[4,3,3,0,2,4,3],"span":[198,29,30]},{"path":[4,3,3,0,9],"span":[200,4,15],"trailingComments":" removed is_repeated\n"},{"path":[4,3,3,0,9,0],"span":[200,13,14]},{"path":[4,3,3,0,9,0,1],"span":[200,13,14]},{"path":[4,3,3,0,9,0,2],"span":[200,13,14]},{"path":[4,3,2,1],"span":[206,2,70],"leadingComments":" For external users: DO NOT USE. We are in the process of open sourcing\n extension declaration and executing internal cleanups before it can be\n used externally.\n"},{"path":[4,3,2,1,4],"span":[206,2,10]},{"path":[4,3,2,1,6],"span":[206,11,22]},{"path":[4,3,2,1,1],"span":[206,23,34]},{"path":[4,3,2,1,3],"span":[206,37,38]},{"path":[4,3,2,1,8],"span":[206,39,69]},{"path":[4,3,2,1,8,17],"span":[206,40,68]},{"path":[4,3,2,2],"span":[209,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,3,2,2,4],"span":[209,2,10]},{"path":[4,3,2,2,6],"span":[209,11,21]},{"path":[4,3,2,2,1],"span":[209,22,30]},{"path":[4,3,2,2,3],"span":[209,33,35]},{"path":[4,3,4,0],"span":[212,2,216,3],"leadingComments":" The verification state of the extension range.\n"},{"path":[4,3,4,0,1],"span":[212,7,24]},{"path":[4,3,4,0,2,0],"span":[214,4,20],"leadingComments":" All the extensions of the range must be declared.\n"},{"path":[4,3,4,0,2,0,1],"span":[214,4,15]},{"path":[4,3,4,0,2,0,2],"span":[214,18,19]},{"path":[4,3,4,0,2,1],"span":[215,4,19]},{"path":[4,3,4,0,2,1,1],"span":[215,4,14]},{"path":[4,3,4,0,2,1,2],"span":[215,17,18]},{"path":[4,3,2,3],"span":[221,2,222,59],"leadingComments":" The verification state of the range.\n TODO: flip the default to DECLARATION once all empty ranges\n are marked as UNVERIFIED.\n"},{"path":[4,3,2,3,4],"span":[221,2,10]},{"path":[4,3,2,3,6],"span":[221,11,28]},{"path":[4,3,2,3,1],"span":[221,29,41]},{"path":[4,3,2,3,3],"span":[221,44,45]},{"path":[4,3,2,3,8],"span":[222,6,58]},{"path":[4,3,2,3,7],"span":[222,7,27]},{"path":[4,3,2,3,8,17],"span":[222,29,57]},{"path":[4,3,5],"span":[225,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,3,5,0],"span":[225,13,24]},{"path":[4,3,5,0,1],"span":[225,13,17]},{"path":[4,3,5,0,2],"span":[225,21,24]},{"path":[4,4],"span":[229,0,333,1],"leadingComments":" Describes a field within a message.\n"},{"path":[4,4,1],"span":[229,8,28]},{"path":[4,4,4,0],"span":[230,2,262,3]},{"path":[4,4,4,0,1],"span":[230,7,11]},{"path":[4,4,4,0,2,0],"span":[233,4,20],"leadingComments":" 0 is reserved for errors.\n Order is weird for historical reasons.\n"},{"path":[4,4,4,0,2,0,1],"span":[233,4,15]},{"path":[4,4,4,0,2,0,2],"span":[233,18,19]},{"path":[4,4,4,0,2,1],"span":[234,4,19]},{"path":[4,4,4,0,2,1,1],"span":[234,4,14]},{"path":[4,4,4,0,2,1,2],"span":[234,17,18]},{"path":[4,4,4,0,2,2],"span":[237,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,2,1],"span":[237,4,14]},{"path":[4,4,4,0,2,2,2],"span":[237,17,18]},{"path":[4,4,4,0,2,3],"span":[238,4,20]},{"path":[4,4,4,0,2,3,1],"span":[238,4,15]},{"path":[4,4,4,0,2,3,2],"span":[238,18,19]},{"path":[4,4,4,0,2,4],"span":[241,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,4,1],"span":[241,4,14]},{"path":[4,4,4,0,2,4,2],"span":[241,17,18]},{"path":[4,4,4,0,2,5],"span":[242,4,21]},{"path":[4,4,4,0,2,5,1],"span":[242,4,16]},{"path":[4,4,4,0,2,5,2],"span":[242,19,20]},{"path":[4,4,4,0,2,6],"span":[243,4,21]},{"path":[4,4,4,0,2,6,1],"span":[243,4,16]},{"path":[4,4,4,0,2,6,2],"span":[243,19,20]},{"path":[4,4,4,0,2,7],"span":[244,4,18]},{"path":[4,4,4,0,2,7,1],"span":[244,4,13]},{"path":[4,4,4,0,2,7,2],"span":[244,16,17]},{"path":[4,4,4,0,2,8],"span":[245,4,20]},{"path":[4,4,4,0,2,8,1],"span":[245,4,15]},{"path":[4,4,4,0,2,8,2],"span":[245,18,19]},{"path":[4,4,4,0,2,9],"span":[251,4,20],"leadingComments":" Tag-delimited aggregate.\n Group type is deprecated and not supported after google.protobuf. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields. In Editions, the group wire format\n can be enabled via the `message_encoding` feature.\n"},{"path":[4,4,4,0,2,9,1],"span":[251,4,14]},{"path":[4,4,4,0,2,9,2],"span":[251,17,19]},{"path":[4,4,4,0,2,10],"span":[252,4,22],"trailingComments":" Length-delimited aggregate.\n"},{"path":[4,4,4,0,2,10,1],"span":[252,4,16]},{"path":[4,4,4,0,2,10,2],"span":[252,19,21]},{"path":[4,4,4,0,2,11],"span":[255,4,20],"leadingComments":" New in version 2.\n"},{"path":[4,4,4,0,2,11,1],"span":[255,4,14]},{"path":[4,4,4,0,2,11,2],"span":[255,17,19]},{"path":[4,4,4,0,2,12],"span":[256,4,21]},{"path":[4,4,4,0,2,12,1],"span":[256,4,15]},{"path":[4,4,4,0,2,12,2],"span":[256,18,20]},{"path":[4,4,4,0,2,13],"span":[257,4,19]},{"path":[4,4,4,0,2,13,1],"span":[257,4,13]},{"path":[4,4,4,0,2,13,2],"span":[257,16,18]},{"path":[4,4,4,0,2,14],"span":[258,4,23]},{"path":[4,4,4,0,2,14,1],"span":[258,4,17]},{"path":[4,4,4,0,2,14,2],"span":[258,20,22]},{"path":[4,4,4,0,2,15],"span":[259,4,23]},{"path":[4,4,4,0,2,15,1],"span":[259,4,17]},{"path":[4,4,4,0,2,15,2],"span":[259,20,22]},{"path":[4,4,4,0,2,16],"span":[260,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,16,1],"span":[260,4,15]},{"path":[4,4,4,0,2,16,2],"span":[260,18,20]},{"path":[4,4,4,0,2,17],"span":[261,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,17,1],"span":[261,4,15]},{"path":[4,4,4,0,2,17,2],"span":[261,18,20]},{"path":[4,4,4,1],"span":[264,2,272,3]},{"path":[4,4,4,1,1],"span":[264,7,12]},{"path":[4,4,4,1,2,0],"span":[266,4,23],"leadingComments":" 0 is reserved for errors\n"},{"path":[4,4,4,1,2,0,1],"span":[266,4,18]},{"path":[4,4,4,1,2,0,2],"span":[266,21,22]},{"path":[4,4,4,1,2,1],"span":[267,4,23]},{"path":[4,4,4,1,2,1,1],"span":[267,4,18]},{"path":[4,4,4,1,2,1,2],"span":[267,21,22]},{"path":[4,4,4,1,2,2],"span":[271,4,23],"leadingComments":" The required label is only allowed in google.protobuf. In proto3 and Editions\n it's explicitly prohibited. In Editions, the `field_presence` feature\n can be used to get this behavior.\n"},{"path":[4,4,4,1,2,2,1],"span":[271,4,18]},{"path":[4,4,4,1,2,2,2],"span":[271,21,22]},{"path":[4,4,2,0],"span":[274,2,27]},{"path":[4,4,2,0,4],"span":[274,2,10]},{"path":[4,4,2,0,5],"span":[274,11,17]},{"path":[4,4,2,0,1],"span":[274,18,22]},{"path":[4,4,2,0,3],"span":[274,25,26]},{"path":[4,4,2,1],"span":[275,2,28]},{"path":[4,4,2,1,4],"span":[275,2,10]},{"path":[4,4,2,1,5],"span":[275,11,16]},{"path":[4,4,2,1,1],"span":[275,17,23]},{"path":[4,4,2,1,3],"span":[275,26,27]},{"path":[4,4,2,2],"span":[276,2,27]},{"path":[4,4,2,2,4],"span":[276,2,10]},{"path":[4,4,2,2,6],"span":[276,11,16]},{"path":[4,4,2,2,1],"span":[276,17,22]},{"path":[4,4,2,2,3],"span":[276,25,26]},{"path":[4,4,2,3],"span":[280,2,25],"leadingComments":" If type_name is set, this need not be set. If both this and type_name\n are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n"},{"path":[4,4,2,3,4],"span":[280,2,10]},{"path":[4,4,2,3,6],"span":[280,11,15]},{"path":[4,4,2,3,1],"span":[280,16,20]},{"path":[4,4,2,3,3],"span":[280,23,24]},{"path":[4,4,2,4],"span":[287,2,32],"leadingComments":" For message and enum types, this is the name of the type. If the name\n starts with a '.', it is fully-qualified. Otherwise, C++-like scoping\n rules are used to find the type (i.e. first the nested types within this\n message are searched, then within the parent, on up to the root\n namespace).\n"},{"path":[4,4,2,4,4],"span":[287,2,10]},{"path":[4,4,2,4,5],"span":[287,11,17]},{"path":[4,4,2,4,1],"span":[287,18,27]},{"path":[4,4,2,4,3],"span":[287,30,31]},{"path":[4,4,2,5],"span":[291,2,31],"leadingComments":" For extensions, this is the name of the type being extended. It is\n resolved in the same manner as type_name.\n"},{"path":[4,4,2,5,4],"span":[291,2,10]},{"path":[4,4,2,5,5],"span":[291,11,17]},{"path":[4,4,2,5,1],"span":[291,18,26]},{"path":[4,4,2,5,3],"span":[291,29,30]},{"path":[4,4,2,6],"span":[297,2,36],"leadingComments":" For numeric types, contains the original text representation of the value.\n For booleans, \"true\" or \"false\".\n For strings, contains the default text contents (not escaped in any way).\n For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n"},{"path":[4,4,2,6,4],"span":[297,2,10]},{"path":[4,4,2,6,5],"span":[297,11,17]},{"path":[4,4,2,6,1],"span":[297,18,31]},{"path":[4,4,2,6,3],"span":[297,34,35]},{"path":[4,4,2,7],"span":[301,2,33],"leadingComments":" If set, gives the index of a oneof in the containing type's oneof_decl\n list. This field is a member of that oneof.\n"},{"path":[4,4,2,7,4],"span":[301,2,10]},{"path":[4,4,2,7,5],"span":[301,11,16]},{"path":[4,4,2,7,1],"span":[301,17,28]},{"path":[4,4,2,7,3],"span":[301,31,32]},{"path":[4,4,2,8],"span":[307,2,33],"leadingComments":" JSON name of this field. The value is set by protocol compiler. If the\n user has set a \"json_name\" option on this field, that option's value\n will be used. Otherwise, it's deduced from the field's name by converting\n it to camelCase.\n"},{"path":[4,4,2,8,4],"span":[307,2,10]},{"path":[4,4,2,8,5],"span":[307,11,17]},{"path":[4,4,2,8,1],"span":[307,18,27]},{"path":[4,4,2,8,3],"span":[307,30,32]},{"path":[4,4,2,9],"span":[309,2,36]},{"path":[4,4,2,9,4],"span":[309,2,10]},{"path":[4,4,2,9,6],"span":[309,11,23]},{"path":[4,4,2,9,1],"span":[309,24,31]},{"path":[4,4,2,9,3],"span":[309,34,35]},{"path":[4,4,2,10],"span":[332,2,37],"leadingComments":" If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n tracks presence regardless of field type.\n\n When proto3_optional is true, this field must belong to a oneof to signal\n to old proto3 clients that presence is tracked for this field. This oneof\n is known as a \"synthetic\" oneof, and this field must be its sole member\n (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs\n exist in the descriptor only, and do not generate any API. Synthetic oneofs\n must be ordered after all \"real\" oneofs.\n\n For message fields, proto3_optional doesn't create any semantic change,\n since non-repeated message fields always track presence. However it still\n indicates the semantic detail of whether the user wrote \"optional\" or not.\n This can be useful for round-tripping the .proto file. For consistency we\n give message fields a synthetic oneof also, even though it is not required\n to track presence. This is especially important because the parser can't\n tell if a field is a message or an enum, so it must always create a\n synthetic oneof.\n\n Proto2 optional fields do not set this flag, because they already indicate\n optional with `LABEL_OPTIONAL`.\n"},{"path":[4,4,2,10,4],"span":[332,2,10]},{"path":[4,4,2,10,5],"span":[332,11,15]},{"path":[4,4,2,10,1],"span":[332,16,31]},{"path":[4,4,2,10,3],"span":[332,34,36]},{"path":[4,5],"span":[336,0,339,1],"leadingComments":" Describes a oneof.\n"},{"path":[4,5,1],"span":[336,8,28]},{"path":[4,5,2,0],"span":[337,2,27]},{"path":[4,5,2,0,4],"span":[337,2,10]},{"path":[4,5,2,0,5],"span":[337,11,17]},{"path":[4,5,2,0,1],"span":[337,18,22]},{"path":[4,5,2,0,3],"span":[337,25,26]},{"path":[4,5,2,1],"span":[338,2,36]},{"path":[4,5,2,1,4],"span":[338,2,10]},{"path":[4,5,2,1,6],"span":[338,11,23]},{"path":[4,5,2,1,1],"span":[338,24,31]},{"path":[4,5,2,1,3],"span":[338,34,35]},{"path":[4,6],"span":[342,0,368,1],"leadingComments":" Describes an enum type.\n"},{"path":[4,6,1],"span":[342,8,27]},{"path":[4,6,2,0],"span":[343,2,27]},{"path":[4,6,2,0,4],"span":[343,2,10]},{"path":[4,6,2,0,5],"span":[343,11,17]},{"path":[4,6,2,0,1],"span":[343,18,22]},{"path":[4,6,2,0,3],"span":[343,25,26]},{"path":[4,6,2,1],"span":[345,2,46]},{"path":[4,6,2,1,4],"span":[345,2,10]},{"path":[4,6,2,1,6],"span":[345,11,35]},{"path":[4,6,2,1,1],"span":[345,36,41]},{"path":[4,6,2,1,3],"span":[345,44,45]},{"path":[4,6,2,2],"span":[347,2,35]},{"path":[4,6,2,2,4],"span":[347,2,10]},{"path":[4,6,2,2,6],"span":[347,11,22]},{"path":[4,6,2,2,1],"span":[347,23,30]},{"path":[4,6,2,2,3],"span":[347,33,34]},{"path":[4,6,3,0],"span":[355,2,358,3],"leadingComments":" Range of reserved numeric values. Reserved values may not be used by\n entries in the same enum. Reserved ranges may not overlap.\n\n Note that this is distinct from DescriptorProto.ReservedRange in that it\n is inclusive such that it can appropriately represent the entire int32\n domain.\n"},{"path":[4,6,3,0,1],"span":[355,10,27]},{"path":[4,6,3,0,2,0],"span":[356,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,0,4],"span":[356,4,12]},{"path":[4,6,3,0,2,0,5],"span":[356,13,18]},{"path":[4,6,3,0,2,0,1],"span":[356,19,24]},{"path":[4,6,3,0,2,0,3],"span":[356,27,28]},{"path":[4,6,3,0,2,1],"span":[357,4,27],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,1,4],"span":[357,4,12]},{"path":[4,6,3,0,2,1,5],"span":[357,13,18]},{"path":[4,6,3,0,2,1,1],"span":[357,19,22]},{"path":[4,6,3,0,2,1,3],"span":[357,25,26]},{"path":[4,6,2,3],"span":[363,2,48],"leadingComments":" Range of reserved numeric values. Reserved numeric values may not be used\n by enum values in the same enum declaration. Reserved ranges may not\n overlap.\n"},{"path":[4,6,2,3,4],"span":[363,2,10]},{"path":[4,6,2,3,6],"span":[363,11,28]},{"path":[4,6,2,3,1],"span":[363,29,43]},{"path":[4,6,2,3,3],"span":[363,46,47]},{"path":[4,6,2,4],"span":[367,2,36],"leadingComments":" Reserved enum value names, which may not be reused. A given name may only\n be reserved once.\n"},{"path":[4,6,2,4,4],"span":[367,2,10]},{"path":[4,6,2,4,5],"span":[367,11,17]},{"path":[4,6,2,4,1],"span":[367,18,31]},{"path":[4,6,2,4,3],"span":[367,34,35]},{"path":[4,7],"span":[371,0,376,1],"leadingComments":" Describes a value within an enum.\n"},{"path":[4,7,1],"span":[371,8,32]},{"path":[4,7,2,0],"span":[372,2,27]},{"path":[4,7,2,0,4],"span":[372,2,10]},{"path":[4,7,2,0,5],"span":[372,11,17]},{"path":[4,7,2,0,1],"span":[372,18,22]},{"path":[4,7,2,0,3],"span":[372,25,26]},{"path":[4,7,2,1],"span":[373,2,28]},{"path":[4,7,2,1,4],"span":[373,2,10]},{"path":[4,7,2,1,5],"span":[373,11,16]},{"path":[4,7,2,1,1],"span":[373,17,23]},{"path":[4,7,2,1,3],"span":[373,26,27]},{"path":[4,7,2,2],"span":[375,2,40]},{"path":[4,7,2,2,4],"span":[375,2,10]},{"path":[4,7,2,2,6],"span":[375,11,27]},{"path":[4,7,2,2,1],"span":[375,28,35]},{"path":[4,7,2,2,3],"span":[375,38,39]},{"path":[4,8],"span":[379,0,384,1],"leadingComments":" Describes a service.\n"},{"path":[4,8,1],"span":[379,8,30]},{"path":[4,8,2,0],"span":[380,2,27]},{"path":[4,8,2,0,4],"span":[380,2,10]},{"path":[4,8,2,0,5],"span":[380,11,17]},{"path":[4,8,2,0,1],"span":[380,18,22]},{"path":[4,8,2,0,3],"span":[380,25,26]},{"path":[4,8,2,1],"span":[381,2,44]},{"path":[4,8,2,1,4],"span":[381,2,10]},{"path":[4,8,2,1,6],"span":[381,11,32]},{"path":[4,8,2,1,1],"span":[381,33,39]},{"path":[4,8,2,1,3],"span":[381,42,43]},{"path":[4,8,2,2],"span":[383,2,38]},{"path":[4,8,2,2,4],"span":[383,2,10]},{"path":[4,8,2,2,6],"span":[383,11,25]},{"path":[4,8,2,2,1],"span":[383,26,33]},{"path":[4,8,2,2,3],"span":[383,36,37]},{"path":[4,9],"span":[387,0,401,1],"leadingComments":" Describes a method of a service.\n"},{"path":[4,9,1],"span":[387,8,29]},{"path":[4,9,2,0],"span":[388,2,27]},{"path":[4,9,2,0,4],"span":[388,2,10]},{"path":[4,9,2,0,5],"span":[388,11,17]},{"path":[4,9,2,0,1],"span":[388,18,22]},{"path":[4,9,2,0,3],"span":[388,25,26]},{"path":[4,9,2,1],"span":[392,2,33],"leadingComments":" Input and output type names. These are resolved in the same way as\n FieldDescriptorProto.type_name, but must refer to a message type.\n"},{"path":[4,9,2,1,4],"span":[392,2,10]},{"path":[4,9,2,1,5],"span":[392,11,17]},{"path":[4,9,2,1,1],"span":[392,18,28]},{"path":[4,9,2,1,3],"span":[392,31,32]},{"path":[4,9,2,2],"span":[393,2,34]},{"path":[4,9,2,2,4],"span":[393,2,10]},{"path":[4,9,2,2,5],"span":[393,11,17]},{"path":[4,9,2,2,1],"span":[393,18,29]},{"path":[4,9,2,2,3],"span":[393,32,33]},{"path":[4,9,2,3],"span":[395,2,37]},{"path":[4,9,2,3,4],"span":[395,2,10]},{"path":[4,9,2,3,6],"span":[395,11,24]},{"path":[4,9,2,3,1],"span":[395,25,32]},{"path":[4,9,2,3,3],"span":[395,35,36]},{"path":[4,9,2,4],"span":[398,2,55],"leadingComments":" Identifies if client streams multiple client messages\n"},{"path":[4,9,2,4,4],"span":[398,2,10]},{"path":[4,9,2,4,5],"span":[398,11,15]},{"path":[4,9,2,4,1],"span":[398,16,32]},{"path":[4,9,2,4,3],"span":[398,35,36]},{"path":[4,9,2,4,8],"span":[398,37,54]},{"path":[4,9,2,4,7],"span":[398,38,53]},{"path":[4,9,2,5],"span":[400,2,55],"leadingComments":" Identifies if server streams multiple server messages\n"},{"path":[4,9,2,5,4],"span":[400,2,10]},{"path":[4,9,2,5,5],"span":[400,11,15]},{"path":[4,9,2,5,1],"span":[400,16,32]},{"path":[4,9,2,5,3],"span":[400,35,36]},{"path":[4,9,2,5,8],"span":[400,37,54]},{"path":[4,9,2,5,7],"span":[400,38,53]},{"path":[4,10],"span":[435,0,559,1],"leadingDetachedComments":[" ===================================================================\n Options\n"," Each of the definitions above may have \"options\" attached. These are\n just annotations which may cause code to be generated slightly differently\n or may contain hints for code that manipulates protocol messages.\n\n Clients may define custom options as extensions of the *Options messages.\n These extensions may not yet be known at parsing time, so the parser cannot\n store the values in them. Instead it stores them in a field in the *Options\n message called uninterpreted_option. This field must have the same name\n across all *Options messages. We then use this field to populate the\n extensions when we build a descriptor, at which point all protos have been\n parsed and so all extensions are known.\n\n Extension numbers for custom options may be chosen as follows:\n * For options which will only be used within a single application or\n organization, or for experimental options, use field numbers 50000\n through 99999. It is up to you to ensure that you do not use the\n same number for multiple options.\n * For options which will be published and used publicly by multiple\n independent entities, e-mail protobuf-global-extension-registry@google.com\n to reserve extension numbers. Simply provide your project name (e.g.\n Objective-C plugin) and your project website (if available) -- there's no\n need to explain how you intend to use them. Usually you only need one\n extension number. You can declare multiple options with only one extension\n number by putting them in a sub-message. See the Custom Options section of\n the docs for examples:\n https://developers.google.com/protocol-buffers/docs/proto#options\n If this turns out to be popular, a web service will be set up\n to automatically assign option numbers.\n"]},{"path":[4,10,1],"span":[435,8,19]},{"path":[4,10,2,0],"span":[441,2,35],"leadingComments":" Sets the Java package where classes generated from this .proto will be\n placed. By default, the proto package is used, but this is often\n inappropriate because proto packages do not normally start with backwards\n domain names.\n"},{"path":[4,10,2,0,4],"span":[441,2,10]},{"path":[4,10,2,0,5],"span":[441,11,17]},{"path":[4,10,2,0,1],"span":[441,18,30]},{"path":[4,10,2,0,3],"span":[441,33,34]},{"path":[4,10,2,1],"span":[448,2,43],"leadingComments":" Controls the name of the wrapper Java class generated for the .proto file.\n That class will always contain the .proto file's getDescriptor() method as\n well as any top-level extensions defined in the .proto file.\n If java_multiple_files is disabled, then all the other classes from the\n .proto file will be nested inside the single wrapper outer class.\n"},{"path":[4,10,2,1,4],"span":[448,2,10]},{"path":[4,10,2,1,5],"span":[448,11,17]},{"path":[4,10,2,1,1],"span":[448,18,38]},{"path":[4,10,2,1,3],"span":[448,41,42]},{"path":[4,10,2,2],"span":[456,2,59],"leadingComments":" If enabled, then the Java code generator will generate a separate .java\n file for each top-level message, enum, and service defined in the .proto\n file. Thus, these types will *not* be nested inside the wrapper class\n named by java_outer_classname. However, the wrapper class will still be\n generated to contain the file's getDescriptor() method as well as any\n top-level extensions defined in the file.\n"},{"path":[4,10,2,2,4],"span":[456,2,10]},{"path":[4,10,2,2,5],"span":[456,11,15]},{"path":[4,10,2,2,1],"span":[456,16,35]},{"path":[4,10,2,2,3],"span":[456,38,40]},{"path":[4,10,2,2,8],"span":[456,41,58]},{"path":[4,10,2,2,7],"span":[456,42,57]},{"path":[4,10,2,3],"span":[459,2,69],"leadingComments":" This option does nothing.\n"},{"path":[4,10,2,3,4],"span":[459,2,10]},{"path":[4,10,2,3,5],"span":[459,11,15]},{"path":[4,10,2,3,1],"span":[459,16,45]},{"path":[4,10,2,3,3],"span":[459,48,50]},{"path":[4,10,2,3,8],"span":[459,51,68]},{"path":[4,10,2,3,8,3],"span":[459,52,67]},{"path":[4,10,2,4],"span":[471,2,62],"leadingComments":" A proto2 file can set this to true to opt in to UTF-8 checking for Java,\n which will throw an exception if invalid UTF-8 is parsed from the wire or\n assigned to a string field.\n\n TODO: clarify exactly what kinds of field types this option\n applies to, and update these docs accordingly.\n\n Proto3 files already perform these checks. Setting the option explicitly to\n false has no effect: it cannot be used to opt proto3 files out of UTF-8\n checks.\n"},{"path":[4,10,2,4,4],"span":[471,2,10]},{"path":[4,10,2,4,5],"span":[471,11,15]},{"path":[4,10,2,4,1],"span":[471,16,38]},{"path":[4,10,2,4,3],"span":[471,41,43]},{"path":[4,10,2,4,8],"span":[471,44,61]},{"path":[4,10,2,4,7],"span":[471,45,60]},{"path":[4,10,4,0],"span":[474,2,479,3],"leadingComments":" Generated classes can be optimized for speed or code size.\n"},{"path":[4,10,4,0,1],"span":[474,7,19]},{"path":[4,10,4,0,2,0],"span":[475,4,14],"trailingComments":" Generate complete code for parsing, serialization,\n"},{"path":[4,10,4,0,2,0,1],"span":[475,4,9]},{"path":[4,10,4,0,2,0,2],"span":[475,12,13]},{"path":[4,10,4,0,2,1],"span":[477,4,18],"leadingComments":" etc.\n","trailingComments":" Use ReflectionOps to implement these methods.\n"},{"path":[4,10,4,0,2,1,1],"span":[477,4,13]},{"path":[4,10,4,0,2,1,2],"span":[477,16,17]},{"path":[4,10,4,0,2,2],"span":[478,4,21],"trailingComments":" Generate code using MessageLite and the lite runtime.\n"},{"path":[4,10,4,0,2,2,1],"span":[478,4,16]},{"path":[4,10,4,0,2,2,2],"span":[478,19,20]},{"path":[4,10,2,5],"span":[480,2,59]},{"path":[4,10,2,5,4],"span":[480,2,10]},{"path":[4,10,2,5,6],"span":[480,11,23]},{"path":[4,10,2,5,1],"span":[480,24,36]},{"path":[4,10,2,5,3],"span":[480,39,40]},{"path":[4,10,2,5,8],"span":[480,41,58]},{"path":[4,10,2,5,7],"span":[480,42,57]},{"path":[4,10,2,6],"span":[487,2,34],"leadingComments":" Sets the Go package where structs generated from this .proto will be\n placed. If omitted, the Go package will be derived from the following:\n - The basename of the package import path, if provided.\n - Otherwise, the package statement in the .proto file, if present.\n - Otherwise, the basename of the .proto file, without extension.\n"},{"path":[4,10,2,6,4],"span":[487,2,10]},{"path":[4,10,2,6,5],"span":[487,11,17]},{"path":[4,10,2,6,1],"span":[487,18,28]},{"path":[4,10,2,6,3],"span":[487,31,33]},{"path":[4,10,2,7],"span":[499,2,59],"leadingComments":" Should generic services be generated in each language? \"Generic\" services\n are not specific to any particular RPC system. They are generated by the\n main code generators in each language (without additional plugins).\n Generic services were the only kind of service generation supported by\n early versions of google.protobuf.\n\n Generic services are now considered deprecated in favor of using plugins\n that generate code specific to your particular RPC system. Therefore,\n these default to false. Old code which depends on generic services should\n explicitly set them to true.\n"},{"path":[4,10,2,7,4],"span":[499,2,10]},{"path":[4,10,2,7,5],"span":[499,11,15]},{"path":[4,10,2,7,1],"span":[499,16,35]},{"path":[4,10,2,7,3],"span":[499,38,40]},{"path":[4,10,2,7,8],"span":[499,41,58]},{"path":[4,10,2,7,7],"span":[499,42,57]},{"path":[4,10,2,8],"span":[500,2,61]},{"path":[4,10,2,8,4],"span":[500,2,10]},{"path":[4,10,2,8,5],"span":[500,11,15]},{"path":[4,10,2,8,1],"span":[500,16,37]},{"path":[4,10,2,8,3],"span":[500,40,42]},{"path":[4,10,2,8,8],"span":[500,43,60]},{"path":[4,10,2,8,7],"span":[500,44,59]},{"path":[4,10,2,9],"span":[501,2,59]},{"path":[4,10,2,9,4],"span":[501,2,10]},{"path":[4,10,2,9,5],"span":[501,11,15]},{"path":[4,10,2,9,1],"span":[501,16,35]},{"path":[4,10,2,9,3],"span":[501,38,40]},{"path":[4,10,2,9,8],"span":[501,41,58]},{"path":[4,10,2,9,7],"span":[501,42,57]},{"path":[4,10,9],"span":[502,2,14],"trailingComments":" removed php_generic_services\n"},{"path":[4,10,9,0],"span":[502,11,13]},{"path":[4,10,9,0,1],"span":[502,11,13]},{"path":[4,10,9,0,2],"span":[502,11,13]},{"path":[4,10,10],"span":[503,2,34]},{"path":[4,10,10,0],"span":[503,11,33]},{"path":[4,10,2,10],"span":[509,2,50],"leadingComments":" Is this file deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for everything in the file, or it will be completely ignored; in the very\n least, this is a formalization for deprecating files.\n"},{"path":[4,10,2,10,4],"span":[509,2,10]},{"path":[4,10,2,10,5],"span":[509,11,15]},{"path":[4,10,2,10,1],"span":[509,16,26]},{"path":[4,10,2,10,3],"span":[509,29,31]},{"path":[4,10,2,10,8],"span":[509,32,49]},{"path":[4,10,2,10,7],"span":[509,33,48]},{"path":[4,10,2,11],"span":[513,2,55],"leadingComments":" Enables the use of arenas for the proto messages in this file. This applies\n only to generated classes for C++.\n"},{"path":[4,10,2,11,4],"span":[513,2,10]},{"path":[4,10,2,11,5],"span":[513,11,15]},{"path":[4,10,2,11,1],"span":[513,16,32]},{"path":[4,10,2,11,3],"span":[513,35,37]},{"path":[4,10,2,11,8],"span":[513,38,54]},{"path":[4,10,2,11,7],"span":[513,39,53]},{"path":[4,10,2,12],"span":[517,2,41],"leadingComments":" Sets the objective c class prefix which is prepended to all objective c\n generated classes from this .proto. There is no default.\n"},{"path":[4,10,2,12,4],"span":[517,2,10]},{"path":[4,10,2,12,5],"span":[517,11,17]},{"path":[4,10,2,12,1],"span":[517,18,35]},{"path":[4,10,2,12,3],"span":[517,38,40]},{"path":[4,10,2,13],"span":[520,2,40],"leadingComments":" Namespace for generated classes; defaults to the package.\n"},{"path":[4,10,2,13,4],"span":[520,2,10]},{"path":[4,10,2,13,5],"span":[520,11,17]},{"path":[4,10,2,13,1],"span":[520,18,34]},{"path":[4,10,2,13,3],"span":[520,37,39]},{"path":[4,10,2,14],"span":[526,2,36],"leadingComments":" By default Swift generators will take the proto package and CamelCase it\n replacing '.' with underscore and use that to prefix the types/symbols\n defined. When this options is provided, they will use this value instead\n to prefix the types/symbols defined.\n"},{"path":[4,10,2,14,4],"span":[526,2,10]},{"path":[4,10,2,14,5],"span":[526,11,17]},{"path":[4,10,2,14,1],"span":[526,18,30]},{"path":[4,10,2,14,3],"span":[526,33,35]},{"path":[4,10,2,15],"span":[530,2,40],"leadingComments":" Sets the php class prefix which is prepended to all php generated classes\n from this .proto. Default is empty.\n"},{"path":[4,10,2,15,4],"span":[530,2,10]},{"path":[4,10,2,15,5],"span":[530,11,17]},{"path":[4,10,2,15,1],"span":[530,18,34]},{"path":[4,10,2,15,3],"span":[530,37,39]},{"path":[4,10,2,16],"span":[535,2,37],"leadingComments":" Use this option to change the namespace of php generated classes. Default\n is empty. When this option is empty, the package name will be used for\n determining the namespace.\n"},{"path":[4,10,2,16,4],"span":[535,2,10]},{"path":[4,10,2,16,5],"span":[535,11,17]},{"path":[4,10,2,16,1],"span":[535,18,31]},{"path":[4,10,2,16,3],"span":[535,34,36]},{"path":[4,10,2,17],"span":[540,2,46],"leadingComments":" Use this option to change the namespace of php generated metadata classes.\n Default is empty. When this option is empty, the proto file name will be\n used for determining the namespace.\n"},{"path":[4,10,2,17,4],"span":[540,2,10]},{"path":[4,10,2,17,5],"span":[540,11,17]},{"path":[4,10,2,17,1],"span":[540,18,40]},{"path":[4,10,2,17,3],"span":[540,43,45]},{"path":[4,10,2,18],"span":[545,2,36],"leadingComments":" Use this option to change the package of ruby generated classes. Default\n is empty. When this option is not set, the package name will be used for\n determining the ruby package.\n"},{"path":[4,10,2,18,4],"span":[545,2,10]},{"path":[4,10,2,18,5],"span":[545,11,17]},{"path":[4,10,2,18,1],"span":[545,18,30]},{"path":[4,10,2,18,3],"span":[545,33,35]},{"path":[4,10,2,19],"span":[548,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,10,2,19,4],"span":[548,2,10]},{"path":[4,10,2,19,6],"span":[548,11,21]},{"path":[4,10,2,19,1],"span":[548,22,30]},{"path":[4,10,2,19,3],"span":[548,33,35]},{"path":[4,10,2,20],"span":[552,2,58],"leadingComments":" The parser stores options it doesn't recognize here.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,2,20,4],"span":[552,2,10]},{"path":[4,10,2,20,6],"span":[552,11,30]},{"path":[4,10,2,20,1],"span":[552,31,51]},{"path":[4,10,2,20,3],"span":[552,54,57]},{"path":[4,10,5],"span":[556,2,25],"leadingComments":" Clients can define custom options in extensions of this message.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,5,0],"span":[556,13,24]},{"path":[4,10,5,0,1],"span":[556,13,17]},{"path":[4,10,5,0,2],"span":[556,21,24]},{"path":[4,10,9],"span":[558,2,14]},{"path":[4,10,9,1],"span":[558,11,13]},{"path":[4,10,9,1,1],"span":[558,11,13]},{"path":[4,10,9,1,2],"span":[558,11,13]},{"path":[4,11],"span":[561,0,641,1]},{"path":[4,11,1],"span":[561,8,22]},{"path":[4,11,2,0],"span":[580,2,62],"leadingComments":" Set true to use the old proto1 MessageSet wire format for extensions.\n This is provided for backwards-compatibility with the MessageSet wire\n format. You should not use this for any other reason: It's less\n efficient, has fewer features, and is more complicated.\n\n The message must be defined exactly as follows:\n message Foo {\n option message_set_wire_format = true;\n extensions 4 to max;\n }\n Note that the message cannot have any defined fields; MessageSets only\n have extensions.\n\n All extensions of your type must be singular messages; e.g. they cannot\n be int32s, enums, or repeated messages.\n\n Because this is an option, the above two restrictions are not enforced by\n the protocol compiler.\n"},{"path":[4,11,2,0,4],"span":[580,2,10]},{"path":[4,11,2,0,5],"span":[580,11,15]},{"path":[4,11,2,0,1],"span":[580,16,39]},{"path":[4,11,2,0,3],"span":[580,42,43]},{"path":[4,11,2,0,8],"span":[580,44,61]},{"path":[4,11,2,0,7],"span":[580,45,60]},{"path":[4,11,2,1],"span":[585,2,70],"leadingComments":" Disables the generation of the standard \"descriptor()\" accessor, which can\n conflict with a field of the same name. This is meant to make migration\n from proto1 easier; new code should avoid fields named \"descriptor\".\n"},{"path":[4,11,2,1,4],"span":[585,2,10]},{"path":[4,11,2,1,5],"span":[585,11,15]},{"path":[4,11,2,1,1],"span":[585,16,47]},{"path":[4,11,2,1,3],"span":[585,50,51]},{"path":[4,11,2,1,8],"span":[585,52,69]},{"path":[4,11,2,1,7],"span":[585,53,68]},{"path":[4,11,2,2],"span":[591,2,49],"leadingComments":" Is this message deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the message, or it will be completely ignored; in the very least,\n this is a formalization for deprecating messages.\n"},{"path":[4,11,2,2,4],"span":[591,2,10]},{"path":[4,11,2,2,5],"span":[591,11,15]},{"path":[4,11,2,2,1],"span":[591,16,26]},{"path":[4,11,2,2,3],"span":[591,29,30]},{"path":[4,11,2,2,8],"span":[591,31,48]},{"path":[4,11,2,2,7],"span":[591,32,47]},{"path":[4,11,9],"span":[593,2,19]},{"path":[4,11,9,0],"span":[593,11,12]},{"path":[4,11,9,0,1],"span":[593,11,12]},{"path":[4,11,9,0,2],"span":[593,11,12]},{"path":[4,11,9,1],"span":[593,14,15]},{"path":[4,11,9,1,1],"span":[593,14,15]},{"path":[4,11,9,1,2],"span":[593,14,15]},{"path":[4,11,9,2],"span":[593,17,18]},{"path":[4,11,9,2,1],"span":[593,17,18]},{"path":[4,11,9,2,2],"span":[593,17,18]},{"path":[4,11,2,3],"span":[616,2,30],"leadingComments":" Whether the message is an automatically generated map entry type for the\n maps field.\n\n For maps fields:\n map map_field = 1;\n The parsed descriptor looks like:\n message MapFieldEntry {\n option map_entry = true;\n optional KeyType key = 1;\n optional ValueType value = 2;\n }\n repeated MapFieldEntry map_field = 1;\n\n Implementations may choose not to generate the map_entry=true message, but\n use a native map in the target language to hold the keys and values.\n The reflection APIs in such implementations still need to work as\n if the field is a repeated message field.\n\n NOTE: Do not set the option in .proto files. Always use the maps syntax\n instead. The option should only be implicitly set by the proto compiler\n parser.\n"},{"path":[4,11,2,3,4],"span":[616,2,10]},{"path":[4,11,2,3,5],"span":[616,11,15]},{"path":[4,11,2,3,1],"span":[616,16,25]},{"path":[4,11,2,3,3],"span":[616,28,29]},{"path":[4,11,9],"span":[618,2,13],"trailingComments":" javalite_serializable\n"},{"path":[4,11,9,3],"span":[618,11,12]},{"path":[4,11,9,3,1],"span":[618,11,12]},{"path":[4,11,9,3,2],"span":[618,11,12]},{"path":[4,11,9],"span":[619,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,11,9,4],"span":[619,11,12]},{"path":[4,11,9,4,1],"span":[619,11,12]},{"path":[4,11,9,4,2],"span":[619,11,12]},{"path":[4,11,2,4],"span":[631,2,80],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n\n This should only be used as a temporary measure against broken builds due\n to the change in behavior for JSON field name conflicts.\n\n TODO This is legacy behavior we plan to remove once downstream\n teams have had time to migrate.\n"},{"path":[4,11,2,4,4],"span":[631,2,10]},{"path":[4,11,2,4,5],"span":[631,11,15]},{"path":[4,11,2,4,1],"span":[631,16,54]},{"path":[4,11,2,4,3],"span":[631,57,59]},{"path":[4,11,2,4,8],"span":[631,60,79]},{"path":[4,11,2,4,8,3],"span":[631,61,78]},{"path":[4,11,2,5],"span":[634,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,11,2,5,4],"span":[634,2,10]},{"path":[4,11,2,5,6],"span":[634,11,21]},{"path":[4,11,2,5,1],"span":[634,22,30]},{"path":[4,11,2,5,3],"span":[634,33,35]},{"path":[4,11,2,6],"span":[637,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,11,2,6,4],"span":[637,2,10]},{"path":[4,11,2,6,6],"span":[637,11,30]},{"path":[4,11,2,6,1],"span":[637,31,51]},{"path":[4,11,2,6,3],"span":[637,54,57]},{"path":[4,11,5],"span":[640,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,11,5,0],"span":[640,13,24]},{"path":[4,11,5,0,1],"span":[640,13,17]},{"path":[4,11,5,0,2],"span":[640,21,24]},{"path":[4,12],"span":[643,0,806,1]},{"path":[4,12,1],"span":[643,8,20]},{"path":[4,12,2,0],"span":[651,2,69],"leadingComments":" NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.\n The ctype option instructs the C++ code generator to use a different\n representation of the field than it normally would. See the specific\n options below. This option is only implemented to support use of\n [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n type \"bytes\" in the open source release.\n TODO: make ctype actually deprecated.\n"},{"path":[4,12,2,0,4],"span":[651,2,10]},{"path":[4,12,2,0,6],"span":[651,11,16]},{"path":[4,12,2,0,1],"span":[651,17,22]},{"path":[4,12,2,0,3],"span":[651,25,26]},{"path":[4,12,2,0,8],"span":[651,27,68]},{"path":[4,12,2,0,7],"span":[651,51,67]},{"path":[4,12,4,0],"span":[652,2,665,3]},{"path":[4,12,4,0,1],"span":[652,7,12]},{"path":[4,12,4,0,2,0],"span":[654,4,15],"leadingComments":" Default mode.\n"},{"path":[4,12,4,0,2,0,1],"span":[654,4,10]},{"path":[4,12,4,0,2,0,2],"span":[654,13,14]},{"path":[4,12,4,0,2,1],"span":[662,4,13],"leadingComments":" The option [ctype=CORD] may be applied to a non-repeated field of type\n \"bytes\". It indicates that in C++, the data should be stored in a Cord\n instead of a string. For very large strings, this may reduce memory\n fragmentation. It may also allow better performance when parsing from a\n Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n alias the original buffer.\n"},{"path":[4,12,4,0,2,1,1],"span":[662,4,8]},{"path":[4,12,4,0,2,1,2],"span":[662,11,12]},{"path":[4,12,4,0,2,2],"span":[664,4,21]},{"path":[4,12,4,0,2,2,1],"span":[664,4,16]},{"path":[4,12,4,0,2,2,2],"span":[664,19,20]},{"path":[4,12,2,1],"span":[673,2,27],"leadingComments":" The packed option can be enabled for repeated primitive fields to enable\n a more efficient representation on the wire. Rather than repeatedly\n writing the tag and type for each element, the entire array is encoded as\n a single length-delimited blob. In proto3, only explicit setting it to\n false will avoid using packed encoding. This option is prohibited in\n Editions, but the `repeated_field_encoding` feature can be used to control\n the behavior.\n"},{"path":[4,12,2,1,4],"span":[673,2,10]},{"path":[4,12,2,1,5],"span":[673,11,15]},{"path":[4,12,2,1,1],"span":[673,16,22]},{"path":[4,12,2,1,3],"span":[673,25,26]},{"path":[4,12,2,2],"span":[686,2,51],"leadingComments":" The jstype option determines the JavaScript type used for values of the\n field. The option is permitted only for 64 bit integral and fixed types\n (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n is represented as JavaScript string, which avoids loss of precision that\n can happen when a large value is converted to a floating point JavaScript.\n Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n use the JavaScript \"number\" type. The behavior of the default option\n JS_NORMAL is implementation dependent.\n\n This option is an enum to permit additional types to be added, e.g.\n goog.math.Integer.\n"},{"path":[4,12,2,2,4],"span":[686,2,10]},{"path":[4,12,2,2,6],"span":[686,11,17]},{"path":[4,12,2,2,1],"span":[686,18,24]},{"path":[4,12,2,2,3],"span":[686,27,28]},{"path":[4,12,2,2,8],"span":[686,29,50]},{"path":[4,12,2,2,7],"span":[686,30,49]},{"path":[4,12,4,1],"span":[687,2,696,3]},{"path":[4,12,4,1,1],"span":[687,7,13]},{"path":[4,12,4,1,2,0],"span":[689,4,18],"leadingComments":" Use the default type.\n"},{"path":[4,12,4,1,2,0,1],"span":[689,4,13]},{"path":[4,12,4,1,2,0,2],"span":[689,16,17]},{"path":[4,12,4,1,2,1],"span":[692,4,18],"leadingComments":" Use JavaScript strings.\n"},{"path":[4,12,4,1,2,1,1],"span":[692,4,13]},{"path":[4,12,4,1,2,1,2],"span":[692,16,17]},{"path":[4,12,4,1,2,2],"span":[695,4,18],"leadingComments":" Use JavaScript numbers.\n"},{"path":[4,12,4,1,2,2,1],"span":[695,4,13]},{"path":[4,12,4,1,2,2,2],"span":[695,16,17]},{"path":[4,12,2,3],"span":[720,2,43],"leadingComments":" Should this field be parsed lazily? Lazy applies only to message-type\n fields. It means that when the outer message is initially parsed, the\n inner message's contents will not be parsed but instead stored in encoded\n form. The inner message will actually be parsed when it is first accessed.\n\n This is only a hint. Implementations are free to choose whether to use\n eager or lazy parsing regardless of the value of this option. However,\n setting this option true suggests that the protocol author believes that\n using lazy parsing on this field is worth the additional bookkeeping\n overhead typically needed to implement it.\n\n This option does not affect the public interface of any generated code;\n all method signatures remain the same. Furthermore, thread-safety of the\n interface is not affected by this option; const methods remain safe to\n call from multiple threads concurrently, while non-const methods continue\n to require exclusive access.\n\n Note that lazy message fields are still eagerly verified to check\n ill-formed wireformat or missing required fields. Calling IsInitialized()\n on the outer message would fail if the inner message has missing required\n fields. Failed verification would result in parsing failure (except when\n uninitialized messages are acceptable).\n"},{"path":[4,12,2,3,4],"span":[720,2,10]},{"path":[4,12,2,3,5],"span":[720,11,15]},{"path":[4,12,2,3,1],"span":[720,16,20]},{"path":[4,12,2,3,3],"span":[720,23,24]},{"path":[4,12,2,3,8],"span":[720,25,42]},{"path":[4,12,2,3,7],"span":[720,26,41]},{"path":[4,12,2,4],"span":[725,2,55],"leadingComments":" unverified_lazy does no correctness checks on the byte stream. This should\n only be used where lazy with verification is prohibitive for performance\n reasons.\n"},{"path":[4,12,2,4,4],"span":[725,2,10]},{"path":[4,12,2,4,5],"span":[725,11,15]},{"path":[4,12,2,4,1],"span":[725,16,31]},{"path":[4,12,2,4,3],"span":[725,34,36]},{"path":[4,12,2,4,8],"span":[725,37,54]},{"path":[4,12,2,4,7],"span":[725,38,53]},{"path":[4,12,2,5],"span":[731,2,49],"leadingComments":" Is this field deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for accessors, or it will be completely ignored; in the very least, this\n is a formalization for deprecating fields.\n"},{"path":[4,12,2,5,4],"span":[731,2,10]},{"path":[4,12,2,5,5],"span":[731,11,15]},{"path":[4,12,2,5,1],"span":[731,16,26]},{"path":[4,12,2,5,3],"span":[731,29,30]},{"path":[4,12,2,5,8],"span":[731,31,48]},{"path":[4,12,2,5,7],"span":[731,32,47]},{"path":[4,12,2,6],"span":[734,2,44],"leadingComments":" For Google-internal migration only. Do not use.\n"},{"path":[4,12,2,6,4],"span":[734,2,10]},{"path":[4,12,2,6,5],"span":[734,11,15]},{"path":[4,12,2,6,1],"span":[734,16,20]},{"path":[4,12,2,6,3],"span":[734,23,25]},{"path":[4,12,2,6,8],"span":[734,26,43]},{"path":[4,12,2,6,7],"span":[734,27,42]},{"path":[4,12,2,7],"span":[738,2,52],"leadingComments":" Indicate that the field value should not be printed out when using debug\n formats, e.g. when the field contains sensitive credentials.\n"},{"path":[4,12,2,7,4],"span":[738,2,10]},{"path":[4,12,2,7,5],"span":[738,11,15]},{"path":[4,12,2,7,1],"span":[738,16,28]},{"path":[4,12,2,7,3],"span":[738,31,33]},{"path":[4,12,2,7,8],"span":[738,34,51]},{"path":[4,12,2,7,7],"span":[738,35,50]},{"path":[4,12,4,2],"span":[741,2,745,3],"leadingComments":" If set to RETENTION_SOURCE, the option will be omitted from the binary.\n"},{"path":[4,12,4,2,1],"span":[741,7,22]},{"path":[4,12,4,2,2,0],"span":[742,4,26]},{"path":[4,12,4,2,2,0,1],"span":[742,4,21]},{"path":[4,12,4,2,2,0,2],"span":[742,24,25]},{"path":[4,12,4,2,2,1],"span":[743,4,26]},{"path":[4,12,4,2,2,1,1],"span":[743,4,21]},{"path":[4,12,4,2,2,1,2],"span":[743,24,25]},{"path":[4,12,4,2,2,2],"span":[744,4,25]},{"path":[4,12,4,2,2,2,1],"span":[744,4,20]},{"path":[4,12,4,2,2,2,2],"span":[744,23,24]},{"path":[4,12,2,8],"span":[747,2,42]},{"path":[4,12,2,8,4],"span":[747,2,10]},{"path":[4,12,2,8,6],"span":[747,11,26]},{"path":[4,12,2,8,1],"span":[747,27,36]},{"path":[4,12,2,8,3],"span":[747,39,41]},{"path":[4,12,4,3],"span":[752,2,763,3],"leadingComments":" This indicates the types of entities that the field may apply to when used\n as an option. If it is unset, then the field may be freely used as an\n option on any kind of entity.\n"},{"path":[4,12,4,3,1],"span":[752,7,23]},{"path":[4,12,4,3,2,0],"span":[753,4,28]},{"path":[4,12,4,3,2,0,1],"span":[753,4,23]},{"path":[4,12,4,3,2,0,2],"span":[753,26,27]},{"path":[4,12,4,3,2,1],"span":[754,4,25]},{"path":[4,12,4,3,2,1,1],"span":[754,4,20]},{"path":[4,12,4,3,2,1,2],"span":[754,23,24]},{"path":[4,12,4,3,2,2],"span":[755,4,36]},{"path":[4,12,4,3,2,2,1],"span":[755,4,31]},{"path":[4,12,4,3,2,2,2],"span":[755,34,35]},{"path":[4,12,4,3,2,3],"span":[756,4,28]},{"path":[4,12,4,3,2,3,1],"span":[756,4,23]},{"path":[4,12,4,3,2,3,2],"span":[756,26,27]},{"path":[4,12,4,3,2,4],"span":[757,4,26]},{"path":[4,12,4,3,2,4,1],"span":[757,4,21]},{"path":[4,12,4,3,2,4,2],"span":[757,24,25]},{"path":[4,12,4,3,2,5],"span":[758,4,26]},{"path":[4,12,4,3,2,5,1],"span":[758,4,21]},{"path":[4,12,4,3,2,5,2],"span":[758,24,25]},{"path":[4,12,4,3,2,6],"span":[759,4,25]},{"path":[4,12,4,3,2,6,1],"span":[759,4,20]},{"path":[4,12,4,3,2,6,2],"span":[759,23,24]},{"path":[4,12,4,3,2,7],"span":[760,4,31]},{"path":[4,12,4,3,2,7,1],"span":[760,4,26]},{"path":[4,12,4,3,2,7,2],"span":[760,29,30]},{"path":[4,12,4,3,2,8],"span":[761,4,28]},{"path":[4,12,4,3,2,8,1],"span":[761,4,23]},{"path":[4,12,4,3,2,8,2],"span":[761,26,27]},{"path":[4,12,4,3,2,9],"span":[762,4,27]},{"path":[4,12,4,3,2,9,1],"span":[762,4,22]},{"path":[4,12,4,3,2,9,2],"span":[762,25,26]},{"path":[4,12,2,9],"span":[765,2,41]},{"path":[4,12,2,9,4],"span":[765,2,10]},{"path":[4,12,2,9,6],"span":[765,11,27]},{"path":[4,12,2,9,1],"span":[765,28,35]},{"path":[4,12,2,9,3],"span":[765,38,40]},{"path":[4,12,3,0],"span":[767,2,770,3]},{"path":[4,12,3,0,1],"span":[767,10,24]},{"path":[4,12,3,0,2,0],"span":[768,4,33]},{"path":[4,12,3,0,2,0,4],"span":[768,4,12]},{"path":[4,12,3,0,2,0,6],"span":[768,13,20]},{"path":[4,12,3,0,2,0,1],"span":[768,21,28]},{"path":[4,12,3,0,2,0,3],"span":[768,31,32]},{"path":[4,12,3,0,2,1],"span":[769,4,30],"trailingComments":" Textproto value.\n"},{"path":[4,12,3,0,2,1,4],"span":[769,4,12]},{"path":[4,12,3,0,2,1,5],"span":[769,13,19]},{"path":[4,12,3,0,2,1,1],"span":[769,20,25]},{"path":[4,12,3,0,2,1,3],"span":[769,28,29]},{"path":[4,12,2,10],"span":[771,2,48]},{"path":[4,12,2,10,4],"span":[771,2,10]},{"path":[4,12,2,10,6],"span":[771,11,25]},{"path":[4,12,2,10,1],"span":[771,26,42]},{"path":[4,12,2,10,3],"span":[771,45,47]},{"path":[4,12,2,11],"span":[774,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,12,2,11,4],"span":[774,2,10]},{"path":[4,12,2,11,6],"span":[774,11,21]},{"path":[4,12,2,11,1],"span":[774,22,30]},{"path":[4,12,2,11,3],"span":[774,33,35]},{"path":[4,12,3,1],"span":[777,2,795,3],"leadingComments":" Information about the support window of a feature.\n"},{"path":[4,12,3,1,1],"span":[777,10,24]},{"path":[4,12,3,1,2,0],"span":[781,4,44],"leadingComments":" The edition that this feature was first available in. In editions\n earlier than this one, the default assigned to EDITION_LEGACY will be\n used, and proto files will not be able to override it.\n"},{"path":[4,12,3,1,2,0,4],"span":[781,4,12]},{"path":[4,12,3,1,2,0,6],"span":[781,13,20]},{"path":[4,12,3,1,2,0,1],"span":[781,21,39]},{"path":[4,12,3,1,2,0,3],"span":[781,42,43]},{"path":[4,12,3,1,2,1],"span":[785,4,44],"leadingComments":" The edition this feature becomes deprecated in. Using this after this\n edition may trigger warnings.\n"},{"path":[4,12,3,1,2,1,4],"span":[785,4,12]},{"path":[4,12,3,1,2,1,6],"span":[785,13,20]},{"path":[4,12,3,1,2,1,1],"span":[785,21,39]},{"path":[4,12,3,1,2,1,3],"span":[785,42,43]},{"path":[4,12,3,1,2,2],"span":[789,4,44],"leadingComments":" The deprecation warning text if this feature is used after the edition it\n was marked deprecated in.\n"},{"path":[4,12,3,1,2,2,4],"span":[789,4,12]},{"path":[4,12,3,1,2,2,5],"span":[789,13,19]},{"path":[4,12,3,1,2,2,1],"span":[789,20,39]},{"path":[4,12,3,1,2,2,3],"span":[789,42,43]},{"path":[4,12,3,1,2,3],"span":[794,4,41],"leadingComments":" The edition this feature is no longer available in. In editions after\n this one, the last default assigned will be used, and proto files will\n not be able to override it.\n"},{"path":[4,12,3,1,2,3,4],"span":[794,4,12]},{"path":[4,12,3,1,2,3,6],"span":[794,13,20]},{"path":[4,12,3,1,2,3,1],"span":[794,21,36]},{"path":[4,12,3,1,2,3,3],"span":[794,39,40]},{"path":[4,12,2,12],"span":[796,2,47]},{"path":[4,12,2,12,4],"span":[796,2,10]},{"path":[4,12,2,12,6],"span":[796,11,25]},{"path":[4,12,2,12,1],"span":[796,26,41]},{"path":[4,12,2,12,3],"span":[796,44,46]},{"path":[4,12,2,13],"span":[799,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,12,2,13,4],"span":[799,2,10]},{"path":[4,12,2,13,6],"span":[799,11,30]},{"path":[4,12,2,13,1],"span":[799,31,51]},{"path":[4,12,2,13,3],"span":[799,54,57]},{"path":[4,12,5],"span":[802,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,12,5,0],"span":[802,13,24]},{"path":[4,12,5,0,1],"span":[802,13,17]},{"path":[4,12,5,0,2],"span":[802,21,24]},{"path":[4,12,9],"span":[804,2,13],"trailingComments":" removed jtype\n"},{"path":[4,12,9,0],"span":[804,11,12]},{"path":[4,12,9,0,1],"span":[804,11,12]},{"path":[4,12,9,0,2],"span":[804,11,12]},{"path":[4,12,9],"span":[805,2,14],"trailingComments":" reserve target, target_obsolete_do_not_use\n"},{"path":[4,12,9,1],"span":[805,11,13]},{"path":[4,12,9,1,1],"span":[805,11,13]},{"path":[4,12,9,1,2],"span":[805,11,13]},{"path":[4,13],"span":[808,0,817,1]},{"path":[4,13,1],"span":[808,8,20]},{"path":[4,13,2,0],"span":[810,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,13,2,0,4],"span":[810,2,10]},{"path":[4,13,2,0,6],"span":[810,11,21]},{"path":[4,13,2,0,1],"span":[810,22,30]},{"path":[4,13,2,0,3],"span":[810,33,34]},{"path":[4,13,2,1],"span":[813,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,13,2,1,4],"span":[813,2,10]},{"path":[4,13,2,1,6],"span":[813,11,30]},{"path":[4,13,2,1,1],"span":[813,31,51]},{"path":[4,13,2,1,3],"span":[813,54,57]},{"path":[4,13,5],"span":[816,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,13,5,0],"span":[816,13,24]},{"path":[4,13,5,0,1],"span":[816,13,17]},{"path":[4,13,5,0,2],"span":[816,21,24]},{"path":[4,14],"span":[819,0,849,1]},{"path":[4,14,1],"span":[819,8,19]},{"path":[4,14,2,0],"span":[823,2,32],"leadingComments":" Set this option to true to allow mapping different tag names to the same\n value.\n"},{"path":[4,14,2,0,4],"span":[823,2,10]},{"path":[4,14,2,0,5],"span":[823,11,15]},{"path":[4,14,2,0,1],"span":[823,16,27]},{"path":[4,14,2,0,3],"span":[823,30,31]},{"path":[4,14,2,1],"span":[829,2,49],"leadingComments":" Is this enum deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum, or it will be completely ignored; in the very least, this\n is a formalization for deprecating enums.\n"},{"path":[4,14,2,1,4],"span":[829,2,10]},{"path":[4,14,2,1,5],"span":[829,11,15]},{"path":[4,14,2,1,1],"span":[829,16,26]},{"path":[4,14,2,1,3],"span":[829,29,30]},{"path":[4,14,2,1,8],"span":[829,31,48]},{"path":[4,14,2,1,7],"span":[829,32,47]},{"path":[4,14,9],"span":[831,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,14,9,0],"span":[831,11,12]},{"path":[4,14,9,0,1],"span":[831,11,12]},{"path":[4,14,9,0,2],"span":[831,11,12]},{"path":[4,14,2,2],"span":[839,2,79],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n TODO Remove this legacy behavior once downstream teams have\n had time to migrate.\n"},{"path":[4,14,2,2,4],"span":[839,2,10]},{"path":[4,14,2,2,5],"span":[839,11,15]},{"path":[4,14,2,2,1],"span":[839,16,54]},{"path":[4,14,2,2,3],"span":[839,57,58]},{"path":[4,14,2,2,8],"span":[839,59,78]},{"path":[4,14,2,2,8,3],"span":[839,60,77]},{"path":[4,14,2,3],"span":[842,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,14,2,3,4],"span":[842,2,10]},{"path":[4,14,2,3,6],"span":[842,11,21]},{"path":[4,14,2,3,1],"span":[842,22,30]},{"path":[4,14,2,3,3],"span":[842,33,34]},{"path":[4,14,2,4],"span":[845,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,14,2,4,4],"span":[845,2,10]},{"path":[4,14,2,4,6],"span":[845,11,30]},{"path":[4,14,2,4,1],"span":[845,31,51]},{"path":[4,14,2,4,3],"span":[845,54,57]},{"path":[4,14,5],"span":[848,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,14,5,0],"span":[848,13,24]},{"path":[4,14,5,0,1],"span":[848,13,17]},{"path":[4,14,5,0,2],"span":[848,21,24]},{"path":[4,15],"span":[851,0,874,1]},{"path":[4,15,1],"span":[851,8,24]},{"path":[4,15,2,0],"span":[856,2,49],"leadingComments":" Is this enum value deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum value, or it will be completely ignored; in the very least,\n this is a formalization for deprecating enum values.\n"},{"path":[4,15,2,0,4],"span":[856,2,10]},{"path":[4,15,2,0,5],"span":[856,11,15]},{"path":[4,15,2,0,1],"span":[856,16,26]},{"path":[4,15,2,0,3],"span":[856,29,30]},{"path":[4,15,2,0,8],"span":[856,31,48]},{"path":[4,15,2,0,7],"span":[856,32,47]},{"path":[4,15,2,1],"span":[859,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,15,2,1,4],"span":[859,2,10]},{"path":[4,15,2,1,6],"span":[859,11,21]},{"path":[4,15,2,1,1],"span":[859,22,30]},{"path":[4,15,2,1,3],"span":[859,33,34]},{"path":[4,15,2,2],"span":[864,2,51],"leadingComments":" Indicate that fields annotated with this enum value should not be printed\n out when using debug formats, e.g. when the field contains sensitive\n credentials.\n"},{"path":[4,15,2,2,4],"span":[864,2,10]},{"path":[4,15,2,2,5],"span":[864,11,15]},{"path":[4,15,2,2,1],"span":[864,16,28]},{"path":[4,15,2,2,3],"span":[864,31,32]},{"path":[4,15,2,2,8],"span":[864,33,50]},{"path":[4,15,2,2,7],"span":[864,34,49]},{"path":[4,15,2,3],"span":[867,2,59],"leadingComments":" Information about the support window of a feature value.\n"},{"path":[4,15,2,3,4],"span":[867,2,10]},{"path":[4,15,2,3,6],"span":[867,11,38]},{"path":[4,15,2,3,1],"span":[867,39,54]},{"path":[4,15,2,3,3],"span":[867,57,58]},{"path":[4,15,2,4],"span":[870,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,15,2,4,4],"span":[870,2,10]},{"path":[4,15,2,4,6],"span":[870,11,30]},{"path":[4,15,2,4,1],"span":[870,31,51]},{"path":[4,15,2,4,3],"span":[870,54,57]},{"path":[4,15,5],"span":[873,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,15,5,0],"span":[873,13,24]},{"path":[4,15,5,0,1],"span":[873,13,17]},{"path":[4,15,5,0,2],"span":[873,21,24]},{"path":[4,16],"span":[876,0,897,1]},{"path":[4,16,1],"span":[876,8,22]},{"path":[4,16,2,0],"span":[879,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,16,2,0,4],"span":[879,2,10]},{"path":[4,16,2,0,6],"span":[879,11,21]},{"path":[4,16,2,0,1],"span":[879,22,30]},{"path":[4,16,2,0,3],"span":[879,33,35]},{"path":[4,16,2,1],"span":[890,2,50],"leadingComments":" Is this service deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the service, or it will be completely ignored; in the very least,\n this is a formalization for deprecating services.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,16,2,1,4],"span":[890,2,10]},{"path":[4,16,2,1,5],"span":[890,11,15]},{"path":[4,16,2,1,1],"span":[890,16,26]},{"path":[4,16,2,1,3],"span":[890,29,31]},{"path":[4,16,2,1,8],"span":[890,32,49]},{"path":[4,16,2,1,7],"span":[890,33,48]},{"path":[4,16,2,2],"span":[893,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,16,2,2,4],"span":[893,2,10]},{"path":[4,16,2,2,6],"span":[893,11,30]},{"path":[4,16,2,2,1],"span":[893,31,51]},{"path":[4,16,2,2,3],"span":[893,54,57]},{"path":[4,16,5],"span":[896,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,16,5,0],"span":[896,13,24]},{"path":[4,16,5,0,1],"span":[896,13,17]},{"path":[4,16,5,0,2],"span":[896,21,24]},{"path":[4,17],"span":[899,0,931,1]},{"path":[4,17,1],"span":[899,8,21]},{"path":[4,17,2,0],"span":[910,2,50],"leadingComments":" Is this method deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the method, or it will be completely ignored; in the very least,\n this is a formalization for deprecating methods.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,17,2,0,4],"span":[910,2,10]},{"path":[4,17,2,0,5],"span":[910,11,15]},{"path":[4,17,2,0,1],"span":[910,16,26]},{"path":[4,17,2,0,3],"span":[910,29,31]},{"path":[4,17,2,0,8],"span":[910,32,49]},{"path":[4,17,2,0,7],"span":[910,33,48]},{"path":[4,17,4,0],"span":[915,2,919,3],"leadingComments":" Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n or neither? HTTP based RPC implementation may choose GET verb for safe\n methods, and PUT verb for idempotent methods instead of the default POST.\n"},{"path":[4,17,4,0,1],"span":[915,7,23]},{"path":[4,17,4,0,2,0],"span":[916,4,28]},{"path":[4,17,4,0,2,0,1],"span":[916,4,23]},{"path":[4,17,4,0,2,0,2],"span":[916,26,27]},{"path":[4,17,4,0,2,1],"span":[917,4,24],"trailingComments":" implies idempotent\n"},{"path":[4,17,4,0,2,1,1],"span":[917,4,19]},{"path":[4,17,4,0,2,1,2],"span":[917,22,23]},{"path":[4,17,4,0,2,2],"span":[918,4,19],"trailingComments":" idempotent, but may have side effects\n"},{"path":[4,17,4,0,2,2,1],"span":[918,4,14]},{"path":[4,17,4,0,2,2,2],"span":[918,17,18]},{"path":[4,17,2,1],"span":[920,2,921,38]},{"path":[4,17,2,1,4],"span":[920,2,10]},{"path":[4,17,2,1,6],"span":[920,11,27]},{"path":[4,17,2,1,1],"span":[920,28,45]},{"path":[4,17,2,1,3],"span":[920,48,50]},{"path":[4,17,2,1,8],"span":[921,6,37]},{"path":[4,17,2,1,7],"span":[921,7,36]},{"path":[4,17,2,2],"span":[924,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,17,2,2,4],"span":[924,2,10]},{"path":[4,17,2,2,6],"span":[924,11,21]},{"path":[4,17,2,2,1],"span":[924,22,30]},{"path":[4,17,2,2,3],"span":[924,33,35]},{"path":[4,17,2,3],"span":[927,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,17,2,3,4],"span":[927,2,10]},{"path":[4,17,2,3,6],"span":[927,11,30]},{"path":[4,17,2,3,1],"span":[927,31,51]},{"path":[4,17,2,3,3],"span":[927,54,57]},{"path":[4,17,5],"span":[930,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,17,5,0],"span":[930,13,24]},{"path":[4,17,5,0,1],"span":[930,13,17]},{"path":[4,17,5,0,2],"span":[930,21,24]},{"path":[4,18],"span":[939,0,959,1],"leadingComments":" A message representing a option the parser does not recognize. This only\n appears in options protos created by the compiler::Parser class.\n DescriptorPool resolves these when building Descriptor objects. Therefore,\n options protos in descriptor objects (e.g. returned by Descriptor::options(),\n or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n in them.\n"},{"path":[4,18,1],"span":[939,8,27]},{"path":[4,18,3,0],"span":[945,2,948,3],"leadingComments":" The name of the uninterpreted option. Each string represents a segment in\n a dot-separated name. is_extension is true iff a segment represents an\n extension (denoted with parentheses in options specs in .proto files).\n E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n \"foo.(bar.baz).moo\".\n"},{"path":[4,18,3,0,1],"span":[945,10,18]},{"path":[4,18,3,0,2,0],"span":[946,4,34]},{"path":[4,18,3,0,2,0,4],"span":[946,4,12]},{"path":[4,18,3,0,2,0,5],"span":[946,13,19]},{"path":[4,18,3,0,2,0,1],"span":[946,20,29]},{"path":[4,18,3,0,2,0,3],"span":[946,32,33]},{"path":[4,18,3,0,2,1],"span":[947,4,35]},{"path":[4,18,3,0,2,1,4],"span":[947,4,12]},{"path":[4,18,3,0,2,1,5],"span":[947,13,17]},{"path":[4,18,3,0,2,1,1],"span":[947,18,30]},{"path":[4,18,3,0,2,1,3],"span":[947,33,34]},{"path":[4,18,2,0],"span":[949,2,29]},{"path":[4,18,2,0,4],"span":[949,2,10]},{"path":[4,18,2,0,6],"span":[949,11,19]},{"path":[4,18,2,0,1],"span":[949,20,24]},{"path":[4,18,2,0,3],"span":[949,27,28]},{"path":[4,18,2,1],"span":[953,2,39],"leadingComments":" The value of the uninterpreted option, in whatever type the tokenizer\n identified it as during parsing. Exactly one of these should be set.\n"},{"path":[4,18,2,1,4],"span":[953,2,10]},{"path":[4,18,2,1,5],"span":[953,11,17]},{"path":[4,18,2,1,1],"span":[953,18,34]},{"path":[4,18,2,1,3],"span":[953,37,38]},{"path":[4,18,2,2],"span":[954,2,41]},{"path":[4,18,2,2,4],"span":[954,2,10]},{"path":[4,18,2,2,5],"span":[954,11,17]},{"path":[4,18,2,2,1],"span":[954,18,36]},{"path":[4,18,2,2,3],"span":[954,39,40]},{"path":[4,18,2,3],"span":[955,2,40]},{"path":[4,18,2,3,4],"span":[955,2,10]},{"path":[4,18,2,3,5],"span":[955,11,16]},{"path":[4,18,2,3,1],"span":[955,17,35]},{"path":[4,18,2,3,3],"span":[955,38,39]},{"path":[4,18,2,4],"span":[956,2,35]},{"path":[4,18,2,4,4],"span":[956,2,10]},{"path":[4,18,2,4,5],"span":[956,11,17]},{"path":[4,18,2,4,1],"span":[956,18,30]},{"path":[4,18,2,4,3],"span":[956,33,34]},{"path":[4,18,2,5],"span":[957,2,34]},{"path":[4,18,2,5,4],"span":[957,2,10]},{"path":[4,18,2,5,5],"span":[957,11,16]},{"path":[4,18,2,5,1],"span":[957,17,29]},{"path":[4,18,2,5,3],"span":[957,32,33]},{"path":[4,18,2,6],"span":[958,2,38]},{"path":[4,18,2,6,4],"span":[958,2,10]},{"path":[4,18,2,6,5],"span":[958,11,17]},{"path":[4,18,2,6,1],"span":[958,18,33]},{"path":[4,18,2,6,3],"span":[958,36,37]},{"path":[4,19],"span":[970,0,1093,1],"leadingComments":" TODO Enums in C++ gencode (and potentially other languages) are\n not well scoped. This means that each of the feature enums below can clash\n with each other. The short names we've chosen maximize call-site\n readability, but leave us very open to this scenario. A future feature will\n be designed and implemented to handle this, hopefully before we ever hit a\n conflict here.\n","leadingDetachedComments":[" ===================================================================\n Features\n"]},{"path":[4,19,1],"span":[970,8,18]},{"path":[4,19,4,0],"span":[971,2,976,3]},{"path":[4,19,4,0,1],"span":[971,7,20]},{"path":[4,19,4,0,2,0],"span":[972,4,31]},{"path":[4,19,4,0,2,0,1],"span":[972,4,26]},{"path":[4,19,4,0,2,0,2],"span":[972,29,30]},{"path":[4,19,4,0,2,1],"span":[973,4,17]},{"path":[4,19,4,0,2,1,1],"span":[973,4,12]},{"path":[4,19,4,0,2,1,2],"span":[973,15,16]},{"path":[4,19,4,0,2,2],"span":[974,4,17]},{"path":[4,19,4,0,2,2,1],"span":[974,4,12]},{"path":[4,19,4,0,2,2,2],"span":[974,15,16]},{"path":[4,19,4,0,2,3],"span":[975,4,24]},{"path":[4,19,4,0,2,3,1],"span":[975,4,19]},{"path":[4,19,4,0,2,3,2],"span":[975,22,23]},{"path":[4,19,2,0],"span":[977,2,987,4]},{"path":[4,19,2,0,4],"span":[977,2,10]},{"path":[4,19,2,0,6],"span":[977,11,24]},{"path":[4,19,2,0,1],"span":[977,25,39]},{"path":[4,19,2,0,3],"span":[977,42,43]},{"path":[4,19,2,0,8],"span":[977,44,987,3]},{"path":[4,19,2,0,8,17],"span":[978,4,33]},{"path":[4,19,2,0,8,19,0],"span":[979,4,31]},{"path":[4,19,2,0,8,19,1],"span":[980,4,30]},{"path":[4,19,2,0,8,22],"span":[981,4,983,5]},{"path":[4,19,2,0,8,22,1],"span":[982,6,38]},{"path":[4,19,2,0,8,20,0],"span":[984,4,69]},{"path":[4,19,2,0,8,20,0,3],"span":[984,25,48]},{"path":[4,19,2,0,8,20,0,2],"span":[984,50,67]},{"path":[4,19,2,0,8,20,1],"span":[985,4,69]},{"path":[4,19,2,0,8,20,1,3],"span":[985,25,48]},{"path":[4,19,2,0,8,20,1,2],"span":[985,50,67]},{"path":[4,19,2,0,8,20,2],"span":[986,4,67]},{"path":[4,19,2,0,8,20,2,3],"span":[986,25,46]},{"path":[4,19,2,0,8,20,2,2],"span":[986,48,65]},{"path":[4,19,4,1],"span":[989,2,993,3]},{"path":[4,19,4,1,1],"span":[989,7,15]},{"path":[4,19,4,1,2,0],"span":[990,4,26]},{"path":[4,19,4,1,2,0,1],"span":[990,4,21]},{"path":[4,19,4,1,2,0,2],"span":[990,24,25]},{"path":[4,19,4,1,2,1],"span":[991,4,13]},{"path":[4,19,4,1,2,1,1],"span":[991,4,8]},{"path":[4,19,4,1,2,1,2],"span":[991,11,12]},{"path":[4,19,4,1,2,2],"span":[992,4,15]},{"path":[4,19,4,1,2,2,1],"span":[992,4,10]},{"path":[4,19,4,1,2,2,2],"span":[992,13,14]},{"path":[4,19,2,1],"span":[994,2,1003,4]},{"path":[4,19,2,1,4],"span":[994,2,10]},{"path":[4,19,2,1,6],"span":[994,11,19]},{"path":[4,19,2,1,1],"span":[994,20,29]},{"path":[4,19,2,1,3],"span":[994,32,33]},{"path":[4,19,2,1,8],"span":[994,34,1003,3]},{"path":[4,19,2,1,8,17],"span":[995,4,33]},{"path":[4,19,2,1,8,19,0],"span":[996,4,30]},{"path":[4,19,2,1,8,19,1],"span":[997,4,30]},{"path":[4,19,2,1,8,22],"span":[998,4,1000,5]},{"path":[4,19,2,1,8,22,1],"span":[999,6,38]},{"path":[4,19,2,1,8,20,0],"span":[1001,4,67]},{"path":[4,19,2,1,8,20,0,3],"span":[1001,25,48]},{"path":[4,19,2,1,8,20,0,2],"span":[1001,50,65]},{"path":[4,19,2,1,8,20,1],"span":[1002,4,65]},{"path":[4,19,2,1,8,20,1,3],"span":[1002,25,48]},{"path":[4,19,2,1,8,20,1,2],"span":[1002,50,63]},{"path":[4,19,4,2],"span":[1005,2,1009,3]},{"path":[4,19,4,2,1],"span":[1005,7,28]},{"path":[4,19,4,2,2,0],"span":[1006,4,40]},{"path":[4,19,4,2,2,0,1],"span":[1006,4,35]},{"path":[4,19,4,2,2,0,2],"span":[1006,38,39]},{"path":[4,19,4,2,2,1],"span":[1007,4,15]},{"path":[4,19,4,2,2,1,1],"span":[1007,4,10]},{"path":[4,19,4,2,2,1,2],"span":[1007,13,14]},{"path":[4,19,4,2,2,2],"span":[1008,4,17]},{"path":[4,19,4,2,2,2,1],"span":[1008,4,12]},{"path":[4,19,4,2,2,2,2],"span":[1008,15,16]},{"path":[4,19,2,2],"span":[1010,2,1019,4]},{"path":[4,19,2,2,4],"span":[1010,2,10]},{"path":[4,19,2,2,6],"span":[1010,11,32]},{"path":[4,19,2,2,1],"span":[1010,33,56]},{"path":[4,19,2,2,3],"span":[1010,59,60]},{"path":[4,19,2,2,8],"span":[1010,61,1019,3]},{"path":[4,19,2,2,8,17],"span":[1011,4,33]},{"path":[4,19,2,2,8,19,0],"span":[1012,4,31]},{"path":[4,19,2,2,8,19,1],"span":[1013,4,30]},{"path":[4,19,2,2,8,22],"span":[1014,4,1016,5]},{"path":[4,19,2,2,8,22,1],"span":[1015,6,38]},{"path":[4,19,2,2,8,20,0],"span":[1017,4,69]},{"path":[4,19,2,2,8,20,0,3],"span":[1017,25,48]},{"path":[4,19,2,2,8,20,0,2],"span":[1017,50,67]},{"path":[4,19,2,2,8,20,1],"span":[1018,4,67]},{"path":[4,19,2,2,8,20,1,3],"span":[1018,25,48]},{"path":[4,19,2,2,8,20,1,2],"span":[1018,50,65]},{"path":[4,19,4,3],"span":[1021,2,1026,3]},{"path":[4,19,4,3,1],"span":[1021,7,21]},{"path":[4,19,4,3,2,0],"span":[1022,4,32]},{"path":[4,19,4,3,2,0,1],"span":[1022,4,27]},{"path":[4,19,4,3,2,0,2],"span":[1022,30,31]},{"path":[4,19,4,3,2,1],"span":[1023,4,15]},{"path":[4,19,4,3,2,1,1],"span":[1023,4,10]},{"path":[4,19,4,3,2,1,2],"span":[1023,13,14]},{"path":[4,19,4,3,2,2],"span":[1024,4,13]},{"path":[4,19,4,3,2,2,1],"span":[1024,4,8]},{"path":[4,19,4,3,2,2,2],"span":[1024,11,12]},{"path":[4,19,4,3,4],"span":[1025,4,15]},{"path":[4,19,4,3,4,0],"span":[1025,13,14]},{"path":[4,19,4,3,4,0,1],"span":[1025,13,14]},{"path":[4,19,4,3,4,0,2],"span":[1025,13,14]},{"path":[4,19,2,3],"span":[1027,2,1036,4]},{"path":[4,19,2,3,4],"span":[1027,2,10]},{"path":[4,19,2,3,6],"span":[1027,11,25]},{"path":[4,19,2,3,1],"span":[1027,26,41]},{"path":[4,19,2,3,3],"span":[1027,44,45]},{"path":[4,19,2,3,8],"span":[1027,46,1036,3]},{"path":[4,19,2,3,8,17],"span":[1028,4,33]},{"path":[4,19,2,3,8,19,0],"span":[1029,4,31]},{"path":[4,19,2,3,8,19,1],"span":[1030,4,30]},{"path":[4,19,2,3,8,22],"span":[1031,4,1033,5]},{"path":[4,19,2,3,8,22,1],"span":[1032,6,38]},{"path":[4,19,2,3,8,20,0],"span":[1034,4,65]},{"path":[4,19,2,3,8,20,0,3],"span":[1034,25,48]},{"path":[4,19,2,3,8,20,0,2],"span":[1034,50,63]},{"path":[4,19,2,3,8,20,1],"span":[1035,4,67]},{"path":[4,19,2,3,8,20,1,3],"span":[1035,25,48]},{"path":[4,19,2,3,8,20,1,2],"span":[1035,50,65]},{"path":[4,19,4,4],"span":[1038,2,1042,3]},{"path":[4,19,4,4,1],"span":[1038,7,22]},{"path":[4,19,4,4,2,0],"span":[1039,4,33]},{"path":[4,19,4,4,2,0,1],"span":[1039,4,28]},{"path":[4,19,4,4,2,0,2],"span":[1039,31,32]},{"path":[4,19,4,4,2,1],"span":[1040,4,24]},{"path":[4,19,4,4,2,1,1],"span":[1040,4,19]},{"path":[4,19,4,4,2,1,2],"span":[1040,22,23]},{"path":[4,19,4,4,2,2],"span":[1041,4,18]},{"path":[4,19,4,4,2,2,1],"span":[1041,4,13]},{"path":[4,19,4,4,2,2,2],"span":[1041,16,17]},{"path":[4,19,2,4],"span":[1043,2,1051,4]},{"path":[4,19,2,4,4],"span":[1043,2,10]},{"path":[4,19,2,4,6],"span":[1043,11,26]},{"path":[4,19,2,4,1],"span":[1043,27,43]},{"path":[4,19,2,4,3],"span":[1043,46,47]},{"path":[4,19,2,4,8],"span":[1043,48,1051,3]},{"path":[4,19,2,4,8,17],"span":[1044,4,33]},{"path":[4,19,2,4,8,19,0],"span":[1045,4,31]},{"path":[4,19,2,4,8,19,1],"span":[1046,4,30]},{"path":[4,19,2,4,8,22],"span":[1047,4,1049,5]},{"path":[4,19,2,4,8,22,1],"span":[1048,6,38]},{"path":[4,19,2,4,8,20,0],"span":[1050,4,76]},{"path":[4,19,2,4,8,20,0,3],"span":[1050,25,48]},{"path":[4,19,2,4,8,20,0,2],"span":[1050,50,74]},{"path":[4,19,4,5],"span":[1053,2,1057,3]},{"path":[4,19,4,5,1],"span":[1053,7,17]},{"path":[4,19,4,5,2,0],"span":[1054,4,28]},{"path":[4,19,4,5,2,0,1],"span":[1054,4,23]},{"path":[4,19,4,5,2,0,2],"span":[1054,26,27]},{"path":[4,19,4,5,2,1],"span":[1055,4,14]},{"path":[4,19,4,5,2,1,1],"span":[1055,4,9]},{"path":[4,19,4,5,2,1,2],"span":[1055,12,13]},{"path":[4,19,4,5,2,2],"span":[1056,4,27]},{"path":[4,19,4,5,2,2,1],"span":[1056,4,22]},{"path":[4,19,4,5,2,2,2],"span":[1056,25,26]},{"path":[4,19,2,5],"span":[1058,2,1068,4]},{"path":[4,19,2,5,4],"span":[1058,2,10]},{"path":[4,19,2,5,6],"span":[1058,11,21]},{"path":[4,19,2,5,1],"span":[1058,22,33]},{"path":[4,19,2,5,3],"span":[1058,36,37]},{"path":[4,19,2,5,8],"span":[1058,38,1068,3]},{"path":[4,19,2,5,8,17],"span":[1059,4,33]},{"path":[4,19,2,5,8,19,0],"span":[1060,4,33]},{"path":[4,19,2,5,8,19,1],"span":[1061,4,30]},{"path":[4,19,2,5,8,19,2],"span":[1062,4,30]},{"path":[4,19,2,5,8,22],"span":[1063,4,1065,5]},{"path":[4,19,2,5,8,22,1],"span":[1064,6,38]},{"path":[4,19,2,5,8,20,0],"span":[1066,4,79]},{"path":[4,19,2,5,8,20,0,3],"span":[1066,25,48]},{"path":[4,19,2,5,8,20,0,2],"span":[1066,50,77]},{"path":[4,19,2,5,8,20,1],"span":[1067,4,66]},{"path":[4,19,2,5,8,20,1,3],"span":[1067,25,48]},{"path":[4,19,2,5,8,20,1,2],"span":[1067,50,64]},{"path":[4,19,9],"span":[1070,2,15]},{"path":[4,19,9,0],"span":[1070,11,14]},{"path":[4,19,9,0,1],"span":[1070,11,14]},{"path":[4,19,9,0,2],"span":[1070,11,14]},{"path":[4,19,5],"span":[1072,2,1089,4]},{"path":[4,19,5,0],"span":[1072,13,25]},{"path":[4,19,5,0,1],"span":[1072,13,17]},{"path":[4,19,5,0,2],"span":[1072,21,25]},{"path":[4,19,5,0,3],"span":[1072,26,1089,3]},{"path":[4,19,5,0,3,2,0],"span":[1073,4,1077,5]},{"path":[4,19,5,0,3,2,0,1],"span":[1074,6,18]},{"path":[4,19,5,0,3,2,0,2],"span":[1075,6,26]},{"path":[4,19,5,0,3,2,0,3],"span":[1076,6,29]},{"path":[4,19,5,0,3,2,1],"span":[1078,4,1082,5]},{"path":[4,19,5,0,3,2,1,1],"span":[1079,6,18]},{"path":[4,19,5,0,3,2,1,2],"span":[1080,6,27]},{"path":[4,19,5,0,3,2,1,3],"span":[1081,6,30]},{"path":[4,19,5,0,3,2,2],"span":[1083,4,79]},{"path":[4,19,5,0,3,2,2,1],"span":[1083,20,32]},{"path":[4,19,5,0,3,2,2,2],"span":[1083,34,53]},{"path":[4,19,5,0,3,2,2,3],"span":[1083,55,77]},{"path":[4,19,5,0,3,2,3],"span":[1084,4,1088,5]},{"path":[4,19,5,0,3,2,3,1],"span":[1085,6,18]},{"path":[4,19,5,0,3,2,3,2],"span":[1086,6,29]},{"path":[4,19,5,0,3,2,3,3],"span":[1087,6,32]},{"path":[4,19,5],"span":[1091,2,26],"trailingComments":" For internal testing\n"},{"path":[4,19,5,1],"span":[1091,13,25]},{"path":[4,19,5,1,1],"span":[1091,13,17]},{"path":[4,19,5,1,2],"span":[1091,21,25]},{"path":[4,19,5],"span":[1092,2,19],"trailingComments":" for https://github.com/bufbuild/protobuf-es\n"},{"path":[4,19,5,2],"span":[1092,13,18]},{"path":[4,19,5,2,1],"span":[1092,13,18]},{"path":[4,19,5,2,2],"span":[1092,13,18]},{"path":[4,20],"span":[1099,0,1125,1],"leadingComments":" A compiled specification for the defaults of a set of features. These\n messages are generated from FeatureSet extensions and can be used to seed\n feature resolution. The resolution with this object becomes a simple search\n for the closest matching edition, followed by proto merges.\n"},{"path":[4,20,1],"span":[1099,8,26]},{"path":[4,20,3,0],"span":[1104,2,1115,3],"leadingComments":" A map from every known edition with a unique set of defaults to its\n defaults. Not all editions may be contained here. For a given edition,\n the defaults at the closest matching edition ordered at or before it should\n be used. This field must be in strict ascending order by edition.\n"},{"path":[4,20,3,0,1],"span":[1104,10,34]},{"path":[4,20,3,0,2,0],"span":[1105,4,33]},{"path":[4,20,3,0,2,0,4],"span":[1105,4,12]},{"path":[4,20,3,0,2,0,6],"span":[1105,13,20]},{"path":[4,20,3,0,2,0,1],"span":[1105,21,28]},{"path":[4,20,3,0,2,0,3],"span":[1105,31,32]},{"path":[4,20,3,0,2,1],"span":[1108,4,49],"leadingComments":" Defaults of features that can be overridden in this edition.\n"},{"path":[4,20,3,0,2,1,4],"span":[1108,4,12]},{"path":[4,20,3,0,2,1,6],"span":[1108,13,23]},{"path":[4,20,3,0,2,1,1],"span":[1108,24,44]},{"path":[4,20,3,0,2,1,3],"span":[1108,47,48]},{"path":[4,20,3,0,2,2],"span":[1111,4,43],"leadingComments":" Defaults of features that can't be overridden in this edition.\n"},{"path":[4,20,3,0,2,2,4],"span":[1111,4,12]},{"path":[4,20,3,0,2,2,6],"span":[1111,13,23]},{"path":[4,20,3,0,2,2,1],"span":[1111,24,38]},{"path":[4,20,3,0,2,2,3],"span":[1111,41,42]},{"path":[4,20,3,0,9],"span":[1113,4,18]},{"path":[4,20,3,0,9,0],"span":[1113,13,14]},{"path":[4,20,3,0,9,0,1],"span":[1113,13,14]},{"path":[4,20,3,0,9,0,2],"span":[1113,13,14]},{"path":[4,20,3,0,9,1],"span":[1113,16,17]},{"path":[4,20,3,0,9,1,1],"span":[1113,16,17]},{"path":[4,20,3,0,9,1,2],"span":[1113,16,17]},{"path":[4,20,3,0,10],"span":[1114,4,24]},{"path":[4,20,3,0,10,0],"span":[1114,13,23]},{"path":[4,20,2,0],"span":[1116,2,49]},{"path":[4,20,2,0,4],"span":[1116,2,10]},{"path":[4,20,2,0,6],"span":[1116,11,35]},{"path":[4,20,2,0,1],"span":[1116,36,44]},{"path":[4,20,2,0,3],"span":[1116,47,48]},{"path":[4,20,2,1],"span":[1120,2,39],"leadingComments":" The minimum supported edition (inclusive) when this was constructed.\n Editions before this will not have defaults.\n"},{"path":[4,20,2,1,4],"span":[1120,2,10]},{"path":[4,20,2,1,6],"span":[1120,11,18]},{"path":[4,20,2,1,1],"span":[1120,19,34]},{"path":[4,20,2,1,3],"span":[1120,37,38]},{"path":[4,20,2,2],"span":[1124,2,39],"leadingComments":" The maximum known edition (inclusive) when this was constructed. Editions\n after this will not have reliable defaults.\n"},{"path":[4,20,2,2,4],"span":[1124,2,10]},{"path":[4,20,2,2,6],"span":[1124,11,18]},{"path":[4,20,2,2,1],"span":[1124,19,34]},{"path":[4,20,2,2,3],"span":[1124,37,38]},{"path":[4,21],"span":[1132,0,1268,1],"leadingComments":" Encapsulates information about the original source file from which a\n FileDescriptorProto was generated.\n","leadingDetachedComments":[" ===================================================================\n Optional source code info\n"]},{"path":[4,21,1],"span":[1132,8,22]},{"path":[4,21,2,0],"span":[1176,2,33],"leadingComments":" A Location identifies a piece of source code in a .proto file which\n corresponds to a particular definition. This information is intended\n to be useful to IDEs, code indexers, documentation generators, and similar\n tools.\n\n For example, say we have a file like:\n message Foo {\n optional string foo = 1;\n }\n Let's look at just the field definition:\n optional string foo = 1;\n ^ ^^ ^^ ^ ^^^\n a bc de f ghi\n We have the following locations:\n span path represents\n [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\n Notes:\n - A location may refer to a repeated field itself (i.e. not to any\n particular index within it). This is used whenever a set of elements are\n logically enclosed in a single code segment. For example, an entire\n extend block (possibly containing multiple extension definitions) will\n have an outer location whose path refers to the \"extensions\" repeated\n field without an index.\n - Multiple locations may have the same path. This happens when a single\n logical declaration is spread out across multiple places. The most\n obvious example is the \"extend\" block again -- there may be multiple\n extend blocks in the same scope, each of which will have the same path.\n - A location's span is not always a subset of its parent's span. For\n example, the \"extendee\" of an extension declaration appears at the\n beginning of the \"extend\" block and is shared by all extensions within\n the block.\n - Just because a location's span is a subset of some other location's span\n does not mean that it is a descendant. For example, a \"group\" defines\n both a type and a field in a single declaration. Thus, the locations\n corresponding to the type and field and their components will overlap.\n - Code which tries to interpret locations should probably be designed to\n ignore those that it doesn't understand, as more types of locations could\n be recorded in the future.\n"},{"path":[4,21,2,0,4],"span":[1176,2,10]},{"path":[4,21,2,0,6],"span":[1176,11,19]},{"path":[4,21,2,0,1],"span":[1176,20,28]},{"path":[4,21,2,0,3],"span":[1176,31,32]},{"path":[4,21,3,0],"span":[1177,2,1260,3]},{"path":[4,21,3,0,1],"span":[1177,10,18]},{"path":[4,21,3,0,2,0],"span":[1201,4,44],"leadingComments":" Identifies which part of the FileDescriptorProto was defined at this\n location.\n\n Each element is a field number or an index. They form a path from\n the root FileDescriptorProto to the place where the definition appears.\n For example, this path:\n [ 4, 3, 2, 7, 1 ]\n refers to:\n file.message_type(3) // 4, 3\n .field(7) // 2, 7\n .name() // 1\n This is because FileDescriptorProto.message_type has field number 4:\n repeated DescriptorProto message_type = 4;\n and DescriptorProto.field has field number 2:\n repeated FieldDescriptorProto field = 2;\n and FieldDescriptorProto.name has field number 1:\n optional string name = 1;\n\n Thus, the above path gives the location of a field name. If we removed\n the last element:\n [ 4, 3, 2, 7 ]\n this path refers to the whole field declaration (from the beginning\n of the label to the terminating semicolon).\n"},{"path":[4,21,3,0,2,0,4],"span":[1201,4,12]},{"path":[4,21,3,0,2,0,5],"span":[1201,13,18]},{"path":[4,21,3,0,2,0,1],"span":[1201,19,23]},{"path":[4,21,3,0,2,0,3],"span":[1201,26,27]},{"path":[4,21,3,0,2,0,8],"span":[1201,28,43]},{"path":[4,21,3,0,2,0,8,2],"span":[1201,29,42]},{"path":[4,21,3,0,2,1],"span":[1208,4,44],"leadingComments":" Always has exactly three or four elements: start line, start column,\n end line (optional, otherwise assumed same as start line), end column.\n These are packed into a single field for efficiency. Note that line\n and column numbers are zero-based -- typically you will want to add\n 1 to each before displaying to a user.\n"},{"path":[4,21,3,0,2,1,4],"span":[1208,4,12]},{"path":[4,21,3,0,2,1,5],"span":[1208,13,18]},{"path":[4,21,3,0,2,1,1],"span":[1208,19,23]},{"path":[4,21,3,0,2,1,3],"span":[1208,26,27]},{"path":[4,21,3,0,2,1,8],"span":[1208,28,43]},{"path":[4,21,3,0,2,1,8,2],"span":[1208,29,42]},{"path":[4,21,3,0,2,2],"span":[1257,4,41],"leadingComments":" If this SourceCodeInfo represents a complete declaration, these are any\n comments appearing before and after the declaration which appear to be\n attached to the declaration.\n\n A series of line comments appearing on consecutive lines, with no other\n tokens appearing on those lines, will be treated as a single comment.\n\n leading_detached_comments will keep paragraphs of comments that appear\n before (but not connected to) the current element. Each paragraph,\n separated by empty lines, will be one comment element in the repeated\n field.\n\n Only the comment content is provided; comment markers (e.g. //) are\n stripped out. For block comments, leading whitespace and an asterisk\n will be stripped from the beginning of each line other than the first.\n Newlines are included in the output.\n\n Examples:\n\n optional int32 foo = 1; // Comment attached to foo.\n // Comment attached to bar.\n optional int32 bar = 2;\n\n optional string baz = 3;\n // Comment attached to baz.\n // Another line attached to baz.\n\n // Comment attached to moo.\n //\n // Another line attached to moo.\n optional double moo = 4;\n\n // Detached comment for corge. This is not leading or trailing comments\n // to moo or corge because there are blank lines separating it from\n // both.\n\n // Detached comment for corge paragraph 2.\n\n optional string corge = 5;\n /* Block comment attached\n * to corge. Leading asterisks\n * will be removed. */\n /* Block comment attached to\n * grault. */\n optional int32 grault = 6;\n\n // ignored detached comments.\n"},{"path":[4,21,3,0,2,2,4],"span":[1257,4,12]},{"path":[4,21,3,0,2,2,5],"span":[1257,13,19]},{"path":[4,21,3,0,2,2,1],"span":[1257,20,36]},{"path":[4,21,3,0,2,2,3],"span":[1257,39,40]},{"path":[4,21,3,0,2,3],"span":[1258,4,42]},{"path":[4,21,3,0,2,3,4],"span":[1258,4,12]},{"path":[4,21,3,0,2,3,5],"span":[1258,13,19]},{"path":[4,21,3,0,2,3,1],"span":[1258,20,37]},{"path":[4,21,3,0,2,3,3],"span":[1258,40,41]},{"path":[4,21,3,0,2,4],"span":[1259,4,50]},{"path":[4,21,3,0,2,4,4],"span":[1259,4,12]},{"path":[4,21,3,0,2,4,5],"span":[1259,13,19]},{"path":[4,21,3,0,2,4,1],"span":[1259,20,45]},{"path":[4,21,3,0,2,4,3],"span":[1259,48,49]},{"path":[4,21,5],"span":[1263,2,1267,5],"leadingComments":" Extensions for tooling.\n"},{"path":[4,21,5,0],"span":[1263,13,22]},{"path":[4,21,5,0,1],"span":[1263,13,22]},{"path":[4,21,5,0,2],"span":[1263,13,22]},{"path":[4,21,5,0,3],"span":[1263,23,1267,4]},{"path":[4,21,5,0,3,2,0],"span":[1263,24,1267,3]},{"path":[4,21,5,0,3,2,0,1],"span":[1264,4,21]},{"path":[4,21,5,0,3,2,0,3],"span":[1265,4,54]},{"path":[4,21,5,0,3,2,0,2],"span":[1266,4,66]},{"path":[4,22],"span":[1273,0,1306,1],"leadingComments":" Describes the relationship between generated code and its original source\n file. A GeneratedCodeInfo message is associated with only one generated\n source file, but may contain references to different source .proto files.\n"},{"path":[4,22,1],"span":[1273,8,25]},{"path":[4,22,2,0],"span":[1276,2,37],"leadingComments":" An Annotation connects some span of text in generated code to an element\n of its generating .proto file.\n"},{"path":[4,22,2,0,4],"span":[1276,2,10]},{"path":[4,22,2,0,6],"span":[1276,11,21]},{"path":[4,22,2,0,1],"span":[1276,22,32]},{"path":[4,22,2,0,3],"span":[1276,35,36]},{"path":[4,22,3,0],"span":[1277,2,1305,3]},{"path":[4,22,3,0,1],"span":[1277,10,20]},{"path":[4,22,3,0,2,0],"span":[1280,4,44],"leadingComments":" Identifies the element in the original source .proto file. This field\n is formatted the same as SourceCodeInfo.Location.path.\n"},{"path":[4,22,3,0,2,0,4],"span":[1280,4,12]},{"path":[4,22,3,0,2,0,5],"span":[1280,13,18]},{"path":[4,22,3,0,2,0,1],"span":[1280,19,23]},{"path":[4,22,3,0,2,0,3],"span":[1280,26,27]},{"path":[4,22,3,0,2,0,8],"span":[1280,28,43]},{"path":[4,22,3,0,2,0,8,2],"span":[1280,29,42]},{"path":[4,22,3,0,2,1],"span":[1283,4,36],"leadingComments":" Identifies the filesystem path to the original source .proto.\n"},{"path":[4,22,3,0,2,1,4],"span":[1283,4,12]},{"path":[4,22,3,0,2,1,5],"span":[1283,13,19]},{"path":[4,22,3,0,2,1,1],"span":[1283,20,31]},{"path":[4,22,3,0,2,1,3],"span":[1283,34,35]},{"path":[4,22,3,0,2,2],"span":[1287,4,29],"leadingComments":" Identifies the starting offset in bytes in the generated code\n that relates to the identified object.\n"},{"path":[4,22,3,0,2,2,4],"span":[1287,4,12]},{"path":[4,22,3,0,2,2,5],"span":[1287,13,18]},{"path":[4,22,3,0,2,2,1],"span":[1287,19,24]},{"path":[4,22,3,0,2,2,3],"span":[1287,27,28]},{"path":[4,22,3,0,2,3],"span":[1292,4,27],"leadingComments":" Identifies the ending offset in bytes in the generated code that\n relates to the identified object. The end offset should be one past\n the last relevant byte (so the length of the text = end - begin).\n"},{"path":[4,22,3,0,2,3,4],"span":[1292,4,12]},{"path":[4,22,3,0,2,3,5],"span":[1292,13,18]},{"path":[4,22,3,0,2,3,1],"span":[1292,19,22]},{"path":[4,22,3,0,2,3,3],"span":[1292,25,26]},{"path":[4,22,3,0,4,0],"span":[1296,4,1303,5],"leadingComments":" Represents the identified object's effect on the element in the original\n .proto file.\n"},{"path":[4,22,3,0,4,0,1],"span":[1296,9,17]},{"path":[4,22,3,0,4,0,2,0],"span":[1298,6,15],"leadingComments":" There is no effect or the effect is indescribable.\n"},{"path":[4,22,3,0,4,0,2,0,1],"span":[1298,6,10]},{"path":[4,22,3,0,4,0,2,0,2],"span":[1298,13,14]},{"path":[4,22,3,0,4,0,2,1],"span":[1300,6,14],"leadingComments":" The element is set or otherwise mutated.\n"},{"path":[4,22,3,0,4,0,2,1,1],"span":[1300,6,9]},{"path":[4,22,3,0,4,0,2,1,2],"span":[1300,12,13]},{"path":[4,22,3,0,4,0,2,2],"span":[1302,6,16],"leadingComments":" An alias to the element is returned.\n"},{"path":[4,22,3,0,4,0,2,2,1],"span":[1302,6,11]},{"path":[4,22,3,0,4,0,2,2,2],"span":[1302,14,15]},{"path":[4,22,3,0,2,4],"span":[1304,4,35]},{"path":[4,22,3,0,2,4,4],"span":[1304,4,12]},{"path":[4,22,3,0,2,4,6],"span":[1304,13,21]},{"path":[4,22,3,0,2,4,1],"span":[1304,22,30]},{"path":[4,22,3,0,2,4,3],"span":[1304,33,34]}]},"bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/api/annotations.proto","package":"google.api","dependency":["google/api/http.proto","google/protobuf/descriptor.proto"],"extension":[{"name":"http","number":72295728,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.api.HttpRule","extendee":".google.protobuf.MethodOptions","jsonName":"http"}],"options":{"javaPackage":"com.google.api","javaOuterClassname":"AnnotationsProto","javaMultipleFiles":true,"goPackage":"google.golang.org/genproto/googleapis/api/annotations;annotations","objcClassPrefix":"GAPI"},"sourceCodeInfo":{"location":[{"span":[14,0,30,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024 Google LLC\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"]},{"path":[2],"span":[16,0,19]},{"path":[3,0],"span":[18,0,31]},{"path":[3,1],"span":[19,0,42]},{"path":[8],"span":[21,0,88]},{"path":[8,11],"span":[21,0,88]},{"path":[8],"span":[22,0,34]},{"path":[8,10],"span":[22,0,34]},{"path":[8],"span":[23,0,49]},{"path":[8,8],"span":[23,0,49]},{"path":[8],"span":[24,0,39]},{"path":[8,1],"span":[24,0,39]},{"path":[8],"span":[25,0,34]},{"path":[8,36],"span":[25,0,34]},{"path":[7],"span":[27,0,30,1]},{"path":[7,0],"span":[29,2,27],"leadingComments":" See `HttpRule`.\n"},{"path":[7,0,2],"span":[27,7,36]},{"path":[7,0,6],"span":[29,2,10]},{"path":[7,0,1],"span":[29,11,15]},{"path":[7,0,3],"span":[29,18,26]}]},"syntax":"proto3","bufExtension":{"isImport":true,"moduleInfo":{"name":{"remote":"buf.build","owner":"googleapis","repository":"googleapis"},"commit":"83c0f6c19b2f4ea0b0fd84a80e753659"},"isSyntaxUnspecified":false}},{"name":"google/protobuf/empty.proto","package":"google.protobuf","messageType":[{"name":"Empty"}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"EmptyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/emptypb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,50,16]},{"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,69]},{"path":[8,11],"span":[34,0,69]},{"path":[8],"span":[35,0,44]},{"path":[8,1],"span":[35,0,44]},{"path":[8],"span":[36,0,43]},{"path":[8,8],"span":[36,0,43]},{"path":[8],"span":[37,0,34]},{"path":[8,10],"span":[37,0,34]},{"path":[8],"span":[38,0,33]},{"path":[8,36],"span":[38,0,33]},{"path":[8],"span":[39,0,59]},{"path":[8,37],"span":[39,0,59]},{"path":[8],"span":[40,0,31]},{"path":[8,31],"span":[40,0,31]},{"path":[4,0],"span":[50,0,16],"leadingComments":" A generic empty message that you can re-use to avoid defining duplicated\n empty messages in your APIs. A typical example is to use it as the request\n or the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\n"},{"path":[4,0,1],"span":[50,8,13]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"zenoss/cloud/credentials.proto","package":"zenoss.cloud.credentials","dependency":["google/api/annotations.proto","google/protobuf/empty.proto"],"messageType":[{"name":"Credential","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"info","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.credentials.Info","jsonName":"info"},{"name":"secrets","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.credentials.Credential.SecretsEntry","jsonName":"secrets"}],"nestedType":[{"name":"SecretsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Info","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"description","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"tags","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"tags"}]},{"name":"GetCredentialRequest","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"}]},{"name":"GetCredentialResponse","field":[{"name":"credential","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.credentials.Credential","jsonName":"credential"}]}],"service":[{"name":"CredentialManagement","method":[{"name":"GetCredential","inputType":".zenoss.cloud.credentials.GetCredentialRequest","outputType":".zenoss.cloud.credentials.GetCredentialResponse","options":{"[google.api.http]":{"get":"/v1/credentials/{id}"}}}]}],"options":{"javaPackage":"org.zenoss.cloud.credentials","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/credentials"},"sourceCodeInfo":{"location":[{"span":[0,0,36,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,33]},{"path":[3,0],"span":[4,0,38]},{"path":[3,1],"span":[5,0,37]},{"path":[8],"span":[7,0,78]},{"path":[8,11],"span":[7,0,78]},{"path":[8],"span":[8,0,34]},{"path":[8,10],"span":[8,0,34]},{"path":[8],"span":[9,0,53]},{"path":[8,1],"span":[9,0,53]},{"path":[6,0],"span":[11,0,15,1]},{"path":[6,0,1],"span":[11,8,28]},{"path":[6,0,2,0],"span":[12,2,14,3]},{"path":[6,0,2,0,1],"span":[12,6,19]},{"path":[6,0,2,0,2],"span":[12,20,40]},{"path":[6,0,2,0,3],"span":[12,51,72]},{"path":[6,0,2,0,4],"span":[13,4,61]},{"path":[6,0,2,0,4,72295728],"span":[13,4,61]},{"path":[6,0,2,0,4,72295728,2],"span":[13,32,59]},{"path":[4,0],"span":[17,0,21,1]},{"path":[4,0,1],"span":[17,8,18]},{"path":[4,0,2,0],"span":[18,2,16]},{"path":[4,0,2,0,5],"span":[18,2,8]},{"path":[4,0,2,0,1],"span":[18,9,11]},{"path":[4,0,2,0,3],"span":[18,14,15]},{"path":[4,0,2,1],"span":[19,2,16]},{"path":[4,0,2,1,6],"span":[19,2,6]},{"path":[4,0,2,1,1],"span":[19,7,11]},{"path":[4,0,2,1,3],"span":[19,14,15]},{"path":[4,0,2,2],"span":[20,2,34]},{"path":[4,0,2,2,6],"span":[20,2,21]},{"path":[4,0,2,2,1],"span":[20,22,29]},{"path":[4,0,2,2,3],"span":[20,32,33]},{"path":[4,1],"span":[23,0,28,1]},{"path":[4,1,1],"span":[23,8,12]},{"path":[4,1,2,0],"span":[24,2,18]},{"path":[4,1,2,0,5],"span":[24,2,8]},{"path":[4,1,2,0,1],"span":[24,9,13]},{"path":[4,1,2,0,3],"span":[24,16,17]},{"path":[4,1,2,1],"span":[25,2,18]},{"path":[4,1,2,1,5],"span":[25,2,8]},{"path":[4,1,2,1,1],"span":[25,9,13]},{"path":[4,1,2,1,3],"span":[25,16,17]},{"path":[4,1,2,2],"span":[26,2,25]},{"path":[4,1,2,2,5],"span":[26,2,8]},{"path":[4,1,2,2,1],"span":[26,9,20]},{"path":[4,1,2,2,3],"span":[26,23,24]},{"path":[4,1,2,3],"span":[27,2,27]},{"path":[4,1,2,3,4],"span":[27,2,10]},{"path":[4,1,2,3,5],"span":[27,11,17]},{"path":[4,1,2,3,1],"span":[27,18,22]},{"path":[4,1,2,3,3],"span":[27,25,26]},{"path":[4,2],"span":[30,0,32,1]},{"path":[4,2,1],"span":[30,8,28]},{"path":[4,2,2,0],"span":[31,2,16]},{"path":[4,2,2,0,5],"span":[31,2,8]},{"path":[4,2,2,0,1],"span":[31,9,11]},{"path":[4,2,2,0,3],"span":[31,14,15]},{"path":[4,3],"span":[34,0,36,1]},{"path":[4,3,1],"span":[34,8,29]},{"path":[4,3,2,0],"span":[35,2,28]},{"path":[4,3,2,0,6],"span":[35,2,12]},{"path":[4,3,2,0,1],"span":[35,13,23]},{"path":[4,3,2,0,3],"span":[35,26,27]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false,"unusedDependency":[1]}},{"name":"google/protobuf/struct.proto","package":"google.protobuf","messageType":[{"name":"Struct","field":[{"name":"fields","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct.FieldsEntry","jsonName":"fields"}],"nestedType":[{"name":"FieldsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Value","field":[{"name":"null_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","oneofIndex":0,"jsonName":"nullValue"},{"name":"number_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"numberValue"},{"name":"string_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringValue"},{"name":"bool_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolValue"},{"name":"struct_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","oneofIndex":0,"jsonName":"structValue"},{"name":"list_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","oneofIndex":0,"jsonName":"listValue"}],"oneofDecl":[{"name":"kind"}]},{"name":"ListValue","field":[{"name":"values","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"values"}]}],"enumType":[{"name":"NullValue","value":[{"name":"NULL_VALUE","number":0}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"StructProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/structpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,94,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,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,70]},{"path":[8,11],"span":[35,0,70]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,44]},{"path":[8,8],"span":[37,0,44]},{"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":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[50,0,53,1],"leadingComments":" `Struct` represents a structured data value, consisting of fields\n which map to dynamically typed values. In some languages, `Struct`\n might be supported by a native representation. For example, in\n scripting languages like JS a struct is represented as an\n object. The details of that representation are described together\n with the proto support for the language.\n\n The JSON representation for `Struct` is JSON object.\n"},{"path":[4,0,1],"span":[50,8,14]},{"path":[4,0,2,0],"span":[52,2,32],"leadingComments":" Unordered map of dynamically typed values.\n"},{"path":[4,0,2,0,6],"span":[52,2,20]},{"path":[4,0,2,0,1],"span":[52,21,27]},{"path":[4,0,2,0,3],"span":[52,30,31]},{"path":[4,1],"span":[61,0,77,1],"leadingComments":" `Value` represents a dynamically typed value which can be either\n null, a number, a string, a boolean, a recursive struct value, or a\n list of values. A producer of value is expected to set one of these\n variants. Absence of any variant indicates an error.\n\n The JSON representation for `Value` is JSON value.\n"},{"path":[4,1,1],"span":[61,8,13]},{"path":[4,1,8,0],"span":[63,2,76,3],"leadingComments":" The kind of value.\n"},{"path":[4,1,8,0,1],"span":[63,8,12]},{"path":[4,1,2,0],"span":[65,4,29],"leadingComments":" Represents a null value.\n"},{"path":[4,1,2,0,6],"span":[65,4,13]},{"path":[4,1,2,0,1],"span":[65,14,24]},{"path":[4,1,2,0,3],"span":[65,27,28]},{"path":[4,1,2,1],"span":[67,4,28],"leadingComments":" Represents a double value.\n"},{"path":[4,1,2,1,5],"span":[67,4,10]},{"path":[4,1,2,1,1],"span":[67,11,23]},{"path":[4,1,2,1,3],"span":[67,26,27]},{"path":[4,1,2,2],"span":[69,4,28],"leadingComments":" Represents a string value.\n"},{"path":[4,1,2,2,5],"span":[69,4,10]},{"path":[4,1,2,2,1],"span":[69,11,23]},{"path":[4,1,2,2,3],"span":[69,26,27]},{"path":[4,1,2,3],"span":[71,4,24],"leadingComments":" Represents a boolean value.\n"},{"path":[4,1,2,3,5],"span":[71,4,8]},{"path":[4,1,2,3,1],"span":[71,9,19]},{"path":[4,1,2,3,3],"span":[71,22,23]},{"path":[4,1,2,4],"span":[73,4,28],"leadingComments":" Represents a structured value.\n"},{"path":[4,1,2,4,6],"span":[73,4,10]},{"path":[4,1,2,4,1],"span":[73,11,23]},{"path":[4,1,2,4,3],"span":[73,26,27]},{"path":[4,1,2,5],"span":[75,4,29],"leadingComments":" Represents a repeated `Value`.\n"},{"path":[4,1,2,5,6],"span":[75,4,13]},{"path":[4,1,2,5,1],"span":[75,14,24]},{"path":[4,1,2,5,3],"span":[75,27,28]},{"path":[5,0],"span":[83,0,86,1],"leadingComments":" `NullValue` is a singleton enumeration to represent the null value for the\n `Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n"},{"path":[5,0,1],"span":[83,5,14]},{"path":[5,0,2,0],"span":[85,2,17],"leadingComments":" Null value.\n"},{"path":[5,0,2,0,1],"span":[85,2,12]},{"path":[5,0,2,0,2],"span":[85,15,16]},{"path":[4,2],"span":[91,0,94,1],"leadingComments":" `ListValue` is a wrapper around a repeated field of values.\n\n The JSON representation for `ListValue` is JSON array.\n"},{"path":[4,2,1],"span":[91,8,17]},{"path":[4,2,2,0],"span":[93,2,28],"leadingComments":" Repeated field of dynamically typed values.\n"},{"path":[4,2,2,0,4],"span":[93,2,10]},{"path":[4,2,2,0,6],"span":[93,11,16]},{"path":[4,2,2,0,1],"span":[93,17,23]},{"path":[4,2,2,0,3],"span":[93,26,27]}]},"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\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,31]},{"path":[8,31],"span":[44,0,31]},{"path":[8],"span":[45,0,72]},{"path":[8,11],"span":[45,0,72]},{"path":[8],"span":[46,0,44]},{"path":[8,1],"span":[46,0,44]},{"path":[8],"span":[47,0,46]},{"path":[8,8],"span":[47,0,46]},{"path":[8],"span":[48,0,34]},{"path":[8,10],"span":[48,0,34]},{"path":[8],"span":[49,0,33]},{"path":[8,36],"span":[49,0,33]},{"path":[8],"span":[50,0,59]},{"path":[8,37],"span":[50,0,59]},{"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":"zenoss/cloud/data_receiver.proto","package":"zenoss.cloud","dependency":["google/api/annotations.proto","google/protobuf/struct.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"CollectionResult","field":[{"name":"events","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","jsonName":"events"},{"name":"models","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model","jsonName":"models"},{"name":"metrics","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metrics"}]},{"name":"Void"},{"name":"Event","field":[{"name":"timestamp","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"dimensions","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event.DimensionsEntry","jsonName":"dimensions"},{"name":"metadataFields","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"summary","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"summary"},{"name":"body","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"body"},{"name":"severity","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.Severity","jsonName":"severity"},{"name":"status","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.Status","jsonName":"status"},{"name":"acknowledged","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"acknowledged"}],"nestedType":[{"name":"DimensionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Events","field":[{"name":"detailedResponse","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"detailedResponse"},{"name":"events","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","jsonName":"events"}]},{"name":"EventError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"event","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","jsonName":"event"}]},{"name":"TaggedMetric","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"metric"},{"name":"timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"},{"name":"tags","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric.TagsEntry","jsonName":"tags"}],"nestedType":[{"name":"TagsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"CompactMetric","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"Metric","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"metric"},{"name":"timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"},{"name":"dimensions","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric.DimensionsEntry","jsonName":"dimensions"},{"name":"metadataFields","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"}],"nestedType":[{"name":"DimensionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Model","field":[{"name":"timestamp","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"},{"name":"dimensions","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model.DimensionsEntry","jsonName":"dimensions"},{"name":"metadataFields","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"}],"nestedType":[{"name":"DimensionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Models","field":[{"name":"detailedResponse","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"detailedResponse"},{"name":"models","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model","jsonName":"models"}]},{"name":"ModelError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"model","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Model","jsonName":"model"}]},{"name":"EventStatusResult","field":[{"name":"failed","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"failed"},{"name":"succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"succeeded"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"failedEvents","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.EventError","jsonName":"failedEvents"}]},{"name":"ModelStatusResult","field":[{"name":"failed","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"failed"},{"name":"succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"succeeded"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"failedModels","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.ModelError","jsonName":"failedModels"}]},{"name":"StatusResult","field":[{"name":"failed","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"failed"},{"name":"succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"succeeded"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"failedCompactMetrics","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetricError","jsonName":"failedCompactMetrics"},{"name":"failedTaggedMetrics","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetricError","jsonName":"failedTaggedMetrics"},{"name":"failedMetrics","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricError","jsonName":"failedMetrics"}]},{"name":"EventWrapper","field":[{"name":"canonical","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Event","oneofIndex":0,"jsonName":"canonical"}],"oneofDecl":[{"name":"event_type"}]},{"name":"MetricWrapper","field":[{"name":"tagged","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric","oneofIndex":0,"jsonName":"tagged"},{"name":"compact","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetric","oneofIndex":0,"jsonName":"compact"},{"name":"canonical","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","oneofIndex":0,"jsonName":"canonical"}],"oneofDecl":[{"name":"metric_type"}]},{"name":"MetricBatch","field":[{"name":"global_tags","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricBatch.GlobalTagsEntry","jsonName":"globalTags"},{"name":"metrics","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricWrapper","jsonName":"metrics"}],"nestedType":[{"name":"GlobalTagsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"CompactMetricError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"metric","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetric","jsonName":"metric"}]},{"name":"MetricError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"metric","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metric"}]},{"name":"TaggedMetricError","field":[{"name":"error","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"},{"name":"metric","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric","jsonName":"metric"}]},{"name":"Metrics","field":[{"name":"detailedResponse","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"detailedResponse"},{"name":"compactMetrics","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.CompactMetric","jsonName":"compactMetrics"},{"name":"taggedMetrics","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.TaggedMetric","jsonName":"taggedMetrics"},{"name":"metrics","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metrics"}]}],"enumType":[{"name":"Severity","value":[{"name":"SEVERITY_DEFAULT","number":0},{"name":"SEVERITY_DEBUG","number":1},{"name":"SEVERITY_INFO","number":2},{"name":"SEVERITY_WARNING","number":3},{"name":"SEVERITY_ERROR","number":4},{"name":"SEVERITY_CRITICAL","number":5}]},{"name":"Status","value":[{"name":"STATUS_DEFAULT","number":0},{"name":"STATUS_OPEN","number":1},{"name":"STATUS_SUPPRESSED","number":2},{"name":"STATUS_CLOSED","number":3}]}],"service":[{"name":"DataReceiverService","method":[{"name":"PutEvents","inputType":".zenoss.cloud.Events","outputType":".zenoss.cloud.EventStatusResult","options":{"[google.api.http]":{"post":"/v1/data-receiver/events","body":"*"}}},{"name":"PutEvent","inputType":".zenoss.cloud.EventWrapper","outputType":".zenoss.cloud.Void","options":{},"clientStreaming":true},{"name":"PutMetrics","inputType":".zenoss.cloud.Metrics","outputType":".zenoss.cloud.StatusResult","options":{"[google.api.http]":{"post":"/v1/data-receiver/metrics","body":"*"}}},{"name":"PutMetric","inputType":".zenoss.cloud.MetricWrapper","outputType":".zenoss.cloud.Void","options":{},"clientStreaming":true},{"name":"PutModels","inputType":".zenoss.cloud.Models","outputType":".zenoss.cloud.ModelStatusResult","options":{"[google.api.http]":{"post":"/v1/data-receiver/models","body":"*"}}}]}],"options":{"javaPackage":"org.zenoss.cloud.dataReceiver","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/data_receiver"},"sourceCodeInfo":{"location":[{"span":[0,0,289,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,21]},{"path":[3,0],"span":[4,0,38]},{"path":[3,1],"span":[5,0,38]},{"path":[3,2],"span":[6,0,40]},{"path":[8],"span":[8,0,80]},{"path":[8,11],"span":[8,0,80]},{"path":[8],"span":[9,0,34]},{"path":[8,10],"span":[9,0,34]},{"path":[8],"span":[10,0,54]},{"path":[8,1],"span":[10,0,54]},{"path":[4,0],"span":[12,0,16,1]},{"path":[4,0,1],"span":[12,8,24]},{"path":[4,0,2,0],"span":[13,2,28]},{"path":[4,0,2,0,4],"span":[13,2,10]},{"path":[4,0,2,0,6],"span":[13,11,16]},{"path":[4,0,2,0,1],"span":[13,17,23]},{"path":[4,0,2,0,3],"span":[13,26,27]},{"path":[4,0,2,1],"span":[14,2,28]},{"path":[4,0,2,1,4],"span":[14,2,10]},{"path":[4,0,2,1,6],"span":[14,11,16]},{"path":[4,0,2,1,1],"span":[14,17,23]},{"path":[4,0,2,1,3],"span":[14,26,27]},{"path":[4,0,2,2],"span":[15,2,30]},{"path":[4,0,2,2,4],"span":[15,2,10]},{"path":[4,0,2,2,6],"span":[15,11,17]},{"path":[4,0,2,2,1],"span":[15,18,25]},{"path":[4,0,2,2,3],"span":[15,28,29]},{"path":[4,1],"span":[18,0,15]},{"path":[4,1,1],"span":[18,8,12]},{"path":[4,2],"span":[22,0,72,1],"leadingComments":" Public Event struct.\n Note the conspicuous absence of 'id' and 'tenant' which are inferred by auth.\n"},{"path":[4,2,1],"span":[22,8,13]},{"path":[4,2,2,0],"span":[24,2,22],"leadingComments":" timestamp is the time (in ms since epoch) at which the event occurred.\n"},{"path":[4,2,2,0,5],"span":[24,2,7]},{"path":[4,2,2,0,1],"span":[24,8,17]},{"path":[4,2,2,0,3],"span":[24,20,21]},{"path":[4,2,2,1],"span":[30,2,18],"leadingComments":" name, when combined with dimensions, makes this event unique.\n - should be set to the ID for systems that have an event ID concept\n - otherwise the same as \"type\"\n - e.g. linkDown, fault-F0157, adaeff80-b1b0-47fe-92a1-69e958145e10\n"},{"path":[4,2,2,1,5],"span":[30,2,8]},{"path":[4,2,2,1,1],"span":[30,9,13]},{"path":[4,2,2,1,3],"span":[30,16,17]},{"path":[4,2,2,2],"span":[35,2,37],"leadingComments":" Dimensions associated with this event.\n Dimensions, when combined with name, make this event unique.\n - typically set the same as the entity to which event is related\n"},{"path":[4,2,2,2,6],"span":[35,2,21]},{"path":[4,2,2,2,1],"span":[35,22,32]},{"path":[4,2,2,2,3],"span":[35,35,36]},{"path":[4,2,2,3],"span":[38,2,44],"leadingComments":" Fields associated with this event.\n"},{"path":[4,2,2,3,6],"span":[38,2,24]},{"path":[4,2,2,3,1],"span":[38,25,39]},{"path":[4,2,2,3,3],"span":[38,42,43]},{"path":[4,2,2,4],"span":[43,2,18],"leadingComments":" type uniquely identifies the context-free type of event.\n - typically set the same as \"name\" for systems that have an event ID.\n - e.g. linkDown, fault-F0157\n"},{"path":[4,2,2,4,5],"span":[43,2,8]},{"path":[4,2,2,4,1],"span":[43,9,13]},{"path":[4,2,2,4,3],"span":[43,16,17]},{"path":[4,2,2,5],"span":[48,2,21],"leadingComments":" summary is a short (<128 character) summary of the event.\n - most commonly displayed per-event field\n - highly recommend to set this\n"},{"path":[4,2,2,5,5],"span":[48,2,8]},{"path":[4,2,2,5,1],"span":[48,9,16]},{"path":[4,2,2,5,3],"span":[48,19,20]},{"path":[4,2,2,6],"span":[52,2,18],"leadingComments":" body is a long (? character) further description of the event.\n - it is not necessary to repeat summary in the body\n"},{"path":[4,2,2,6,5],"span":[52,2,8]},{"path":[4,2,2,6,1],"span":[52,9,13]},{"path":[4,2,2,6,3],"span":[52,16,17]},{"path":[4,2,2,7],"span":[61,2,24],"leadingComments":" severity defines how severe the event is.\n - use SEVERITY_DEFAULT when not currently known\n - use SEVERITY_DEBUG when not severe enough to show by default\n - use SEVERITY_INFO when when no action is likely required\n - use SEVERITY_WARNING when delayed action may be required\n - use SEVERITY_ERROR when system is degraded, but not down\n - use SEVERITY_CRITICAL for system down\n"},{"path":[4,2,2,7,6],"span":[61,2,10]},{"path":[4,2,2,7,1],"span":[61,11,19]},{"path":[4,2,2,7,3],"span":[61,22,23]},{"path":[4,2,2,8],"span":[68,2,20],"leadingComments":" status defines the event's disposition from the system perspective.\n - use STATUS_DEFAULT when not currently known\n - use STATUS_OPEN when event is known to be actively ongoing\n - use STATUS_SUPPRESSED when event should be suppressed\n - use STATUS_CLOSED when the event is known to have subsided\n"},{"path":[4,2,2,8,6],"span":[68,2,8]},{"path":[4,2,2,8,1],"span":[68,9,15]},{"path":[4,2,2,8,3],"span":[68,18,19]},{"path":[4,2,2,9],"span":[71,2,46],"leadingComments":" acknowledged explicitly sets the events acknowledged state.\n"},{"path":[4,2,2,9,6],"span":[71,2,27]},{"path":[4,2,2,9,1],"span":[71,28,40]},{"path":[4,2,2,9,3],"span":[71,43,45]},{"path":[5,0],"span":[74,0,81,1]},{"path":[5,0,1],"span":[74,5,13]},{"path":[5,0,2,0],"span":[75,2,23]},{"path":[5,0,2,0,1],"span":[75,2,18]},{"path":[5,0,2,0,2],"span":[75,21,22]},{"path":[5,0,2,1],"span":[76,2,21]},{"path":[5,0,2,1,1],"span":[76,2,16]},{"path":[5,0,2,1,2],"span":[76,19,20]},{"path":[5,0,2,2],"span":[77,2,20]},{"path":[5,0,2,2,1],"span":[77,2,15]},{"path":[5,0,2,2,2],"span":[77,18,19]},{"path":[5,0,2,3],"span":[78,2,23]},{"path":[5,0,2,3,1],"span":[78,2,18]},{"path":[5,0,2,3,2],"span":[78,21,22]},{"path":[5,0,2,4],"span":[79,2,21]},{"path":[5,0,2,4,1],"span":[79,2,16]},{"path":[5,0,2,4,2],"span":[79,19,20]},{"path":[5,0,2,5],"span":[80,2,24]},{"path":[5,0,2,5,1],"span":[80,2,19]},{"path":[5,0,2,5,2],"span":[80,22,23]},{"path":[5,1],"span":[83,0,88,1]},{"path":[5,1,1],"span":[83,5,11]},{"path":[5,1,2,0],"span":[84,2,21]},{"path":[5,1,2,0,1],"span":[84,2,16]},{"path":[5,1,2,0,2],"span":[84,19,20]},{"path":[5,1,2,1],"span":[85,2,18]},{"path":[5,1,2,1,1],"span":[85,2,13]},{"path":[5,1,2,1,2],"span":[85,16,17]},{"path":[5,1,2,2],"span":[86,2,24]},{"path":[5,1,2,2,1],"span":[86,2,19]},{"path":[5,1,2,2,2],"span":[86,22,23]},{"path":[5,1,2,3],"span":[87,2,20]},{"path":[5,1,2,3,1],"span":[87,2,15]},{"path":[5,1,2,3,2],"span":[87,18,19]},{"path":[4,3],"span":[90,0,96,1]},{"path":[4,3,1],"span":[90,8,14]},{"path":[4,3,2,0],"span":[92,2,28],"leadingComments":" detailedResponse: if true, return any events that failed to be sent.\n"},{"path":[4,3,2,0,5],"span":[92,2,6]},{"path":[4,3,2,0,1],"span":[92,7,23]},{"path":[4,3,2,0,3],"span":[92,26,27]},{"path":[4,3,2,1],"span":[95,2,28],"leadingComments":" The events\n"},{"path":[4,3,2,1,4],"span":[95,2,10]},{"path":[4,3,2,1,6],"span":[95,11,16]},{"path":[4,3,2,1,1],"span":[95,17,23]},{"path":[4,3,2,1,3],"span":[95,26,27]},{"path":[4,4],"span":[98,0,101,1]},{"path":[4,4,1],"span":[98,8,18]},{"path":[4,4,2,0],"span":[99,2,19]},{"path":[4,4,2,0,5],"span":[99,2,8]},{"path":[4,4,2,0,1],"span":[99,9,14]},{"path":[4,4,2,0,3],"span":[99,17,18]},{"path":[4,4,2,1],"span":[100,2,18]},{"path":[4,4,2,1,6],"span":[100,2,7]},{"path":[4,4,2,1,1],"span":[100,8,13]},{"path":[4,4,2,1,3],"span":[100,16,17]},{"path":[4,5],"span":[103,0,115,1]},{"path":[4,5,1],"span":[103,8,20]},{"path":[4,5,2,0],"span":[105,2,20],"leadingComments":" The metric name\n"},{"path":[4,5,2,0,5],"span":[105,2,8]},{"path":[4,5,2,0,1],"span":[105,9,15]},{"path":[4,5,2,0,3],"span":[105,18,19]},{"path":[4,5,2,1],"span":[108,2,22],"leadingComments":" The time at which the value was captured\n"},{"path":[4,5,2,1,5],"span":[108,2,7]},{"path":[4,5,2,1,1],"span":[108,8,17]},{"path":[4,5,2,1,3],"span":[108,20,21]},{"path":[4,5,2,2],"span":[111,2,19],"leadingComments":" The metric value\n"},{"path":[4,5,2,2,5],"span":[111,2,8]},{"path":[4,5,2,2,1],"span":[111,9,14]},{"path":[4,5,2,2,3],"span":[111,17,18]},{"path":[4,5,2,3],"span":[114,2,31],"leadingComments":" Metadata associated with this datapoint.\n"},{"path":[4,5,2,3,6],"span":[114,2,21]},{"path":[4,5,2,3,1],"span":[114,22,26]},{"path":[4,5,2,3,3],"span":[114,29,30]},{"path":[4,6],"span":[117,0,126,1]},{"path":[4,6,1],"span":[117,8,21]},{"path":[4,6,2,0],"span":[119,2,16],"leadingComments":" The metric id\n"},{"path":[4,6,2,0,5],"span":[119,2,8]},{"path":[4,6,2,0,1],"span":[119,9,11]},{"path":[4,6,2,0,3],"span":[119,14,15]},{"path":[4,6,2,1],"span":[122,2,22],"leadingComments":" The time at which the value was captured\n"},{"path":[4,6,2,1,5],"span":[122,2,7]},{"path":[4,6,2,1,1],"span":[122,8,17]},{"path":[4,6,2,1,3],"span":[122,20,21]},{"path":[4,6,2,2],"span":[125,2,19],"leadingComments":" The metric value\n"},{"path":[4,6,2,2,5],"span":[125,2,8]},{"path":[4,6,2,2,1],"span":[125,9,14]},{"path":[4,6,2,2,3],"span":[125,17,18]},{"path":[4,7],"span":[129,0,144,1],"leadingComments":" Canonical Metric format\n"},{"path":[4,7,1],"span":[129,8,14]},{"path":[4,7,2,0],"span":[131,2,20],"leadingComments":" The metric name\n"},{"path":[4,7,2,0,5],"span":[131,2,8]},{"path":[4,7,2,0,1],"span":[131,9,15]},{"path":[4,7,2,0,3],"span":[131,18,19]},{"path":[4,7,2,1],"span":[134,2,22],"leadingComments":" The time at which the value was captured\n"},{"path":[4,7,2,1,5],"span":[134,2,7]},{"path":[4,7,2,1,1],"span":[134,8,17]},{"path":[4,7,2,1,3],"span":[134,20,21]},{"path":[4,7,2,2],"span":[137,2,19],"leadingComments":" The metric value\n"},{"path":[4,7,2,2,5],"span":[137,2,8]},{"path":[4,7,2,2,1],"span":[137,9,14]},{"path":[4,7,2,2,3],"span":[137,17,18]},{"path":[4,7,2,3],"span":[140,2,37],"leadingComments":" Dimensions associated with this datapoint.\n"},{"path":[4,7,2,3,6],"span":[140,2,21]},{"path":[4,7,2,3,1],"span":[140,22,32]},{"path":[4,7,2,3,3],"span":[140,35,36]},{"path":[4,7,2,4],"span":[143,2,44],"leadingComments":" Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations\n"},{"path":[4,7,2,4,6],"span":[143,2,24]},{"path":[4,7,2,4,1],"span":[143,25,39]},{"path":[4,7,2,4,3],"span":[143,42,43]},{"path":[4,8],"span":[146,0,155,1]},{"path":[4,8,1],"span":[146,8,13]},{"path":[4,8,2,0],"span":[148,2,22],"leadingComments":" The time when the value was sent.\n"},{"path":[4,8,2,0,5],"span":[148,2,7]},{"path":[4,8,2,0,1],"span":[148,8,17]},{"path":[4,8,2,0,3],"span":[148,20,21]},{"path":[4,8,2,1],"span":[151,2,37],"leadingComments":" Dimensions associated with this model.\n"},{"path":[4,8,2,1,6],"span":[151,2,21]},{"path":[4,8,2,1,1],"span":[151,22,32]},{"path":[4,8,2,1,3],"span":[151,35,36]},{"path":[4,8,2,2],"span":[154,2,44],"leadingComments":" Fields associated with this model.\n"},{"path":[4,8,2,2,6],"span":[154,2,24]},{"path":[4,8,2,2,1],"span":[154,25,39]},{"path":[4,8,2,2,3],"span":[154,42,43]},{"path":[4,9],"span":[157,0,163,1]},{"path":[4,9,1],"span":[157,8,14]},{"path":[4,9,2,0],"span":[159,2,28],"leadingComments":" detailedResponse if set to true will return any models that failed to be sent\n"},{"path":[4,9,2,0,5],"span":[159,2,6]},{"path":[4,9,2,0,1],"span":[159,7,23]},{"path":[4,9,2,0,3],"span":[159,26,27]},{"path":[4,9,2,1],"span":[162,2,28],"leadingComments":" The models\n"},{"path":[4,9,2,1,4],"span":[162,2,10]},{"path":[4,9,2,1,6],"span":[162,11,16]},{"path":[4,9,2,1,1],"span":[162,17,23]},{"path":[4,9,2,1,3],"span":[162,26,27]},{"path":[4,10],"span":[165,0,168,1]},{"path":[4,10,1],"span":[165,8,18]},{"path":[4,10,2,0],"span":[166,2,19]},{"path":[4,10,2,0,5],"span":[166,2,8]},{"path":[4,10,2,0,1],"span":[166,9,14]},{"path":[4,10,2,0,3],"span":[166,17,18]},{"path":[4,10,2,1],"span":[167,2,18]},{"path":[4,10,2,1,6],"span":[167,2,7]},{"path":[4,10,2,1,1],"span":[167,8,13]},{"path":[4,10,2,1,3],"span":[167,16,17]},{"path":[4,11],"span":[170,0,179,1]},{"path":[4,11,1],"span":[170,8,25]},{"path":[4,11,2,0],"span":[172,2,19],"leadingComments":" failed is the count of events that failed to be accepted\n"},{"path":[4,11,2,0,5],"span":[172,2,7]},{"path":[4,11,2,0,1],"span":[172,8,14]},{"path":[4,11,2,0,3],"span":[172,17,18]},{"path":[4,11,2,1],"span":[174,2,22],"leadingComments":" succeeded is the count of events that were accepted\n"},{"path":[4,11,2,1,5],"span":[174,2,7]},{"path":[4,11,2,1,1],"span":[174,8,17]},{"path":[4,11,2,1,3],"span":[174,20,21]},{"path":[4,11,2,2],"span":[176,2,21],"leadingComments":" message is an informational message that may or may not be set\n"},{"path":[4,11,2,2,5],"span":[176,2,8]},{"path":[4,11,2,2,1],"span":[176,9,16]},{"path":[4,11,2,2,3],"span":[176,19,20]},{"path":[4,11,2,3],"span":[178,2,39],"leadingComments":" Failed events only returned if detailedResponse is set to true\n"},{"path":[4,11,2,3,4],"span":[178,2,10]},{"path":[4,11,2,3,6],"span":[178,11,21]},{"path":[4,11,2,3,1],"span":[178,22,34]},{"path":[4,11,2,3,3],"span":[178,37,38]},{"path":[4,12],"span":[181,0,190,1]},{"path":[4,12,1],"span":[181,8,25]},{"path":[4,12,2,0],"span":[183,2,19],"leadingComments":" failed is the count of models that failed to be accepted\n"},{"path":[4,12,2,0,5],"span":[183,2,7]},{"path":[4,12,2,0,1],"span":[183,8,14]},{"path":[4,12,2,0,3],"span":[183,17,18]},{"path":[4,12,2,1],"span":[185,2,22],"leadingComments":" succeeded is the count of models that were accepted\n"},{"path":[4,12,2,1,5],"span":[185,2,7]},{"path":[4,12,2,1,1],"span":[185,8,17]},{"path":[4,12,2,1,3],"span":[185,20,21]},{"path":[4,12,2,2],"span":[187,2,21],"leadingComments":" message is an informational message that may or may not be set\n"},{"path":[4,12,2,2,5],"span":[187,2,8]},{"path":[4,12,2,2,1],"span":[187,9,16]},{"path":[4,12,2,2,3],"span":[187,19,20]},{"path":[4,12,2,3],"span":[189,2,39],"leadingComments":" Failed models only returned if detailedResponse is set to true\n"},{"path":[4,12,2,3,4],"span":[189,2,10]},{"path":[4,12,2,3,6],"span":[189,11,21]},{"path":[4,12,2,3,1],"span":[189,22,34]},{"path":[4,12,2,3,3],"span":[189,37,38]},{"path":[4,13],"span":[192,0,203,1]},{"path":[4,13,1],"span":[192,8,20]},{"path":[4,13,2,0],"span":[194,2,19],"leadingComments":" failed is the count of metrics that failed to be accepted\n"},{"path":[4,13,2,0,5],"span":[194,2,7]},{"path":[4,13,2,0,1],"span":[194,8,14]},{"path":[4,13,2,0,3],"span":[194,17,18]},{"path":[4,13,2,1],"span":[196,2,22],"leadingComments":" succeeded is the count of metrics that were accepted\n"},{"path":[4,13,2,1,5],"span":[196,2,7]},{"path":[4,13,2,1,1],"span":[196,8,17]},{"path":[4,13,2,1,3],"span":[196,20,21]},{"path":[4,13,2,2],"span":[198,2,21],"leadingComments":" message is an informational message that may or may not be set\n"},{"path":[4,13,2,2,5],"span":[198,2,8]},{"path":[4,13,2,2,1],"span":[198,9,16]},{"path":[4,13,2,2,3],"span":[198,19,20]},{"path":[4,13,2,3],"span":[200,2,55],"leadingComments":"Failed metrics only returned if detailedResponse is set to true\n"},{"path":[4,13,2,3,4],"span":[200,2,10]},{"path":[4,13,2,3,6],"span":[200,11,29]},{"path":[4,13,2,3,1],"span":[200,30,50]},{"path":[4,13,2,3,3],"span":[200,53,54]},{"path":[4,13,2,4],"span":[201,2,53]},{"path":[4,13,2,4,4],"span":[201,2,10]},{"path":[4,13,2,4,6],"span":[201,11,28]},{"path":[4,13,2,4,1],"span":[201,29,48]},{"path":[4,13,2,4,3],"span":[201,51,52]},{"path":[4,13,2,5],"span":[202,2,41]},{"path":[4,13,2,5,4],"span":[202,2,10]},{"path":[4,13,2,5,6],"span":[202,11,22]},{"path":[4,13,2,5,1],"span":[202,23,36]},{"path":[4,13,2,5,3],"span":[202,39,40]},{"path":[4,14],"span":[205,0,210,1]},{"path":[4,14,1],"span":[205,8,20]},{"path":[4,14,8,0],"span":[206,2,209,3]},{"path":[4,14,8,0,1],"span":[206,8,18]},{"path":[4,14,2,0],"span":[208,4,24],"leadingComments":" Canonical format\n"},{"path":[4,14,2,0,6],"span":[208,4,9]},{"path":[4,14,2,0,1],"span":[208,10,19]},{"path":[4,14,2,0,3],"span":[208,22,23]},{"path":[4,15],"span":[212,0,223,1]},{"path":[4,15,1],"span":[212,8,21]},{"path":[4,15,8,0],"span":[213,2,222,3]},{"path":[4,15,8,0,1],"span":[213,8,19]},{"path":[4,15,2,0],"span":[215,4,28],"leadingComments":" Verbose format\n"},{"path":[4,15,2,0,6],"span":[215,4,16]},{"path":[4,15,2,0,1],"span":[215,17,23]},{"path":[4,15,2,0,3],"span":[215,26,27]},{"path":[4,15,2,1],"span":[218,4,30],"leadingComments":" Compact format\n"},{"path":[4,15,2,1,6],"span":[218,4,17]},{"path":[4,15,2,1,1],"span":[218,18,25]},{"path":[4,15,2,1,3],"span":[218,28,29]},{"path":[4,15,2,2],"span":[221,4,25],"leadingComments":" Canonical format\n"},{"path":[4,15,2,2,6],"span":[221,4,10]},{"path":[4,15,2,2,1],"span":[221,11,20]},{"path":[4,15,2,2,3],"span":[221,23,24]},{"path":[4,16],"span":[226,0,232,1],"leadingComments":" DEPRECATED Batch of metrics\n"},{"path":[4,16,1],"span":[226,8,19]},{"path":[4,16,2,0],"span":[228,2,38],"leadingComments":" Tags that apply to all metrics in the batch\n"},{"path":[4,16,2,0,6],"span":[228,2,21]},{"path":[4,16,2,0,1],"span":[228,22,33]},{"path":[4,16,2,0,3],"span":[228,36,37]},{"path":[4,16,2,1],"span":[231,2,37],"leadingComments":" The metrics\n"},{"path":[4,16,2,1,4],"span":[231,2,10]},{"path":[4,16,2,1,6],"span":[231,11,24]},{"path":[4,16,2,1,1],"span":[231,25,32]},{"path":[4,16,2,1,3],"span":[231,35,36]},{"path":[4,17],"span":[234,0,237,1]},{"path":[4,17,1],"span":[234,8,26]},{"path":[4,17,2,0],"span":[235,2,19]},{"path":[4,17,2,0,5],"span":[235,2,8]},{"path":[4,17,2,0,1],"span":[235,9,14]},{"path":[4,17,2,0,3],"span":[235,17,18]},{"path":[4,17,2,1],"span":[236,2,27]},{"path":[4,17,2,1,6],"span":[236,2,15]},{"path":[4,17,2,1,1],"span":[236,16,22]},{"path":[4,17,2,1,3],"span":[236,25,26]},{"path":[4,18],"span":[239,0,242,1]},{"path":[4,18,1],"span":[239,8,19]},{"path":[4,18,2,0],"span":[240,2,19]},{"path":[4,18,2,0,5],"span":[240,2,8]},{"path":[4,18,2,0,1],"span":[240,9,14]},{"path":[4,18,2,0,3],"span":[240,17,18]},{"path":[4,18,2,1],"span":[241,2,20]},{"path":[4,18,2,1,6],"span":[241,2,8]},{"path":[4,18,2,1,1],"span":[241,9,15]},{"path":[4,18,2,1,3],"span":[241,18,19]},{"path":[4,19],"span":[244,0,247,1]},{"path":[4,19,1],"span":[244,8,25]},{"path":[4,19,2,0],"span":[245,2,19]},{"path":[4,19,2,0,5],"span":[245,2,8]},{"path":[4,19,2,0,1],"span":[245,9,14]},{"path":[4,19,2,0,3],"span":[245,17,18]},{"path":[4,19,2,1],"span":[246,2,26]},{"path":[4,19,2,1,6],"span":[246,2,14]},{"path":[4,19,2,1,1],"span":[246,15,21]},{"path":[4,19,2,1,3],"span":[246,24,25]},{"path":[4,20],"span":[249,0,256,1]},{"path":[4,20,1],"span":[249,8,15]},{"path":[4,20,2,0],"span":[251,2,28],"leadingComments":" detailedResponse if set to true will return any metrics that failed to be sent\n"},{"path":[4,20,2,0,5],"span":[251,2,6]},{"path":[4,20,2,0,1],"span":[251,7,23]},{"path":[4,20,2,0,3],"span":[251,26,27]},{"path":[4,20,2,1],"span":[253,2,44]},{"path":[4,20,2,1,4],"span":[253,2,10]},{"path":[4,20,2,1,6],"span":[253,11,24]},{"path":[4,20,2,1,1],"span":[253,25,39]},{"path":[4,20,2,1,3],"span":[253,42,43]},{"path":[4,20,2,2],"span":[254,2,42]},{"path":[4,20,2,2,4],"span":[254,2,10]},{"path":[4,20,2,2,6],"span":[254,11,23]},{"path":[4,20,2,2,1],"span":[254,24,37]},{"path":[4,20,2,2,3],"span":[254,40,41]},{"path":[4,20,2,3],"span":[255,2,30]},{"path":[4,20,2,3,4],"span":[255,2,10]},{"path":[4,20,2,3,6],"span":[255,11,17]},{"path":[4,20,2,3,1],"span":[255,18,25]},{"path":[4,20,2,3,3],"span":[255,28,29]},{"path":[6,0],"span":[259,0,289,1],"leadingComments":" Data Receiver API\n"},{"path":[6,0,1],"span":[259,8,27]},{"path":[6,0,2,0],"span":[261,2,266,3],"leadingComments":" Send Events\n"},{"path":[6,0,2,0,1],"span":[261,6,15]},{"path":[6,0,2,0,2],"span":[261,16,22]},{"path":[6,0,2,0,3],"span":[261,33,50]},{"path":[6,0,2,0,4],"span":[262,4,265,6]},{"path":[6,0,2,0,4,72295728],"span":[262,4,265,6]},{"path":[6,0,2,0,4,72295728,4],"span":[263,6,38]},{"path":[6,0,2,0,4,72295728,7],"span":[264,6,15]},{"path":[6,0,2,1],"span":[269,2,53],"leadingComments":" Stream Events of any type.\n"},{"path":[6,0,2,1,1],"span":[269,6,14]},{"path":[6,0,2,1,5],"span":[269,15,21]},{"path":[6,0,2,1,2],"span":[269,22,34]},{"path":[6,0,2,1,3],"span":[269,45,49]},{"path":[6,0,2,2],"span":[272,2,277,3],"leadingComments":" Send Metrics\n"},{"path":[6,0,2,2,1],"span":[272,6,16]},{"path":[6,0,2,2,2],"span":[272,17,24]},{"path":[6,0,2,2,3],"span":[272,35,47]},{"path":[6,0,2,2,4],"span":[273,4,276,6]},{"path":[6,0,2,2,4,72295728],"span":[273,4,276,6]},{"path":[6,0,2,2,4,72295728,4],"span":[274,6,39]},{"path":[6,0,2,2,4,72295728,7],"span":[275,6,15]},{"path":[6,0,2,3],"span":[280,2,55],"leadingComments":" Stream Metric of any type\n"},{"path":[6,0,2,3,1],"span":[280,6,15]},{"path":[6,0,2,3,5],"span":[280,16,22]},{"path":[6,0,2,3,2],"span":[280,23,36]},{"path":[6,0,2,3,3],"span":[280,47,51]},{"path":[6,0,2,4],"span":[283,2,288,3],"leadingComments":" Send batch of models\n"},{"path":[6,0,2,4,1],"span":[283,6,15]},{"path":[6,0,2,4,2],"span":[283,16,22]},{"path":[6,0,2,4,3],"span":[283,33,50]},{"path":[6,0,2,4,4],"span":[284,4,287,6]},{"path":[6,0,2,4,4,72295728],"span":[284,4,287,6]},{"path":[6,0,2,4,4,72295728,4],"span":[285,6,38]},{"path":[6,0,2,4,4,72295728,7],"span":[286,6,15]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"zenoss/cloud/data_registry.proto","package":"zenoss.cloud","dependency":["google/protobuf/struct.proto","zenoss/cloud/data_receiver.proto"],"messageType":[{"name":"Definition","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"metric"},{"name":"dimensions","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"dimensions"},{"name":"metadataFields","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"update_mode","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"}]},{"name":"DefinitionUpdate","field":[{"name":"definition_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"definitionId"},{"name":"metadataFields","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"update_mode","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"}]},{"name":"RegisterMetricRequest","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.MetricWrapper","jsonName":"metric"},{"name":"update_mode","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"}]},{"name":"UpdateMetricRequest","field":[{"name":"instanceId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"instanceId"},{"name":"metadataFields","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"metadataFields"},{"name":"update_mode","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".zenoss.cloud.UpdateMode","jsonName":"updateMode"},{"name":"timestamp","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"timestamp"}]},{"name":"RegisterMetricResponse","field":[{"name":"instanceId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"instanceId"},{"name":"definitionId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"definitionId"},{"name":"name","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}]},{"name":"RegisterMetricVerboseResponse","field":[{"name":"response","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.RegisterMetricResponse","jsonName":"response"},{"name":"error","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"error"}]},{"name":"RegisterMetricsResponse","field":[{"name":"responses","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.RegisterMetricVerboseResponse","jsonName":"responses"}]},{"name":"DefinitionResponse","field":[{"name":"definitionId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"definitionId"}]},{"name":"GetMetricRequest","field":[{"name":"instanceId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"instanceId"}]},{"name":"GetMetricResponse","field":[{"name":"metric","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".zenoss.cloud.Metric","jsonName":"metric"}]}],"enumType":[{"name":"UpdateMode","value":[{"name":"MERGE","number":0},{"name":"REPLACE","number":1},{"name":"REPLACEALL","number":2}]}],"service":[{"name":"DataRegistryService","method":[{"name":"CreateOrUpdateMetric","inputType":".zenoss.cloud.RegisterMetricRequest","outputType":".zenoss.cloud.RegisterMetricResponse","options":{}},{"name":"CreateOrUpdateMetrics","inputType":".zenoss.cloud.RegisterMetricRequest","outputType":".zenoss.cloud.RegisterMetricsResponse","options":{},"clientStreaming":true},{"name":"UpdateMetric","inputType":".zenoss.cloud.UpdateMetricRequest","outputType":".zenoss.cloud.RegisterMetricResponse","options":{}},{"name":"RegisterDefinition","inputType":".zenoss.cloud.Definition","outputType":".zenoss.cloud.DefinitionResponse","options":{}},{"name":"UpdateDefinition","inputType":".zenoss.cloud.DefinitionUpdate","outputType":".zenoss.cloud.DefinitionResponse","options":{}},{"name":"GetMetric","inputType":".zenoss.cloud.GetMetricRequest","outputType":".zenoss.cloud.GetMetricResponse","options":{}}]}],"options":{"javaPackage":"org.zenoss.cloud.dataRegistry","javaMultipleFiles":true,"goPackage":"github.com/zenoss/zenoss-protobufs/go/cloud/data-registry"},"sourceCodeInfo":{"location":[{"span":[0,0,96,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,21]},{"path":[3,0],"span":[4,0,38]},{"path":[3,1],"span":[5,0,42]},{"path":[8],"span":[7,0,80]},{"path":[8,11],"span":[7,0,80]},{"path":[8],"span":[8,0,34]},{"path":[8,10],"span":[8,0,34]},{"path":[8],"span":[9,0,54]},{"path":[8,1],"span":[9,0,54]},{"path":[6,0],"span":[11,0,18,1]},{"path":[6,0,1],"span":[11,8,27]},{"path":[6,0,2,0],"span":[12,2,85]},{"path":[6,0,2,0,1],"span":[12,6,26]},{"path":[6,0,2,0,2],"span":[12,27,48]},{"path":[6,0,2,0,3],"span":[12,59,81]},{"path":[6,0,2,1],"span":[13,2,94]},{"path":[6,0,2,1,1],"span":[13,6,27]},{"path":[6,0,2,1,5],"span":[13,28,34]},{"path":[6,0,2,1,2],"span":[13,35,56]},{"path":[6,0,2,1,3],"span":[13,67,90]},{"path":[6,0,2,2],"span":[14,2,75]},{"path":[6,0,2,2,1],"span":[14,6,18]},{"path":[6,0,2,2,2],"span":[14,19,38]},{"path":[6,0,2,2,3],"span":[14,49,71]},{"path":[6,0,2,3],"span":[15,2,68]},{"path":[6,0,2,3,1],"span":[15,6,24]},{"path":[6,0,2,3,2],"span":[15,25,35]},{"path":[6,0,2,3,3],"span":[15,46,64]},{"path":[6,0,2,4],"span":[16,2,72]},{"path":[6,0,2,4,1],"span":[16,6,22]},{"path":[6,0,2,4,2],"span":[16,23,39]},{"path":[6,0,2,4,3],"span":[16,50,68]},{"path":[6,0,2,5],"span":[17,2,64]},{"path":[6,0,2,5,1],"span":[17,6,15]},{"path":[6,0,2,5,2],"span":[17,16,32]},{"path":[6,0,2,5,3],"span":[17,43,60]},{"path":[5,0],"span":[20,0,24,1]},{"path":[5,0,1],"span":[20,5,15]},{"path":[5,0,2,0],"span":[21,2,12]},{"path":[5,0,2,0,1],"span":[21,2,7]},{"path":[5,0,2,0,2],"span":[21,10,11]},{"path":[5,0,2,1],"span":[22,2,14]},{"path":[5,0,2,1,1],"span":[22,2,9]},{"path":[5,0,2,1,2],"span":[22,12,13]},{"path":[5,0,2,2],"span":[23,2,17]},{"path":[5,0,2,2,1],"span":[23,2,12]},{"path":[5,0,2,2,2],"span":[23,15,16]},{"path":[4,0],"span":[26,0,40,1]},{"path":[4,0,1],"span":[26,8,18]},{"path":[4,0,2,0],"span":[28,2,20],"leadingComments":" The metric name\n"},{"path":[4,0,2,0,5],"span":[28,2,8]},{"path":[4,0,2,0,1],"span":[28,9,15]},{"path":[4,0,2,0,3],"span":[28,18,19]},{"path":[4,0,2,1],"span":[31,2,33],"leadingComments":" Dimensions associated with this datapoint.\n"},{"path":[4,0,2,1,4],"span":[31,2,10]},{"path":[4,0,2,1,5],"span":[31,11,17]},{"path":[4,0,2,1,1],"span":[31,18,28]},{"path":[4,0,2,1,3],"span":[31,31,32]},{"path":[4,0,2,2],"span":[34,2,44],"leadingComments":" Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations\n"},{"path":[4,0,2,2,6],"span":[34,2,24]},{"path":[4,0,2,2,1],"span":[34,25,39]},{"path":[4,0,2,2,3],"span":[34,42,43]},{"path":[4,0,2,3],"span":[39,2,29],"leadingComments":" Determines what happens to the existing definition metadata fields. If MERGE (default), the provided metadata\n is merged with the existing metadata. If REPLACE, the provided metadata replaces the metadata on the existing\n definition.\n"},{"path":[4,0,2,3,6],"span":[39,2,12]},{"path":[4,0,2,3,1],"span":[39,13,24]},{"path":[4,0,2,3,3],"span":[39,27,28]},{"path":[4,1],"span":[42,0,53,1]},{"path":[4,1,1],"span":[42,8,24]},{"path":[4,1,2,0],"span":[44,2,27],"leadingComments":" The metric name\n"},{"path":[4,1,2,0,5],"span":[44,2,8]},{"path":[4,1,2,0,1],"span":[44,9,22]},{"path":[4,1,2,0,3],"span":[44,25,26]},{"path":[4,1,2,1],"span":[47,2,44],"leadingComments":" Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations\n"},{"path":[4,1,2,1,6],"span":[47,2,24]},{"path":[4,1,2,1,1],"span":[47,25,39]},{"path":[4,1,2,1,3],"span":[47,42,43]},{"path":[4,1,2,2],"span":[52,2,29],"leadingComments":" Determines what happens to the existing definition metadata fields. If MERGE (default), the provided metadata\n is merged with the existing metadata. If REPLACE, the provided metadata replaces the metadata on the existing\n definition.\n"},{"path":[4,1,2,2,6],"span":[52,2,12]},{"path":[4,1,2,2,1],"span":[52,13,24]},{"path":[4,1,2,2,3],"span":[52,27,28]},{"path":[4,2],"span":[55,0,58,1]},{"path":[4,2,1],"span":[55,8,29]},{"path":[4,2,2,0],"span":[56,2,27]},{"path":[4,2,2,0,6],"span":[56,2,15]},{"path":[4,2,2,0,1],"span":[56,16,22]},{"path":[4,2,2,0,3],"span":[56,25,26]},{"path":[4,2,2,1],"span":[57,2,29]},{"path":[4,2,2,1,6],"span":[57,2,12]},{"path":[4,2,2,1,1],"span":[57,13,24]},{"path":[4,2,2,1,3],"span":[57,27,28]},{"path":[4,3],"span":[60,0,69,1]},{"path":[4,3,1],"span":[60,8,27]},{"path":[4,3,2,0],"span":[61,2,24]},{"path":[4,3,2,0,5],"span":[61,2,8]},{"path":[4,3,2,0,1],"span":[61,9,19]},{"path":[4,3,2,0,3],"span":[61,22,23]},{"path":[4,3,2,1],"span":[64,2,44],"leadingComments":" Metadata for the datapoint\n"},{"path":[4,3,2,1,6],"span":[64,2,24]},{"path":[4,3,2,1,1],"span":[64,25,39]},{"path":[4,3,2,1,3],"span":[64,42,43]},{"path":[4,3,2,2],"span":[66,2,29]},{"path":[4,3,2,2,6],"span":[66,2,12]},{"path":[4,3,2,2,1],"span":[66,13,24]},{"path":[4,3,2,2,3],"span":[66,27,28]},{"path":[4,3,2,3],"span":[68,2,22]},{"path":[4,3,2,3,5],"span":[68,2,7]},{"path":[4,3,2,3,1],"span":[68,8,17]},{"path":[4,3,2,3,3],"span":[68,20,21]},{"path":[4,4],"span":[71,0,75,1]},{"path":[4,4,1],"span":[71,8,30]},{"path":[4,4,2,0],"span":[72,2,24]},{"path":[4,4,2,0,5],"span":[72,2,8]},{"path":[4,4,2,0,1],"span":[72,9,19]},{"path":[4,4,2,0,3],"span":[72,22,23]},{"path":[4,4,2,1],"span":[73,2,26]},{"path":[4,4,2,1,5],"span":[73,2,8]},{"path":[4,4,2,1,1],"span":[73,9,21]},{"path":[4,4,2,1,3],"span":[73,24,25]},{"path":[4,4,2,2],"span":[74,2,18]},{"path":[4,4,2,2,5],"span":[74,2,8]},{"path":[4,4,2,2,1],"span":[74,9,13]},{"path":[4,4,2,2,3],"span":[74,16,17]},{"path":[4,5],"span":[77,0,80,1]},{"path":[4,5,1],"span":[77,8,37]},{"path":[4,5,2,0],"span":[78,2,38]},{"path":[4,5,2,0,6],"span":[78,2,24]},{"path":[4,5,2,0,1],"span":[78,25,33]},{"path":[4,5,2,0,3],"span":[78,36,37]},{"path":[4,5,2,1],"span":[79,2,19]},{"path":[4,5,2,1,5],"span":[79,2,8]},{"path":[4,5,2,1,1],"span":[79,9,14]},{"path":[4,5,2,1,3],"span":[79,17,18]},{"path":[4,6],"span":[82,0,84,1]},{"path":[4,6,1],"span":[82,8,31]},{"path":[4,6,2,0],"span":[83,2,55]},{"path":[4,6,2,0,4],"span":[83,2,10]},{"path":[4,6,2,0,6],"span":[83,11,40]},{"path":[4,6,2,0,1],"span":[83,41,50]},{"path":[4,6,2,0,3],"span":[83,53,54]},{"path":[4,7],"span":[86,0,88,1]},{"path":[4,7,1],"span":[86,8,26]},{"path":[4,7,2,0],"span":[87,2,26]},{"path":[4,7,2,0,5],"span":[87,2,8]},{"path":[4,7,2,0,1],"span":[87,9,21]},{"path":[4,7,2,0,3],"span":[87,24,25]},{"path":[4,8],"span":[90,0,92,1]},{"path":[4,8,1],"span":[90,8,24]},{"path":[4,8,2,0],"span":[91,2,24]},{"path":[4,8,2,0,5],"span":[91,2,8]},{"path":[4,8,2,0,1],"span":[91,9,19]},{"path":[4,8,2,0,3],"span":[91,22,23]},{"path":[4,9],"span":[94,0,96,1]},{"path":[4,9,1],"span":[94,8,25]},{"path":[4,9,2,0],"span":[95,2,20]},{"path":[4,9,2,0,6],"span":[95,2,8]},{"path":[4,9,2,0,1],"span":[95,9,15]},{"path":[4,9,2,0,3],"span":[95,18,19]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]} \ No newline at end of file diff --git a/go.mod b/go.mod index 5f8ce4d..433c3ba 100644 --- a/go.mod +++ b/go.mod @@ -3,11 +3,11 @@ module github.com/zenoss/zenoss-protobufs go 1.22 require ( - github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 - github.com/stretchr/testify v1.9.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6 - google.golang.org/grpc v1.63.2 - google.golang.org/protobuf v1.34.1 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.0 + github.com/stretchr/testify v1.10.0 + google.golang.org/genproto/googleapis/api v0.0.0-20250127172529-29210b9bc287 + google.golang.org/grpc v1.70.0 + google.golang.org/protobuf v1.36.4 ) require ( @@ -16,9 +16,9 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - golang.org/x/net v0.24.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index f25f3aa..d9b5e7f 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,18 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.0 h1:VD1gqscl4nYs1YxVuSdemTrSgTKrwOWDK0FVFMqm+Cg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.0/go.mod h1:4EgsQoS4TOhJizV+JTFg40qx1Ofh3XmXEQNBpgvNT40= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -15,22 +23,32 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6 h1:DTJM0R8LECCgFeUwApvcEJHz85HLagW8uRENYxHh1ww= -google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6/go.mod h1:10yRODfgim2/T8csjQsMPgZOMvtytXKTDRzH6HRGzRw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 h1:DujSIu+2tC9Ht0aPNA7jgj23Iq8Ewi5sgkQ++wdvonE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= +go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= +go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= +go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= +go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= +go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= +go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= +go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= +go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= +go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +google.golang.org/genproto/googleapis/api v0.0.0-20250127172529-29210b9bc287 h1:A2ni10G3UlplFrWdCDJTl7D7mJ7GSRm37S+PDimaKRw= +google.golang.org/genproto/googleapis/api v0.0.0-20250127172529-29210b9bc287/go.mod h1:iYONQfRdizDB8JJBybql13nArx91jcUk7zCXEsOofM4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 h1:91mG8dNTpkC0uChJUQ9zCiRqx3GEEFOWaRZ0mI6Oj2I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/go/cloud/collection/collection_cfg.pb.go b/go/cloud/collection/collection_cfg.pb.go index 011c655..92ad8d3 100644 --- a/go/cloud/collection/collection_cfg.pb.go +++ b/go/cloud/collection/collection_cfg.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.36.4 // protoc (unknown) // source: zenoss/cloud/collection_cfg.proto @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -21,23 +22,20 @@ const ( ) type Config struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Tenant string `protobuf:"bytes,3,opt,name=tenant,proto3" json:"tenant,omitempty"` + Configuration *Configuration `protobuf:"bytes,5,opt,name=configuration,proto3" json:"configuration,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Tenant string `protobuf:"bytes,3,opt,name=tenant,proto3" json:"tenant,omitempty"` - Configuration *Configuration `protobuf:"bytes,5,opt,name=configuration,proto3" json:"configuration,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Config) Reset() { *x = Config{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config) String() string { @@ -48,7 +46,7 @@ func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -92,21 +90,18 @@ func (x *Config) GetConfiguration() *Configuration { } type Configuration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields - - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Configuration) Reset() { *x = Configuration{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Configuration) String() string { @@ -117,7 +112,7 @@ func (*Configuration) ProtoMessage() {} func (x *Configuration) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -147,18 +142,16 @@ func (x *Configuration) GetData() string { } type ProbeSuccess struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProbeSuccess) Reset() { *x = ProbeSuccess{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProbeSuccess) String() string { @@ -169,7 +162,7 @@ func (*ProbeSuccess) ProtoMessage() {} func (x *ProbeSuccess) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -185,24 +178,21 @@ func (*ProbeSuccess) Descriptor() ([]byte, []int) { } type ProbeError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // message is a short human-friendly text. Can be empty. Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // description is a parsed API error. Usually long and technical. - Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - FieldErrors []*FieldError `protobuf:"bytes,2,rep,name=field_errors,json=fieldErrors,proto3" json:"field_errors,omitempty"` + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + FieldErrors []*FieldError `protobuf:"bytes,2,rep,name=field_errors,json=fieldErrors,proto3" json:"field_errors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProbeError) Reset() { *x = ProbeError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProbeError) String() string { @@ -213,7 +203,7 @@ func (*ProbeError) ProtoMessage() {} func (x *ProbeError) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -250,21 +240,18 @@ func (x *ProbeError) GetFieldErrors() []*FieldError { } type FieldError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` unknownFields protoimpl.UnknownFields - - Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FieldError) Reset() { *x = FieldError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FieldError) String() string { @@ -275,7 +262,7 @@ func (*FieldError) ProtoMessage() {} func (x *FieldError) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -305,24 +292,21 @@ func (x *FieldError) GetDescription() string { } type ProbeResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Result: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Result: // // *ProbeResult_Success // *ProbeResult_Error - Result isProbeResult_Result `protobuf_oneof:"result"` + Result isProbeResult_Result `protobuf_oneof:"result"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProbeResult) Reset() { *x = ProbeResult{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProbeResult) String() string { @@ -333,7 +317,7 @@ func (*ProbeResult) ProtoMessage() {} func (x *ProbeResult) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -348,23 +332,27 @@ func (*ProbeResult) Descriptor() ([]byte, []int) { return file_zenoss_cloud_collection_cfg_proto_rawDescGZIP(), []int{5} } -func (m *ProbeResult) GetResult() isProbeResult_Result { - if m != nil { - return m.Result +func (x *ProbeResult) GetResult() isProbeResult_Result { + if x != nil { + return x.Result } return nil } func (x *ProbeResult) GetSuccess() *ProbeSuccess { - if x, ok := x.GetResult().(*ProbeResult_Success); ok { - return x.Success + if x != nil { + if x, ok := x.Result.(*ProbeResult_Success); ok { + return x.Success + } } return nil } func (x *ProbeResult) GetError() *ProbeError { - if x, ok := x.GetResult().(*ProbeResult_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Result.(*ProbeResult_Error); ok { + return x.Error + } } return nil } @@ -386,21 +374,18 @@ func (*ProbeResult_Success) isProbeResult_Result() {} func (*ProbeResult_Error) isProbeResult_Result() {} type WaitForProbeConfigRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Configuration *Config `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` + Deadline int64 `protobuf:"varint,2,opt,name=deadline,proto3" json:"deadline,omitempty"` unknownFields protoimpl.UnknownFields - - Configuration *Config `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` - Deadline int64 `protobuf:"varint,2,opt,name=deadline,proto3" json:"deadline,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WaitForProbeConfigRequest) Reset() { *x = WaitForProbeConfigRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WaitForProbeConfigRequest) String() string { @@ -411,7 +396,7 @@ func (*WaitForProbeConfigRequest) ProtoMessage() {} func (x *WaitForProbeConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -441,21 +426,18 @@ func (x *WaitForProbeConfigRequest) GetDeadline() int64 { } type WaitForProbeConfigResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ConfigId string `protobuf:"bytes,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"` + Result *ProbeResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - ConfigId string `protobuf:"bytes,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"` - Result *ProbeResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WaitForProbeConfigResponse) Reset() { *x = WaitForProbeConfigResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WaitForProbeConfigResponse) String() string { @@ -466,7 +448,7 @@ func (*WaitForProbeConfigResponse) ProtoMessage() {} func (x *WaitForProbeConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -496,18 +478,16 @@ func (x *WaitForProbeConfigResponse) GetResult() *ProbeResult { } type GetConfigStreamRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetConfigStreamRequest) Reset() { *x = GetConfigStreamRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetConfigStreamRequest) String() string { @@ -518,7 +498,7 @@ func (*GetConfigStreamRequest) ProtoMessage() {} func (x *GetConfigStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -534,20 +514,17 @@ func (*GetConfigStreamRequest) Descriptor() ([]byte, []int) { } type GetConfigStreamResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Configuration []*Config `protobuf:"bytes,1,rep,name=configuration,proto3" json:"configuration,omitempty"` unknownFields protoimpl.UnknownFields - - Configuration []*Config `protobuf:"bytes,1,rep,name=configuration,proto3" json:"configuration,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetConfigStreamResponse) Reset() { *x = GetConfigStreamResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetConfigStreamResponse) String() string { @@ -558,7 +535,7 @@ func (*GetConfigStreamResponse) ProtoMessage() {} func (x *GetConfigStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_collection_cfg_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -582,7 +559,7 @@ func (x *GetConfigStreamResponse) GetConfiguration() []*Config { var File_zenoss_cloud_collection_cfg_proto protoreflect.FileDescriptor -var file_zenoss_cloud_collection_cfg_proto_rawDesc = []byte{ +var file_zenoss_cloud_collection_cfg_proto_rawDesc = string([]byte{ 0x0a, 0x21, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x66, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, @@ -675,22 +652,22 @@ var file_zenoss_cloud_collection_cfg_proto_rawDesc = []byte{ 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +}) var ( file_zenoss_cloud_collection_cfg_proto_rawDescOnce sync.Once - file_zenoss_cloud_collection_cfg_proto_rawDescData = file_zenoss_cloud_collection_cfg_proto_rawDesc + file_zenoss_cloud_collection_cfg_proto_rawDescData []byte ) func file_zenoss_cloud_collection_cfg_proto_rawDescGZIP() []byte { file_zenoss_cloud_collection_cfg_proto_rawDescOnce.Do(func() { - file_zenoss_cloud_collection_cfg_proto_rawDescData = protoimpl.X.CompressGZIP(file_zenoss_cloud_collection_cfg_proto_rawDescData) + file_zenoss_cloud_collection_cfg_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_zenoss_cloud_collection_cfg_proto_rawDesc), len(file_zenoss_cloud_collection_cfg_proto_rawDesc))) }) return file_zenoss_cloud_collection_cfg_proto_rawDescData } var file_zenoss_cloud_collection_cfg_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_zenoss_cloud_collection_cfg_proto_goTypes = []interface{}{ +var file_zenoss_cloud_collection_cfg_proto_goTypes = []any{ (*Config)(nil), // 0: zenoss.cloud.collection_cfg.Config (*Configuration)(nil), // 1: zenoss.cloud.collection_cfg.Configuration (*ProbeSuccess)(nil), // 2: zenoss.cloud.collection_cfg.ProbeSuccess @@ -726,129 +703,7 @@ func file_zenoss_cloud_collection_cfg_proto_init() { if File_zenoss_cloud_collection_cfg_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_zenoss_cloud_collection_cfg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Configuration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeSuccess); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitForProbeConfigRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitForProbeConfigResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigStreamRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigStreamResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_zenoss_cloud_collection_cfg_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_zenoss_cloud_collection_cfg_proto_msgTypes[5].OneofWrappers = []any{ (*ProbeResult_Success)(nil), (*ProbeResult_Error)(nil), } @@ -856,7 +711,7 @@ func file_zenoss_cloud_collection_cfg_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_zenoss_cloud_collection_cfg_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_zenoss_cloud_collection_cfg_proto_rawDesc), len(file_zenoss_cloud_collection_cfg_proto_rawDesc)), NumEnums: 0, NumMessages: 10, NumExtensions: 0, @@ -867,7 +722,6 @@ func file_zenoss_cloud_collection_cfg_proto_init() { MessageInfos: file_zenoss_cloud_collection_cfg_proto_msgTypes, }.Build() File_zenoss_cloud_collection_cfg_proto = out.File - file_zenoss_cloud_collection_cfg_proto_rawDesc = nil file_zenoss_cloud_collection_cfg_proto_goTypes = nil file_zenoss_cloud_collection_cfg_proto_depIdxs = nil } diff --git a/go/cloud/collection/collection_cfg_grpc.pb.go b/go/cloud/collection/collection_cfg_grpc.pb.go index a371d5b..900d93b 100644 --- a/go/cloud/collection/collection_cfg_grpc.pb.go +++ b/go/cloud/collection/collection_cfg_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: zenoss/cloud/collection_cfg.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( CollectionConfigService_WaitForProbeConfig_FullMethodName = "/zenoss.cloud.collection_cfg.CollectionConfigService/WaitForProbeConfig" @@ -26,9 +26,12 @@ const ( // CollectionConfigServiceClient is the client API for CollectionConfigService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// CollectionConfigService is the gRPC & HTTP service responsible for managing +// collection configurations. type CollectionConfigServiceClient interface { - WaitForProbeConfig(ctx context.Context, opts ...grpc.CallOption) (CollectionConfigService_WaitForProbeConfigClient, error) - GetConfigStream(ctx context.Context, in *GetConfigStreamRequest, opts ...grpc.CallOption) (CollectionConfigService_GetConfigStreamClient, error) + WaitForProbeConfig(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest], error) + GetConfigStream(ctx context.Context, in *GetConfigStreamRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetConfigStreamResponse], error) } type collectionConfigServiceClient struct { @@ -39,43 +42,26 @@ func NewCollectionConfigServiceClient(cc grpc.ClientConnInterface) CollectionCon return &collectionConfigServiceClient{cc} } -func (c *collectionConfigServiceClient) WaitForProbeConfig(ctx context.Context, opts ...grpc.CallOption) (CollectionConfigService_WaitForProbeConfigClient, error) { - stream, err := c.cc.NewStream(ctx, &CollectionConfigService_ServiceDesc.Streams[0], CollectionConfigService_WaitForProbeConfig_FullMethodName, opts...) +func (c *collectionConfigServiceClient) WaitForProbeConfig(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CollectionConfigService_ServiceDesc.Streams[0], CollectionConfigService_WaitForProbeConfig_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &collectionConfigServiceWaitForProbeConfigClient{stream} + x := &grpc.GenericClientStream[WaitForProbeConfigResponse, WaitForProbeConfigRequest]{ClientStream: stream} return x, nil } -type CollectionConfigService_WaitForProbeConfigClient interface { - Send(*WaitForProbeConfigResponse) error - Recv() (*WaitForProbeConfigRequest, error) - grpc.ClientStream -} - -type collectionConfigServiceWaitForProbeConfigClient struct { - grpc.ClientStream -} - -func (x *collectionConfigServiceWaitForProbeConfigClient) Send(m *WaitForProbeConfigResponse) error { - return x.ClientStream.SendMsg(m) -} - -func (x *collectionConfigServiceWaitForProbeConfigClient) Recv() (*WaitForProbeConfigRequest, error) { - m := new(WaitForProbeConfigRequest) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CollectionConfigService_WaitForProbeConfigClient = grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest] -func (c *collectionConfigServiceClient) GetConfigStream(ctx context.Context, in *GetConfigStreamRequest, opts ...grpc.CallOption) (CollectionConfigService_GetConfigStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &CollectionConfigService_ServiceDesc.Streams[1], CollectionConfigService_GetConfigStream_FullMethodName, opts...) +func (c *collectionConfigServiceClient) GetConfigStream(ctx context.Context, in *GetConfigStreamRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetConfigStreamResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CollectionConfigService_ServiceDesc.Streams[1], CollectionConfigService_GetConfigStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &collectionConfigServiceGetConfigStreamClient{stream} + x := &grpc.GenericClientStream[GetConfigStreamRequest, GetConfigStreamResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -85,44 +71,37 @@ func (c *collectionConfigServiceClient) GetConfigStream(ctx context.Context, in return x, nil } -type CollectionConfigService_GetConfigStreamClient interface { - Recv() (*GetConfigStreamResponse, error) - grpc.ClientStream -} - -type collectionConfigServiceGetConfigStreamClient struct { - grpc.ClientStream -} - -func (x *collectionConfigServiceGetConfigStreamClient) Recv() (*GetConfigStreamResponse, error) { - m := new(GetConfigStreamResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CollectionConfigService_GetConfigStreamClient = grpc.ServerStreamingClient[GetConfigStreamResponse] // CollectionConfigServiceServer is the server API for CollectionConfigService service. // All implementations must embed UnimplementedCollectionConfigServiceServer -// for forward compatibility +// for forward compatibility. +// +// CollectionConfigService is the gRPC & HTTP service responsible for managing +// collection configurations. type CollectionConfigServiceServer interface { - WaitForProbeConfig(CollectionConfigService_WaitForProbeConfigServer) error - GetConfigStream(*GetConfigStreamRequest, CollectionConfigService_GetConfigStreamServer) error + WaitForProbeConfig(grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest]) error + GetConfigStream(*GetConfigStreamRequest, grpc.ServerStreamingServer[GetConfigStreamResponse]) error mustEmbedUnimplementedCollectionConfigServiceServer() } -// UnimplementedCollectionConfigServiceServer must be embedded to have forward compatible implementations. -type UnimplementedCollectionConfigServiceServer struct { -} +// UnimplementedCollectionConfigServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedCollectionConfigServiceServer struct{} -func (UnimplementedCollectionConfigServiceServer) WaitForProbeConfig(CollectionConfigService_WaitForProbeConfigServer) error { +func (UnimplementedCollectionConfigServiceServer) WaitForProbeConfig(grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest]) error { return status.Errorf(codes.Unimplemented, "method WaitForProbeConfig not implemented") } -func (UnimplementedCollectionConfigServiceServer) GetConfigStream(*GetConfigStreamRequest, CollectionConfigService_GetConfigStreamServer) error { +func (UnimplementedCollectionConfigServiceServer) GetConfigStream(*GetConfigStreamRequest, grpc.ServerStreamingServer[GetConfigStreamResponse]) error { return status.Errorf(codes.Unimplemented, "method GetConfigStream not implemented") } func (UnimplementedCollectionConfigServiceServer) mustEmbedUnimplementedCollectionConfigServiceServer() { } +func (UnimplementedCollectionConfigServiceServer) testEmbeddedByValue() {} // UnsafeCollectionConfigServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to CollectionConfigServiceServer will @@ -132,55 +111,33 @@ type UnsafeCollectionConfigServiceServer interface { } func RegisterCollectionConfigServiceServer(s grpc.ServiceRegistrar, srv CollectionConfigServiceServer) { + // If the following call pancis, it indicates UnimplementedCollectionConfigServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&CollectionConfigService_ServiceDesc, srv) } func _CollectionConfigService_WaitForProbeConfig_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(CollectionConfigServiceServer).WaitForProbeConfig(&collectionConfigServiceWaitForProbeConfigServer{stream}) + return srv.(CollectionConfigServiceServer).WaitForProbeConfig(&grpc.GenericServerStream[WaitForProbeConfigResponse, WaitForProbeConfigRequest]{ServerStream: stream}) } -type CollectionConfigService_WaitForProbeConfigServer interface { - Send(*WaitForProbeConfigRequest) error - Recv() (*WaitForProbeConfigResponse, error) - grpc.ServerStream -} - -type collectionConfigServiceWaitForProbeConfigServer struct { - grpc.ServerStream -} - -func (x *collectionConfigServiceWaitForProbeConfigServer) Send(m *WaitForProbeConfigRequest) error { - return x.ServerStream.SendMsg(m) -} - -func (x *collectionConfigServiceWaitForProbeConfigServer) Recv() (*WaitForProbeConfigResponse, error) { - m := new(WaitForProbeConfigResponse) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CollectionConfigService_WaitForProbeConfigServer = grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest] func _CollectionConfigService_GetConfigStream_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(GetConfigStreamRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CollectionConfigServiceServer).GetConfigStream(m, &collectionConfigServiceGetConfigStreamServer{stream}) -} - -type CollectionConfigService_GetConfigStreamServer interface { - Send(*GetConfigStreamResponse) error - grpc.ServerStream -} - -type collectionConfigServiceGetConfigStreamServer struct { - grpc.ServerStream + return srv.(CollectionConfigServiceServer).GetConfigStream(m, &grpc.GenericServerStream[GetConfigStreamRequest, GetConfigStreamResponse]{ServerStream: stream}) } -func (x *collectionConfigServiceGetConfigStreamServer) Send(m *GetConfigStreamResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CollectionConfigService_GetConfigStreamServer = grpc.ServerStreamingServer[GetConfigStreamResponse] // CollectionConfigService_ServiceDesc is the grpc.ServiceDesc for CollectionConfigService service. // It's only intended for direct use with grpc.RegisterService, diff --git a/go/cloud/collection/mock_CollectionConfigServiceClient.go b/go/cloud/collection/mock_CollectionConfigServiceClient.go index cf598a9..bb61afb 100644 --- a/go/cloud/collection/mock_CollectionConfigServiceClient.go +++ b/go/cloud/collection/mock_CollectionConfigServiceClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection @@ -24,7 +24,7 @@ func (_m *MockCollectionConfigServiceClient) EXPECT() *MockCollectionConfigServi } // GetConfigStream provides a mock function with given fields: ctx, in, opts -func (_m *MockCollectionConfigServiceClient) GetConfigStream(ctx context.Context, in *GetConfigStreamRequest, opts ...grpc.CallOption) (CollectionConfigService_GetConfigStreamClient, error) { +func (_m *MockCollectionConfigServiceClient) GetConfigStream(ctx context.Context, in *GetConfigStreamRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetConfigStreamResponse], error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -38,16 +38,16 @@ func (_m *MockCollectionConfigServiceClient) GetConfigStream(ctx context.Context panic("no return value specified for GetConfigStream") } - var r0 CollectionConfigService_GetConfigStreamClient + var r0 grpc.ServerStreamingClient[GetConfigStreamResponse] var r1 error - if rf, ok := ret.Get(0).(func(context.Context, *GetConfigStreamRequest, ...grpc.CallOption) (CollectionConfigService_GetConfigStreamClient, error)); ok { + if rf, ok := ret.Get(0).(func(context.Context, *GetConfigStreamRequest, ...grpc.CallOption) (grpc.ServerStreamingClient[GetConfigStreamResponse], error)); ok { return rf(ctx, in, opts...) } - if rf, ok := ret.Get(0).(func(context.Context, *GetConfigStreamRequest, ...grpc.CallOption) CollectionConfigService_GetConfigStreamClient); ok { + if rf, ok := ret.Get(0).(func(context.Context, *GetConfigStreamRequest, ...grpc.CallOption) grpc.ServerStreamingClient[GetConfigStreamResponse]); ok { r0 = rf(ctx, in, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(CollectionConfigService_GetConfigStreamClient) + r0 = ret.Get(0).(grpc.ServerStreamingClient[GetConfigStreamResponse]) } } @@ -87,18 +87,18 @@ func (_c *MockCollectionConfigServiceClient_GetConfigStream_Call) Run(run func(c return _c } -func (_c *MockCollectionConfigServiceClient_GetConfigStream_Call) Return(_a0 CollectionConfigService_GetConfigStreamClient, _a1 error) *MockCollectionConfigServiceClient_GetConfigStream_Call { +func (_c *MockCollectionConfigServiceClient_GetConfigStream_Call) Return(_a0 grpc.ServerStreamingClient[GetConfigStreamResponse], _a1 error) *MockCollectionConfigServiceClient_GetConfigStream_Call { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigServiceClient_GetConfigStream_Call) RunAndReturn(run func(context.Context, *GetConfigStreamRequest, ...grpc.CallOption) (CollectionConfigService_GetConfigStreamClient, error)) *MockCollectionConfigServiceClient_GetConfigStream_Call { +func (_c *MockCollectionConfigServiceClient_GetConfigStream_Call) RunAndReturn(run func(context.Context, *GetConfigStreamRequest, ...grpc.CallOption) (grpc.ServerStreamingClient[GetConfigStreamResponse], error)) *MockCollectionConfigServiceClient_GetConfigStream_Call { _c.Call.Return(run) return _c } // WaitForProbeConfig provides a mock function with given fields: ctx, opts -func (_m *MockCollectionConfigServiceClient) WaitForProbeConfig(ctx context.Context, opts ...grpc.CallOption) (CollectionConfigService_WaitForProbeConfigClient, error) { +func (_m *MockCollectionConfigServiceClient) WaitForProbeConfig(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest], error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -112,16 +112,16 @@ func (_m *MockCollectionConfigServiceClient) WaitForProbeConfig(ctx context.Cont panic("no return value specified for WaitForProbeConfig") } - var r0 CollectionConfigService_WaitForProbeConfigClient + var r0 grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest] var r1 error - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (CollectionConfigService_WaitForProbeConfigClient, error)); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest], error)); ok { return rf(ctx, opts...) } - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) CollectionConfigService_WaitForProbeConfigClient); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest]); ok { r0 = rf(ctx, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(CollectionConfigService_WaitForProbeConfigClient) + r0 = ret.Get(0).(grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest]) } } @@ -160,12 +160,12 @@ func (_c *MockCollectionConfigServiceClient_WaitForProbeConfig_Call) Run(run fun return _c } -func (_c *MockCollectionConfigServiceClient_WaitForProbeConfig_Call) Return(_a0 CollectionConfigService_WaitForProbeConfigClient, _a1 error) *MockCollectionConfigServiceClient_WaitForProbeConfig_Call { +func (_c *MockCollectionConfigServiceClient_WaitForProbeConfig_Call) Return(_a0 grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest], _a1 error) *MockCollectionConfigServiceClient_WaitForProbeConfig_Call { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigServiceClient_WaitForProbeConfig_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (CollectionConfigService_WaitForProbeConfigClient, error)) *MockCollectionConfigServiceClient_WaitForProbeConfig_Call { +func (_c *MockCollectionConfigServiceClient_WaitForProbeConfig_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (grpc.BidiStreamingClient[WaitForProbeConfigResponse, WaitForProbeConfigRequest], error)) *MockCollectionConfigServiceClient_WaitForProbeConfig_Call { _c.Call.Return(run) return _c } diff --git a/go/cloud/collection/mock_CollectionConfigServiceServer.go b/go/cloud/collection/mock_CollectionConfigServiceServer.go index 07b00a4..bbdd79c 100644 --- a/go/cloud/collection/mock_CollectionConfigServiceServer.go +++ b/go/cloud/collection/mock_CollectionConfigServiceServer.go @@ -1,8 +1,11 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection -import mock "github.com/stretchr/testify/mock" +import ( + mock "github.com/stretchr/testify/mock" + grpc "google.golang.org/grpc" +) // MockCollectionConfigServiceServer is an autogenerated mock type for the CollectionConfigServiceServer type type MockCollectionConfigServiceServer struct { @@ -18,7 +21,7 @@ func (_m *MockCollectionConfigServiceServer) EXPECT() *MockCollectionConfigServi } // GetConfigStream provides a mock function with given fields: _a0, _a1 -func (_m *MockCollectionConfigServiceServer) GetConfigStream(_a0 *GetConfigStreamRequest, _a1 CollectionConfigService_GetConfigStreamServer) error { +func (_m *MockCollectionConfigServiceServer) GetConfigStream(_a0 *GetConfigStreamRequest, _a1 grpc.ServerStreamingServer[GetConfigStreamResponse]) error { ret := _m.Called(_a0, _a1) if len(ret) == 0 { @@ -26,7 +29,7 @@ func (_m *MockCollectionConfigServiceServer) GetConfigStream(_a0 *GetConfigStrea } var r0 error - if rf, ok := ret.Get(0).(func(*GetConfigStreamRequest, CollectionConfigService_GetConfigStreamServer) error); ok { + if rf, ok := ret.Get(0).(func(*GetConfigStreamRequest, grpc.ServerStreamingServer[GetConfigStreamResponse]) error); ok { r0 = rf(_a0, _a1) } else { r0 = ret.Error(0) @@ -42,14 +45,14 @@ type MockCollectionConfigServiceServer_GetConfigStream_Call struct { // GetConfigStream is a helper method to define mock.On call // - _a0 *GetConfigStreamRequest -// - _a1 CollectionConfigService_GetConfigStreamServer +// - _a1 grpc.ServerStreamingServer[GetConfigStreamResponse] func (_e *MockCollectionConfigServiceServer_Expecter) GetConfigStream(_a0 interface{}, _a1 interface{}) *MockCollectionConfigServiceServer_GetConfigStream_Call { return &MockCollectionConfigServiceServer_GetConfigStream_Call{Call: _e.mock.On("GetConfigStream", _a0, _a1)} } -func (_c *MockCollectionConfigServiceServer_GetConfigStream_Call) Run(run func(_a0 *GetConfigStreamRequest, _a1 CollectionConfigService_GetConfigStreamServer)) *MockCollectionConfigServiceServer_GetConfigStream_Call { +func (_c *MockCollectionConfigServiceServer_GetConfigStream_Call) Run(run func(_a0 *GetConfigStreamRequest, _a1 grpc.ServerStreamingServer[GetConfigStreamResponse])) *MockCollectionConfigServiceServer_GetConfigStream_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(*GetConfigStreamRequest), args[1].(CollectionConfigService_GetConfigStreamServer)) + run(args[0].(*GetConfigStreamRequest), args[1].(grpc.ServerStreamingServer[GetConfigStreamResponse])) }) return _c } @@ -59,13 +62,13 @@ func (_c *MockCollectionConfigServiceServer_GetConfigStream_Call) Return(_a0 err return _c } -func (_c *MockCollectionConfigServiceServer_GetConfigStream_Call) RunAndReturn(run func(*GetConfigStreamRequest, CollectionConfigService_GetConfigStreamServer) error) *MockCollectionConfigServiceServer_GetConfigStream_Call { +func (_c *MockCollectionConfigServiceServer_GetConfigStream_Call) RunAndReturn(run func(*GetConfigStreamRequest, grpc.ServerStreamingServer[GetConfigStreamResponse]) error) *MockCollectionConfigServiceServer_GetConfigStream_Call { _c.Call.Return(run) return _c } // WaitForProbeConfig provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigServiceServer) WaitForProbeConfig(_a0 CollectionConfigService_WaitForProbeConfigServer) error { +func (_m *MockCollectionConfigServiceServer) WaitForProbeConfig(_a0 grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest]) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -73,7 +76,7 @@ func (_m *MockCollectionConfigServiceServer) WaitForProbeConfig(_a0 CollectionCo } var r0 error - if rf, ok := ret.Get(0).(func(CollectionConfigService_WaitForProbeConfigServer) error); ok { + if rf, ok := ret.Get(0).(func(grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest]) error); ok { r0 = rf(_a0) } else { r0 = ret.Error(0) @@ -88,14 +91,14 @@ type MockCollectionConfigServiceServer_WaitForProbeConfig_Call struct { } // WaitForProbeConfig is a helper method to define mock.On call -// - _a0 CollectionConfigService_WaitForProbeConfigServer +// - _a0 grpc.BidiStreamingServer[WaitForProbeConfigResponse,WaitForProbeConfigRequest] func (_e *MockCollectionConfigServiceServer_Expecter) WaitForProbeConfig(_a0 interface{}) *MockCollectionConfigServiceServer_WaitForProbeConfig_Call { return &MockCollectionConfigServiceServer_WaitForProbeConfig_Call{Call: _e.mock.On("WaitForProbeConfig", _a0)} } -func (_c *MockCollectionConfigServiceServer_WaitForProbeConfig_Call) Run(run func(_a0 CollectionConfigService_WaitForProbeConfigServer)) *MockCollectionConfigServiceServer_WaitForProbeConfig_Call { +func (_c *MockCollectionConfigServiceServer_WaitForProbeConfig_Call) Run(run func(_a0 grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest])) *MockCollectionConfigServiceServer_WaitForProbeConfig_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(CollectionConfigService_WaitForProbeConfigServer)) + run(args[0].(grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest])) }) return _c } @@ -105,12 +108,12 @@ func (_c *MockCollectionConfigServiceServer_WaitForProbeConfig_Call) Return(_a0 return _c } -func (_c *MockCollectionConfigServiceServer_WaitForProbeConfig_Call) RunAndReturn(run func(CollectionConfigService_WaitForProbeConfigServer) error) *MockCollectionConfigServiceServer_WaitForProbeConfig_Call { +func (_c *MockCollectionConfigServiceServer_WaitForProbeConfig_Call) RunAndReturn(run func(grpc.BidiStreamingServer[WaitForProbeConfigResponse, WaitForProbeConfigRequest]) error) *MockCollectionConfigServiceServer_WaitForProbeConfig_Call { _c.Call.Return(run) return _c } -// mustEmbedUnimplementedCollectionConfigServiceServer provides a mock function with given fields: +// mustEmbedUnimplementedCollectionConfigServiceServer provides a mock function with no fields func (_m *MockCollectionConfigServiceServer) mustEmbedUnimplementedCollectionConfigServiceServer() { _m.Called() } @@ -138,7 +141,7 @@ func (_c *MockCollectionConfigServiceServer_mustEmbedUnimplementedCollectionConf } func (_c *MockCollectionConfigServiceServer_mustEmbedUnimplementedCollectionConfigServiceServer_Call) RunAndReturn(run func()) *MockCollectionConfigServiceServer_mustEmbedUnimplementedCollectionConfigServiceServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamClient.go b/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamClient.go index 095ce61..cbb7c8b 100644 --- a/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamClient.go +++ b/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamClient.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockCollectionConfigService_GetConfigStreamClient is an autogenerated mock type for the CollectionConfigService_GetConfigStreamClient type -type MockCollectionConfigService_GetConfigStreamClient struct { +type MockCollectionConfigService_GetConfigStreamClient[Res interface{}] struct { mock.Mock } -type MockCollectionConfigService_GetConfigStreamClient_Expecter struct { +type MockCollectionConfigService_GetConfigStreamClient_Expecter[Res interface{}] struct { mock *mock.Mock } -func (_m *MockCollectionConfigService_GetConfigStreamClient) EXPECT() *MockCollectionConfigService_GetConfigStreamClient_Expecter { - return &MockCollectionConfigService_GetConfigStreamClient_Expecter{mock: &_m.Mock} +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) EXPECT() *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]{mock: &_m.Mock} } -// CloseSend provides a mock function with given fields: -func (_m *MockCollectionConfigService_GetConfigStreamClient) CloseSend() error { +// CloseSend provides a mock function with no fields +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) CloseSend() error { ret := _m.Called() if len(ret) == 0 { @@ -41,34 +42,34 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) CloseSend() error { } // MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseSend' -type MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res interface{}] struct { *mock.Call } // CloseSend is a helper method to define mock.On call -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) CloseSend() *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call { - return &MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call{Call: _e.mock.On("CloseSend")} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) CloseSend() *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res]{Call: _e.mock.On("CloseSend")} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res]) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call) RunAndReturn(run func() error) *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res]) RunAndReturn(run func() error) *MockCollectionConfigService_GetConfigStreamClient_CloseSend_Call[Res] { _c.Call.Return(run) return _c } -// Context provides a mock function with given fields: -func (_m *MockCollectionConfigService_GetConfigStreamClient) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -88,34 +89,34 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) Context() context.C } // MockCollectionConfigService_GetConfigStreamClient_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockCollectionConfigService_GetConfigStreamClient_Context_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) Context() *MockCollectionConfigService_GetConfigStreamClient_Context_Call { - return &MockCollectionConfigService_GetConfigStreamClient_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) Context() *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res]{Call: _e.mock.On("Context")} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Context_Call) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Context_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res]) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Context_Call) Return(_a0 context.Context) *MockCollectionConfigService_GetConfigStreamClient_Context_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res]) Return(_a0 context.Context) *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Context_Call) RunAndReturn(run func() context.Context) *MockCollectionConfigService_GetConfigStreamClient_Context_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res]) RunAndReturn(run func() context.Context) *MockCollectionConfigService_GetConfigStreamClient_Context_Call[Res] { _c.Call.Return(run) return _c } -// Header provides a mock function with given fields: -func (_m *MockCollectionConfigService_GetConfigStreamClient) Header() (metadata.MD, error) { +// Header provides a mock function with no fields +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) Header() (metadata.MD, error) { ret := _m.Called() if len(ret) == 0 { @@ -145,34 +146,34 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) Header() (metadata. } // MockCollectionConfigService_GetConfigStreamClient_Header_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Header' -type MockCollectionConfigService_GetConfigStreamClient_Header_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res interface{}] struct { *mock.Call } // Header is a helper method to define mock.On call -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) Header() *MockCollectionConfigService_GetConfigStreamClient_Header_Call { - return &MockCollectionConfigService_GetConfigStreamClient_Header_Call{Call: _e.mock.On("Header")} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) Header() *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res]{Call: _e.mock.On("Header")} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Header_Call) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Header_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res]) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Header_Call) Return(_a0 metadata.MD, _a1 error) *MockCollectionConfigService_GetConfigStreamClient_Header_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res]) Return(_a0 metadata.MD, _a1 error) *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Header_Call) RunAndReturn(run func() (metadata.MD, error)) *MockCollectionConfigService_GetConfigStreamClient_Header_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res]) RunAndReturn(run func() (metadata.MD, error)) *MockCollectionConfigService_GetConfigStreamClient_Header_Call[Res] { _c.Call.Return(run) return _c } -// Recv provides a mock function with given fields: -func (_m *MockCollectionConfigService_GetConfigStreamClient) Recv() (*GetConfigStreamResponse, error) { +// Recv provides a mock function with no fields +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) Recv() (*GetConfigStreamResponse, error) { ret := _m.Called() if len(ret) == 0 { @@ -202,34 +203,34 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) Recv() (*GetConfigS } // MockCollectionConfigService_GetConfigStreamClient_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' -type MockCollectionConfigService_GetConfigStreamClient_Recv_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res interface{}] struct { *mock.Call } // Recv is a helper method to define mock.On call -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) Recv() *MockCollectionConfigService_GetConfigStreamClient_Recv_Call { - return &MockCollectionConfigService_GetConfigStreamClient_Recv_Call{Call: _e.mock.On("Recv")} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) Recv() *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res]{Call: _e.mock.On("Recv")} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Recv_Call) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Recv_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res]) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Recv_Call) Return(_a0 *GetConfigStreamResponse, _a1 error) *MockCollectionConfigService_GetConfigStreamClient_Recv_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res]) Return(_a0 *GetConfigStreamResponse, _a1 error) *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Recv_Call) RunAndReturn(run func() (*GetConfigStreamResponse, error)) *MockCollectionConfigService_GetConfigStreamClient_Recv_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res]) RunAndReturn(run func() (*GetConfigStreamResponse, error)) *MockCollectionConfigService_GetConfigStreamClient_Recv_Call[Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_GetConfigStreamClient) RecvMsg(m interface{}) error { +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -247,35 +248,35 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) RecvMsg(m interface } // MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) RecvMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call { - return &MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) RecvMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res]) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamClient_RecvMsg_Call[Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_GetConfigStreamClient) SendMsg(m interface{}) error { +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -293,35 +294,35 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) SendMsg(m interface } // MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) SendMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call { - return &MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) SendMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res]) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamClient_SendMsg_Call[Res] { _c.Call.Return(run) return _c } -// Trailer provides a mock function with given fields: -func (_m *MockCollectionConfigService_GetConfigStreamClient) Trailer() metadata.MD { +// Trailer provides a mock function with no fields +func (_m *MockCollectionConfigService_GetConfigStreamClient[Res]) Trailer() metadata.MD { ret := _m.Called() if len(ret) == 0 { @@ -341,39 +342,39 @@ func (_m *MockCollectionConfigService_GetConfigStreamClient) Trailer() metadata. } // MockCollectionConfigService_GetConfigStreamClient_Trailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Trailer' -type MockCollectionConfigService_GetConfigStreamClient_Trailer_Call struct { +type MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res interface{}] struct { *mock.Call } // Trailer is a helper method to define mock.On call -func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter) Trailer() *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call { - return &MockCollectionConfigService_GetConfigStreamClient_Trailer_Call{Call: _e.mock.On("Trailer")} +func (_e *MockCollectionConfigService_GetConfigStreamClient_Expecter[Res]) Trailer() *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res]{Call: _e.mock.On("Trailer")} } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res]) Run(run func()) *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call) Return(_a0 metadata.MD) *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res]) Return(_a0 metadata.MD) *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call) RunAndReturn(run func() metadata.MD) *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call { +func (_c *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res]) RunAndReturn(run func() metadata.MD) *MockCollectionConfigService_GetConfigStreamClient_Trailer_Call[Res] { _c.Call.Return(run) return _c } // NewMockCollectionConfigService_GetConfigStreamClient creates a new instance of MockCollectionConfigService_GetConfigStreamClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockCollectionConfigService_GetConfigStreamClient(t interface { +func NewMockCollectionConfigService_GetConfigStreamClient[Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockCollectionConfigService_GetConfigStreamClient { - mock := &MockCollectionConfigService_GetConfigStreamClient{} +}) *MockCollectionConfigService_GetConfigStreamClient[Res] { + mock := &MockCollectionConfigService_GetConfigStreamClient[Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamServer.go b/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamServer.go index 01c9c4e..37029e7 100644 --- a/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamServer.go +++ b/go/cloud/collection/mock_CollectionConfigService_GetConfigStreamServer.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockCollectionConfigService_GetConfigStreamServer is an autogenerated mock type for the CollectionConfigService_GetConfigStreamServer type -type MockCollectionConfigService_GetConfigStreamServer struct { +type MockCollectionConfigService_GetConfigStreamServer[Res interface{}] struct { mock.Mock } -type MockCollectionConfigService_GetConfigStreamServer_Expecter struct { +type MockCollectionConfigService_GetConfigStreamServer_Expecter[Res interface{}] struct { mock *mock.Mock } -func (_m *MockCollectionConfigService_GetConfigStreamServer) EXPECT() *MockCollectionConfigService_GetConfigStreamServer_Expecter { - return &MockCollectionConfigService_GetConfigStreamServer_Expecter{mock: &_m.Mock} +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) EXPECT() *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]{mock: &_m.Mock} } -// Context provides a mock function with given fields: -func (_m *MockCollectionConfigService_GetConfigStreamServer) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -43,34 +44,34 @@ func (_m *MockCollectionConfigService_GetConfigStreamServer) Context() context.C } // MockCollectionConfigService_GetConfigStreamServer_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockCollectionConfigService_GetConfigStreamServer_Context_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) Context() *MockCollectionConfigService_GetConfigStreamServer_Context_Call { - return &MockCollectionConfigService_GetConfigStreamServer_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) Context() *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res]{Call: _e.mock.On("Context")} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_Context_Call) Run(run func()) *MockCollectionConfigService_GetConfigStreamServer_Context_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res]) Run(run func()) *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_Context_Call) Return(_a0 context.Context) *MockCollectionConfigService_GetConfigStreamServer_Context_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res]) Return(_a0 context.Context) *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_Context_Call) RunAndReturn(run func() context.Context) *MockCollectionConfigService_GetConfigStreamServer_Context_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res]) RunAndReturn(run func() context.Context) *MockCollectionConfigService_GetConfigStreamServer_Context_Call[Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_GetConfigStreamServer) RecvMsg(m interface{}) error { +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -88,35 +89,35 @@ func (_m *MockCollectionConfigService_GetConfigStreamServer) RecvMsg(m interface } // MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) RecvMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call { - return &MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) RecvMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res]) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamServer_RecvMsg_Call[Res] { _c.Call.Return(run) return _c } // Send provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_GetConfigStreamServer) Send(_a0 *GetConfigStreamResponse) error { +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) Send(_a0 *GetConfigStreamResponse) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -134,35 +135,35 @@ func (_m *MockCollectionConfigService_GetConfigStreamServer) Send(_a0 *GetConfig } // MockCollectionConfigService_GetConfigStreamServer_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' -type MockCollectionConfigService_GetConfigStreamServer_Send_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res interface{}] struct { *mock.Call } // Send is a helper method to define mock.On call // - _a0 *GetConfigStreamResponse -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) Send(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_Send_Call { - return &MockCollectionConfigService_GetConfigStreamServer_Send_Call{Call: _e.mock.On("Send", _a0)} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) Send(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res]{Call: _e.mock.On("Send", _a0)} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_Send_Call) Run(run func(_a0 *GetConfigStreamResponse)) *MockCollectionConfigService_GetConfigStreamServer_Send_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res]) Run(run func(_a0 *GetConfigStreamResponse)) *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*GetConfigStreamResponse)) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_Send_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_Send_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_Send_Call) RunAndReturn(run func(*GetConfigStreamResponse) error) *MockCollectionConfigService_GetConfigStreamServer_Send_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res]) RunAndReturn(run func(*GetConfigStreamResponse) error) *MockCollectionConfigService_GetConfigStreamServer_Send_Call[Res] { _c.Call.Return(run) return _c } // SendHeader provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_GetConfigStreamServer) SendHeader(_a0 metadata.MD) error { +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) SendHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -180,35 +181,35 @@ func (_m *MockCollectionConfigService_GetConfigStreamServer) SendHeader(_a0 meta } // MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendHeader' -type MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res interface{}] struct { *mock.Call } // SendHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) SendHeader(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call { - return &MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call{Call: _e.mock.On("SendHeader", _a0)} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) SendHeader(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res]{Call: _e.mock.On("SendHeader", _a0)} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res]) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res]) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_GetConfigStreamServer_SendHeader_Call[Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_GetConfigStreamServer) SendMsg(m interface{}) error { +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -226,35 +227,35 @@ func (_m *MockCollectionConfigService_GetConfigStreamServer) SendMsg(m interface } // MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) SendMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call { - return &MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) SendMsg(m interface{}) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res]) Run(run func(m interface{})) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_GetConfigStreamServer_SendMsg_Call[Res] { _c.Call.Return(run) return _c } // SetHeader provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_GetConfigStreamServer) SetHeader(_a0 metadata.MD) error { +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) SetHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -272,73 +273,73 @@ func (_m *MockCollectionConfigService_GetConfigStreamServer) SetHeader(_a0 metad } // MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetHeader' -type MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res interface{}] struct { *mock.Call } // SetHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) SetHeader(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call { - return &MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call{Call: _e.mock.On("SetHeader", _a0)} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) SetHeader(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res]{Call: _e.mock.On("SetHeader", _a0)} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res]) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res]) Return(_a0 error) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res]) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_GetConfigStreamServer_SetHeader_Call[Res] { _c.Call.Return(run) return _c } // SetTrailer provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_GetConfigStreamServer) SetTrailer(_a0 metadata.MD) { +func (_m *MockCollectionConfigService_GetConfigStreamServer[Res]) SetTrailer(_a0 metadata.MD) { _m.Called(_a0) } // MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetTrailer' -type MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call struct { +type MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res interface{}] struct { *mock.Call } // SetTrailer is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter) SetTrailer(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call { - return &MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call{Call: _e.mock.On("SetTrailer", _a0)} +func (_e *MockCollectionConfigService_GetConfigStreamServer_Expecter[Res]) SetTrailer(_a0 interface{}) *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res] { + return &MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res]{Call: _e.mock.On("SetTrailer", _a0)} } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res]) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call) Return() *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call { +func (_c *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res]) Return() *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res] { _c.Call.Return() return _c } -func (_c *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call { - _c.Call.Return(run) +func (_c *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res]) RunAndReturn(run func(metadata.MD)) *MockCollectionConfigService_GetConfigStreamServer_SetTrailer_Call[Res] { + _c.Run(run) return _c } // NewMockCollectionConfigService_GetConfigStreamServer creates a new instance of MockCollectionConfigService_GetConfigStreamServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockCollectionConfigService_GetConfigStreamServer(t interface { +func NewMockCollectionConfigService_GetConfigStreamServer[Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockCollectionConfigService_GetConfigStreamServer { - mock := &MockCollectionConfigService_GetConfigStreamServer{} +}) *MockCollectionConfigService_GetConfigStreamServer[Res] { + mock := &MockCollectionConfigService_GetConfigStreamServer[Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigClient.go b/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigClient.go index b1457d8..5230398 100644 --- a/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigClient.go +++ b/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigClient.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockCollectionConfigService_WaitForProbeConfigClient is an autogenerated mock type for the CollectionConfigService_WaitForProbeConfigClient type -type MockCollectionConfigService_WaitForProbeConfigClient struct { +type MockCollectionConfigService_WaitForProbeConfigClient[Req interface{}, Res interface{}] struct { mock.Mock } -type MockCollectionConfigService_WaitForProbeConfigClient_Expecter struct { +type MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) EXPECT() *MockCollectionConfigService_WaitForProbeConfigClient_Expecter { - return &MockCollectionConfigService_WaitForProbeConfigClient_Expecter{mock: &_m.Mock} +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) EXPECT() *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]{mock: &_m.Mock} } -// CloseSend provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) CloseSend() error { +// CloseSend provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) CloseSend() error { ret := _m.Called() if len(ret) == 0 { @@ -41,34 +42,34 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) CloseSend() erro } // MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseSend' -type MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseSend is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) CloseSend() *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call{Call: _e.mock.On("CloseSend")} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) CloseSend() *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res]{Call: _e.mock.On("CloseSend")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call) RunAndReturn(run func() error) *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res]) RunAndReturn(run func() error) *MockCollectionConfigService_WaitForProbeConfigClient_CloseSend_Call[Req, Res] { _c.Call.Return(run) return _c } -// Context provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -88,34 +89,34 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Context() contex } // MockCollectionConfigService_WaitForProbeConfigClient_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockCollectionConfigService_WaitForProbeConfigClient_Context_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) Context() *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) Context() *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call) Return(_a0 context.Context) *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res]) Return(_a0 context.Context) *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call) RunAndReturn(run func() context.Context) *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockCollectionConfigService_WaitForProbeConfigClient_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Header provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Header() (metadata.MD, error) { +// Header provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) Header() (metadata.MD, error) { ret := _m.Called() if len(ret) == 0 { @@ -145,34 +146,34 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Header() (metada } // MockCollectionConfigService_WaitForProbeConfigClient_Header_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Header' -type MockCollectionConfigService_WaitForProbeConfigClient_Header_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Header is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) Header() *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_Header_Call{Call: _e.mock.On("Header")} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) Header() *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res]{Call: _e.mock.On("Header")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call) Return(_a0 metadata.MD, _a1 error) *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res]) Return(_a0 metadata.MD, _a1 error) *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call) RunAndReturn(run func() (metadata.MD, error)) *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res]) RunAndReturn(run func() (metadata.MD, error)) *MockCollectionConfigService_WaitForProbeConfigClient_Header_Call[Req, Res] { _c.Call.Return(run) return _c } -// Recv provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Recv() (*WaitForProbeConfigRequest, error) { +// Recv provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) Recv() (*WaitForProbeConfigRequest, error) { ret := _m.Called() if len(ret) == 0 { @@ -202,34 +203,34 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Recv() (*WaitFor } // MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' -type MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Recv is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) Recv() *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call{Call: _e.mock.On("Recv")} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) Recv() *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res]{Call: _e.mock.On("Recv")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call) Return(_a0 *WaitForProbeConfigRequest, _a1 error) *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res]) Return(_a0 *WaitForProbeConfigRequest, _a1 error) *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call) RunAndReturn(run func() (*WaitForProbeConfigRequest, error)) *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res]) RunAndReturn(run func() (*WaitForProbeConfigRequest, error)) *MockCollectionConfigService_WaitForProbeConfigClient_Recv_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) RecvMsg(m interface{}) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -247,35 +248,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) RecvMsg(m interf } // MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) RecvMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) RecvMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigClient_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // Send provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Send(_a0 *WaitForProbeConfigResponse) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) Send(_a0 *WaitForProbeConfigResponse) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -293,35 +294,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Send(_a0 *WaitFo } // MockCollectionConfigService_WaitForProbeConfigClient_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' -type MockCollectionConfigService_WaitForProbeConfigClient_Send_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Send is a helper method to define mock.On call // - _a0 *WaitForProbeConfigResponse -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) Send(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_Send_Call{Call: _e.mock.On("Send", _a0)} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) Send(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res]{Call: _e.mock.On("Send", _a0)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call) Run(run func(_a0 *WaitForProbeConfigResponse)) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res]) Run(run func(_a0 *WaitForProbeConfigResponse)) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*WaitForProbeConfigResponse)) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call) RunAndReturn(run func(*WaitForProbeConfigResponse) error) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res]) RunAndReturn(run func(*WaitForProbeConfigResponse) error) *MockCollectionConfigService_WaitForProbeConfigClient_Send_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) SendMsg(m interface{}) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -339,35 +340,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) SendMsg(m interf } // MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) SendMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) SendMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigClient_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } -// Trailer provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Trailer() metadata.MD { +// Trailer provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]) Trailer() metadata.MD { ret := _m.Called() if len(ret) == 0 { @@ -387,39 +388,39 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigClient) Trailer() metada } // MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Trailer' -type MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call struct { +type MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Trailer is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter) Trailer() *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call { - return &MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call{Call: _e.mock.On("Trailer")} +func (_e *MockCollectionConfigService_WaitForProbeConfigClient_Expecter[Req, Res]) Trailer() *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res]{Call: _e.mock.On("Trailer")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call) Return(_a0 metadata.MD) *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res]) Return(_a0 metadata.MD) *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call) RunAndReturn(run func() metadata.MD) *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res]) RunAndReturn(run func() metadata.MD) *MockCollectionConfigService_WaitForProbeConfigClient_Trailer_Call[Req, Res] { _c.Call.Return(run) return _c } // NewMockCollectionConfigService_WaitForProbeConfigClient creates a new instance of MockCollectionConfigService_WaitForProbeConfigClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockCollectionConfigService_WaitForProbeConfigClient(t interface { +func NewMockCollectionConfigService_WaitForProbeConfigClient[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockCollectionConfigService_WaitForProbeConfigClient { - mock := &MockCollectionConfigService_WaitForProbeConfigClient{} +}) *MockCollectionConfigService_WaitForProbeConfigClient[Req, Res] { + mock := &MockCollectionConfigService_WaitForProbeConfigClient[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigServer.go b/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigServer.go index d7689d3..7c64d7c 100644 --- a/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigServer.go +++ b/go/cloud/collection/mock_CollectionConfigService_WaitForProbeConfigServer.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockCollectionConfigService_WaitForProbeConfigServer is an autogenerated mock type for the CollectionConfigService_WaitForProbeConfigServer type -type MockCollectionConfigService_WaitForProbeConfigServer struct { +type MockCollectionConfigService_WaitForProbeConfigServer[Req interface{}, Res interface{}] struct { mock.Mock } -type MockCollectionConfigService_WaitForProbeConfigServer_Expecter struct { +type MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) EXPECT() *MockCollectionConfigService_WaitForProbeConfigServer_Expecter { - return &MockCollectionConfigService_WaitForProbeConfigServer_Expecter{mock: &_m.Mock} +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) EXPECT() *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]{mock: &_m.Mock} } -// Context provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -43,34 +44,34 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) Context() contex } // MockCollectionConfigService_WaitForProbeConfigServer_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockCollectionConfigService_WaitForProbeConfigServer_Context_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) Context() *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) Context() *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call) Return(_a0 context.Context) *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res]) Return(_a0 context.Context) *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call) RunAndReturn(run func() context.Context) *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockCollectionConfigService_WaitForProbeConfigServer_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Recv provides a mock function with given fields: -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) Recv() (*WaitForProbeConfigResponse, error) { +// Recv provides a mock function with no fields +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) Recv() (*WaitForProbeConfigResponse, error) { ret := _m.Called() if len(ret) == 0 { @@ -100,34 +101,34 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) Recv() (*WaitFor } // MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' -type MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Recv is a helper method to define mock.On call -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) Recv() *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call{Call: _e.mock.On("Recv")} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) Recv() *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res]{Call: _e.mock.On("Recv")} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res]) Run(run func()) *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call) Return(_a0 *WaitForProbeConfigResponse, _a1 error) *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res]) Return(_a0 *WaitForProbeConfigResponse, _a1 error) *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call) RunAndReturn(run func() (*WaitForProbeConfigResponse, error)) *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res]) RunAndReturn(run func() (*WaitForProbeConfigResponse, error)) *MockCollectionConfigService_WaitForProbeConfigServer_Recv_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) RecvMsg(m interface{}) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -145,35 +146,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) RecvMsg(m interf } // MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) RecvMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) RecvMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigServer_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // Send provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) Send(_a0 *WaitForProbeConfigRequest) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) Send(_a0 *WaitForProbeConfigRequest) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -191,35 +192,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) Send(_a0 *WaitFo } // MockCollectionConfigService_WaitForProbeConfigServer_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' -type MockCollectionConfigService_WaitForProbeConfigServer_Send_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Send is a helper method to define mock.On call // - _a0 *WaitForProbeConfigRequest -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) Send(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_Send_Call{Call: _e.mock.On("Send", _a0)} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) Send(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res]{Call: _e.mock.On("Send", _a0)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call) Run(run func(_a0 *WaitForProbeConfigRequest)) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res]) Run(run func(_a0 *WaitForProbeConfigRequest)) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*WaitForProbeConfigRequest)) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call) RunAndReturn(run func(*WaitForProbeConfigRequest) error) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res]) RunAndReturn(run func(*WaitForProbeConfigRequest) error) *MockCollectionConfigService_WaitForProbeConfigServer_Send_Call[Req, Res] { _c.Call.Return(run) return _c } // SendHeader provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SendHeader(_a0 metadata.MD) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) SendHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -237,35 +238,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SendHeader(_a0 m } // MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendHeader' -type MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) SendHeader(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call{Call: _e.mock.On("SendHeader", _a0)} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) SendHeader(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res]{Call: _e.mock.On("SendHeader", _a0)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_WaitForProbeConfigServer_SendHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SendMsg(m interface{}) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -283,35 +284,35 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SendMsg(m interf } // MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) SendMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) SendMsg(m interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockCollectionConfigService_WaitForProbeConfigServer_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SetHeader provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SetHeader(_a0 metadata.MD) error { +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) SetHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -329,73 +330,73 @@ func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SetHeader(_a0 me } // MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetHeader' -type MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) SetHeader(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call{Call: _e.mock.On("SetHeader", _a0)} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) SetHeader(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res]{Call: _e.mock.On("SetHeader", _a0)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res]) Return(_a0 error) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockCollectionConfigService_WaitForProbeConfigServer_SetHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SetTrailer provides a mock function with given fields: _a0 -func (_m *MockCollectionConfigService_WaitForProbeConfigServer) SetTrailer(_a0 metadata.MD) { +func (_m *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]) SetTrailer(_a0 metadata.MD) { _m.Called(_a0) } // MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetTrailer' -type MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call struct { +type MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetTrailer is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter) SetTrailer(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call { - return &MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call{Call: _e.mock.On("SetTrailer", _a0)} +func (_e *MockCollectionConfigService_WaitForProbeConfigServer_Expecter[Req, Res]) SetTrailer(_a0 interface{}) *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res] { + return &MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res]{Call: _e.mock.On("SetTrailer", _a0)} } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call) Return() *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call { +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res]) Return() *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res] { _c.Call.Return() return _c } -func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call { - _c.Call.Return(run) +func (_c *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res]) RunAndReturn(run func(metadata.MD)) *MockCollectionConfigService_WaitForProbeConfigServer_SetTrailer_Call[Req, Res] { + _c.Run(run) return _c } // NewMockCollectionConfigService_WaitForProbeConfigServer creates a new instance of MockCollectionConfigService_WaitForProbeConfigServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockCollectionConfigService_WaitForProbeConfigServer(t interface { +func NewMockCollectionConfigService_WaitForProbeConfigServer[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockCollectionConfigService_WaitForProbeConfigServer { - mock := &MockCollectionConfigService_WaitForProbeConfigServer{} +}) *MockCollectionConfigService_WaitForProbeConfigServer[Req, Res] { + mock := &MockCollectionConfigService_WaitForProbeConfigServer[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/collection/mock_ServerStreamingClient.go b/go/cloud/collection/mock_ServerStreamingClient.go new file mode 100644 index 0000000..9fccd6f --- /dev/null +++ b/go/cloud/collection/mock_ServerStreamingClient.go @@ -0,0 +1,383 @@ +// Code generated by mockery v2.44.2. DO NOT EDIT. + +package collection + +import ( + context "context" + + metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" +) + +// MockServerStreamingClient is an autogenerated mock type for the ServerStreamingClient type +type MockServerStreamingClient[Res interface{}] struct { + mock.Mock +} + +type MockServerStreamingClient_Expecter[Res interface{}] struct { + mock *mock.Mock +} + +func (_m *MockServerStreamingClient[Res]) EXPECT() *MockServerStreamingClient_Expecter[Res] { + return &MockServerStreamingClient_Expecter[Res]{mock: &_m.Mock} +} + +// CloseSend provides a mock function with given fields: +func (_m *MockServerStreamingClient[Res]) CloseSend() error { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for CloseSend") + } + + var r0 error + if rf, ok := ret.Get(0).(func() error); ok { + r0 = rf() + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingClient_CloseSend_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseSend' +type MockServerStreamingClient_CloseSend_Call[Res interface{}] struct { + *mock.Call +} + +// CloseSend is a helper method to define mock.On call +func (_e *MockServerStreamingClient_Expecter[Res]) CloseSend() *MockServerStreamingClient_CloseSend_Call[Res] { + return &MockServerStreamingClient_CloseSend_Call[Res]{Call: _e.mock.On("CloseSend")} +} + +func (_c *MockServerStreamingClient_CloseSend_Call[Res]) Run(run func()) *MockServerStreamingClient_CloseSend_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockServerStreamingClient_CloseSend_Call[Res]) Return(_a0 error) *MockServerStreamingClient_CloseSend_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingClient_CloseSend_Call[Res]) RunAndReturn(run func() error) *MockServerStreamingClient_CloseSend_Call[Res] { + _c.Call.Return(run) + return _c +} + +// Context provides a mock function with given fields: +func (_m *MockServerStreamingClient[Res]) Context() context.Context { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for Context") + } + + var r0 context.Context + if rf, ok := ret.Get(0).(func() context.Context); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(context.Context) + } + } + + return r0 +} + +// MockServerStreamingClient_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' +type MockServerStreamingClient_Context_Call[Res interface{}] struct { + *mock.Call +} + +// Context is a helper method to define mock.On call +func (_e *MockServerStreamingClient_Expecter[Res]) Context() *MockServerStreamingClient_Context_Call[Res] { + return &MockServerStreamingClient_Context_Call[Res]{Call: _e.mock.On("Context")} +} + +func (_c *MockServerStreamingClient_Context_Call[Res]) Run(run func()) *MockServerStreamingClient_Context_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockServerStreamingClient_Context_Call[Res]) Return(_a0 context.Context) *MockServerStreamingClient_Context_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingClient_Context_Call[Res]) RunAndReturn(run func() context.Context) *MockServerStreamingClient_Context_Call[Res] { + _c.Call.Return(run) + return _c +} + +// Header provides a mock function with given fields: +func (_m *MockServerStreamingClient[Res]) Header() (metadata.MD, error) { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for Header") + } + + var r0 metadata.MD + var r1 error + if rf, ok := ret.Get(0).(func() (metadata.MD, error)); ok { + return rf() + } + if rf, ok := ret.Get(0).(func() metadata.MD); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(metadata.MD) + } + } + + if rf, ok := ret.Get(1).(func() error); ok { + r1 = rf() + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MockServerStreamingClient_Header_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Header' +type MockServerStreamingClient_Header_Call[Res interface{}] struct { + *mock.Call +} + +// Header is a helper method to define mock.On call +func (_e *MockServerStreamingClient_Expecter[Res]) Header() *MockServerStreamingClient_Header_Call[Res] { + return &MockServerStreamingClient_Header_Call[Res]{Call: _e.mock.On("Header")} +} + +func (_c *MockServerStreamingClient_Header_Call[Res]) Run(run func()) *MockServerStreamingClient_Header_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockServerStreamingClient_Header_Call[Res]) Return(_a0 metadata.MD, _a1 error) *MockServerStreamingClient_Header_Call[Res] { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *MockServerStreamingClient_Header_Call[Res]) RunAndReturn(run func() (metadata.MD, error)) *MockServerStreamingClient_Header_Call[Res] { + _c.Call.Return(run) + return _c +} + +// Recv provides a mock function with given fields: +func (_m *MockServerStreamingClient[Res]) Recv() (*GetConfigStreamResponse, error) { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for Recv") + } + + var r0 *GetConfigStreamResponse + var r1 error + if rf, ok := ret.Get(0).(func() (*GetConfigStreamResponse, error)); ok { + return rf() + } + if rf, ok := ret.Get(0).(func() *GetConfigStreamResponse); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*GetConfigStreamResponse) + } + } + + if rf, ok := ret.Get(1).(func() error); ok { + r1 = rf() + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MockServerStreamingClient_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' +type MockServerStreamingClient_Recv_Call[Res interface{}] struct { + *mock.Call +} + +// Recv is a helper method to define mock.On call +func (_e *MockServerStreamingClient_Expecter[Res]) Recv() *MockServerStreamingClient_Recv_Call[Res] { + return &MockServerStreamingClient_Recv_Call[Res]{Call: _e.mock.On("Recv")} +} + +func (_c *MockServerStreamingClient_Recv_Call[Res]) Run(run func()) *MockServerStreamingClient_Recv_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockServerStreamingClient_Recv_Call[Res]) Return(_a0 *GetConfigStreamResponse, _a1 error) *MockServerStreamingClient_Recv_Call[Res] { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *MockServerStreamingClient_Recv_Call[Res]) RunAndReturn(run func() (*GetConfigStreamResponse, error)) *MockServerStreamingClient_Recv_Call[Res] { + _c.Call.Return(run) + return _c +} + +// RecvMsg provides a mock function with given fields: m +func (_m *MockServerStreamingClient[Res]) RecvMsg(m interface{}) error { + ret := _m.Called(m) + + if len(ret) == 0 { + panic("no return value specified for RecvMsg") + } + + var r0 error + if rf, ok := ret.Get(0).(func(interface{}) error); ok { + r0 = rf(m) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingClient_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' +type MockServerStreamingClient_RecvMsg_Call[Res interface{}] struct { + *mock.Call +} + +// RecvMsg is a helper method to define mock.On call +// - m interface{} +func (_e *MockServerStreamingClient_Expecter[Res]) RecvMsg(m interface{}) *MockServerStreamingClient_RecvMsg_Call[Res] { + return &MockServerStreamingClient_RecvMsg_Call[Res]{Call: _e.mock.On("RecvMsg", m)} +} + +func (_c *MockServerStreamingClient_RecvMsg_Call[Res]) Run(run func(m interface{})) *MockServerStreamingClient_RecvMsg_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(interface{})) + }) + return _c +} + +func (_c *MockServerStreamingClient_RecvMsg_Call[Res]) Return(_a0 error) *MockServerStreamingClient_RecvMsg_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingClient_RecvMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockServerStreamingClient_RecvMsg_Call[Res] { + _c.Call.Return(run) + return _c +} + +// SendMsg provides a mock function with given fields: m +func (_m *MockServerStreamingClient[Res]) SendMsg(m interface{}) error { + ret := _m.Called(m) + + if len(ret) == 0 { + panic("no return value specified for SendMsg") + } + + var r0 error + if rf, ok := ret.Get(0).(func(interface{}) error); ok { + r0 = rf(m) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingClient_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' +type MockServerStreamingClient_SendMsg_Call[Res interface{}] struct { + *mock.Call +} + +// SendMsg is a helper method to define mock.On call +// - m interface{} +func (_e *MockServerStreamingClient_Expecter[Res]) SendMsg(m interface{}) *MockServerStreamingClient_SendMsg_Call[Res] { + return &MockServerStreamingClient_SendMsg_Call[Res]{Call: _e.mock.On("SendMsg", m)} +} + +func (_c *MockServerStreamingClient_SendMsg_Call[Res]) Run(run func(m interface{})) *MockServerStreamingClient_SendMsg_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(interface{})) + }) + return _c +} + +func (_c *MockServerStreamingClient_SendMsg_Call[Res]) Return(_a0 error) *MockServerStreamingClient_SendMsg_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingClient_SendMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockServerStreamingClient_SendMsg_Call[Res] { + _c.Call.Return(run) + return _c +} + +// Trailer provides a mock function with given fields: +func (_m *MockServerStreamingClient[Res]) Trailer() metadata.MD { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for Trailer") + } + + var r0 metadata.MD + if rf, ok := ret.Get(0).(func() metadata.MD); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(metadata.MD) + } + } + + return r0 +} + +// MockServerStreamingClient_Trailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Trailer' +type MockServerStreamingClient_Trailer_Call[Res interface{}] struct { + *mock.Call +} + +// Trailer is a helper method to define mock.On call +func (_e *MockServerStreamingClient_Expecter[Res]) Trailer() *MockServerStreamingClient_Trailer_Call[Res] { + return &MockServerStreamingClient_Trailer_Call[Res]{Call: _e.mock.On("Trailer")} +} + +func (_c *MockServerStreamingClient_Trailer_Call[Res]) Run(run func()) *MockServerStreamingClient_Trailer_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockServerStreamingClient_Trailer_Call[Res]) Return(_a0 metadata.MD) *MockServerStreamingClient_Trailer_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingClient_Trailer_Call[Res]) RunAndReturn(run func() metadata.MD) *MockServerStreamingClient_Trailer_Call[Res] { + _c.Call.Return(run) + return _c +} + +// NewMockServerStreamingClient creates a new instance of MockServerStreamingClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMockServerStreamingClient[Res interface{}](t interface { + mock.TestingT + Cleanup(func()) +}) *MockServerStreamingClient[Res] { + mock := &MockServerStreamingClient[Res]{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/go/cloud/collection/mock_ServerStreamingServer.go b/go/cloud/collection/mock_ServerStreamingServer.go new file mode 100644 index 0000000..da83374 --- /dev/null +++ b/go/cloud/collection/mock_ServerStreamingServer.go @@ -0,0 +1,348 @@ +// Code generated by mockery v2.44.2. DO NOT EDIT. + +package collection + +import ( + context "context" + + metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" +) + +// MockServerStreamingServer is an autogenerated mock type for the ServerStreamingServer type +type MockServerStreamingServer[Res interface{}] struct { + mock.Mock +} + +type MockServerStreamingServer_Expecter[Res interface{}] struct { + mock *mock.Mock +} + +func (_m *MockServerStreamingServer[Res]) EXPECT() *MockServerStreamingServer_Expecter[Res] { + return &MockServerStreamingServer_Expecter[Res]{mock: &_m.Mock} +} + +// Context provides a mock function with given fields: +func (_m *MockServerStreamingServer[Res]) Context() context.Context { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for Context") + } + + var r0 context.Context + if rf, ok := ret.Get(0).(func() context.Context); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(context.Context) + } + } + + return r0 +} + +// MockServerStreamingServer_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' +type MockServerStreamingServer_Context_Call[Res interface{}] struct { + *mock.Call +} + +// Context is a helper method to define mock.On call +func (_e *MockServerStreamingServer_Expecter[Res]) Context() *MockServerStreamingServer_Context_Call[Res] { + return &MockServerStreamingServer_Context_Call[Res]{Call: _e.mock.On("Context")} +} + +func (_c *MockServerStreamingServer_Context_Call[Res]) Run(run func()) *MockServerStreamingServer_Context_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockServerStreamingServer_Context_Call[Res]) Return(_a0 context.Context) *MockServerStreamingServer_Context_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingServer_Context_Call[Res]) RunAndReturn(run func() context.Context) *MockServerStreamingServer_Context_Call[Res] { + _c.Call.Return(run) + return _c +} + +// RecvMsg provides a mock function with given fields: m +func (_m *MockServerStreamingServer[Res]) RecvMsg(m interface{}) error { + ret := _m.Called(m) + + if len(ret) == 0 { + panic("no return value specified for RecvMsg") + } + + var r0 error + if rf, ok := ret.Get(0).(func(interface{}) error); ok { + r0 = rf(m) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingServer_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' +type MockServerStreamingServer_RecvMsg_Call[Res interface{}] struct { + *mock.Call +} + +// RecvMsg is a helper method to define mock.On call +// - m interface{} +func (_e *MockServerStreamingServer_Expecter[Res]) RecvMsg(m interface{}) *MockServerStreamingServer_RecvMsg_Call[Res] { + return &MockServerStreamingServer_RecvMsg_Call[Res]{Call: _e.mock.On("RecvMsg", m)} +} + +func (_c *MockServerStreamingServer_RecvMsg_Call[Res]) Run(run func(m interface{})) *MockServerStreamingServer_RecvMsg_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(interface{})) + }) + return _c +} + +func (_c *MockServerStreamingServer_RecvMsg_Call[Res]) Return(_a0 error) *MockServerStreamingServer_RecvMsg_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingServer_RecvMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockServerStreamingServer_RecvMsg_Call[Res] { + _c.Call.Return(run) + return _c +} + +// Send provides a mock function with given fields: _a0 +func (_m *MockServerStreamingServer[Res]) Send(_a0 *GetConfigStreamResponse) error { + ret := _m.Called(_a0) + + if len(ret) == 0 { + panic("no return value specified for Send") + } + + var r0 error + if rf, ok := ret.Get(0).(func(*GetConfigStreamResponse) error); ok { + r0 = rf(_a0) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingServer_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' +type MockServerStreamingServer_Send_Call[Res interface{}] struct { + *mock.Call +} + +// Send is a helper method to define mock.On call +// - _a0 *GetConfigStreamResponse +func (_e *MockServerStreamingServer_Expecter[Res]) Send(_a0 interface{}) *MockServerStreamingServer_Send_Call[Res] { + return &MockServerStreamingServer_Send_Call[Res]{Call: _e.mock.On("Send", _a0)} +} + +func (_c *MockServerStreamingServer_Send_Call[Res]) Run(run func(_a0 *GetConfigStreamResponse)) *MockServerStreamingServer_Send_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(*GetConfigStreamResponse)) + }) + return _c +} + +func (_c *MockServerStreamingServer_Send_Call[Res]) Return(_a0 error) *MockServerStreamingServer_Send_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingServer_Send_Call[Res]) RunAndReturn(run func(*GetConfigStreamResponse) error) *MockServerStreamingServer_Send_Call[Res] { + _c.Call.Return(run) + return _c +} + +// SendHeader provides a mock function with given fields: _a0 +func (_m *MockServerStreamingServer[Res]) SendHeader(_a0 metadata.MD) error { + ret := _m.Called(_a0) + + if len(ret) == 0 { + panic("no return value specified for SendHeader") + } + + var r0 error + if rf, ok := ret.Get(0).(func(metadata.MD) error); ok { + r0 = rf(_a0) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingServer_SendHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendHeader' +type MockServerStreamingServer_SendHeader_Call[Res interface{}] struct { + *mock.Call +} + +// SendHeader is a helper method to define mock.On call +// - _a0 metadata.MD +func (_e *MockServerStreamingServer_Expecter[Res]) SendHeader(_a0 interface{}) *MockServerStreamingServer_SendHeader_Call[Res] { + return &MockServerStreamingServer_SendHeader_Call[Res]{Call: _e.mock.On("SendHeader", _a0)} +} + +func (_c *MockServerStreamingServer_SendHeader_Call[Res]) Run(run func(_a0 metadata.MD)) *MockServerStreamingServer_SendHeader_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(metadata.MD)) + }) + return _c +} + +func (_c *MockServerStreamingServer_SendHeader_Call[Res]) Return(_a0 error) *MockServerStreamingServer_SendHeader_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingServer_SendHeader_Call[Res]) RunAndReturn(run func(metadata.MD) error) *MockServerStreamingServer_SendHeader_Call[Res] { + _c.Call.Return(run) + return _c +} + +// SendMsg provides a mock function with given fields: m +func (_m *MockServerStreamingServer[Res]) SendMsg(m interface{}) error { + ret := _m.Called(m) + + if len(ret) == 0 { + panic("no return value specified for SendMsg") + } + + var r0 error + if rf, ok := ret.Get(0).(func(interface{}) error); ok { + r0 = rf(m) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingServer_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' +type MockServerStreamingServer_SendMsg_Call[Res interface{}] struct { + *mock.Call +} + +// SendMsg is a helper method to define mock.On call +// - m interface{} +func (_e *MockServerStreamingServer_Expecter[Res]) SendMsg(m interface{}) *MockServerStreamingServer_SendMsg_Call[Res] { + return &MockServerStreamingServer_SendMsg_Call[Res]{Call: _e.mock.On("SendMsg", m)} +} + +func (_c *MockServerStreamingServer_SendMsg_Call[Res]) Run(run func(m interface{})) *MockServerStreamingServer_SendMsg_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(interface{})) + }) + return _c +} + +func (_c *MockServerStreamingServer_SendMsg_Call[Res]) Return(_a0 error) *MockServerStreamingServer_SendMsg_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingServer_SendMsg_Call[Res]) RunAndReturn(run func(interface{}) error) *MockServerStreamingServer_SendMsg_Call[Res] { + _c.Call.Return(run) + return _c +} + +// SetHeader provides a mock function with given fields: _a0 +func (_m *MockServerStreamingServer[Res]) SetHeader(_a0 metadata.MD) error { + ret := _m.Called(_a0) + + if len(ret) == 0 { + panic("no return value specified for SetHeader") + } + + var r0 error + if rf, ok := ret.Get(0).(func(metadata.MD) error); ok { + r0 = rf(_a0) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// MockServerStreamingServer_SetHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetHeader' +type MockServerStreamingServer_SetHeader_Call[Res interface{}] struct { + *mock.Call +} + +// SetHeader is a helper method to define mock.On call +// - _a0 metadata.MD +func (_e *MockServerStreamingServer_Expecter[Res]) SetHeader(_a0 interface{}) *MockServerStreamingServer_SetHeader_Call[Res] { + return &MockServerStreamingServer_SetHeader_Call[Res]{Call: _e.mock.On("SetHeader", _a0)} +} + +func (_c *MockServerStreamingServer_SetHeader_Call[Res]) Run(run func(_a0 metadata.MD)) *MockServerStreamingServer_SetHeader_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(metadata.MD)) + }) + return _c +} + +func (_c *MockServerStreamingServer_SetHeader_Call[Res]) Return(_a0 error) *MockServerStreamingServer_SetHeader_Call[Res] { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockServerStreamingServer_SetHeader_Call[Res]) RunAndReturn(run func(metadata.MD) error) *MockServerStreamingServer_SetHeader_Call[Res] { + _c.Call.Return(run) + return _c +} + +// SetTrailer provides a mock function with given fields: _a0 +func (_m *MockServerStreamingServer[Res]) SetTrailer(_a0 metadata.MD) { + _m.Called(_a0) +} + +// MockServerStreamingServer_SetTrailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetTrailer' +type MockServerStreamingServer_SetTrailer_Call[Res interface{}] struct { + *mock.Call +} + +// SetTrailer is a helper method to define mock.On call +// - _a0 metadata.MD +func (_e *MockServerStreamingServer_Expecter[Res]) SetTrailer(_a0 interface{}) *MockServerStreamingServer_SetTrailer_Call[Res] { + return &MockServerStreamingServer_SetTrailer_Call[Res]{Call: _e.mock.On("SetTrailer", _a0)} +} + +func (_c *MockServerStreamingServer_SetTrailer_Call[Res]) Run(run func(_a0 metadata.MD)) *MockServerStreamingServer_SetTrailer_Call[Res] { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(metadata.MD)) + }) + return _c +} + +func (_c *MockServerStreamingServer_SetTrailer_Call[Res]) Return() *MockServerStreamingServer_SetTrailer_Call[Res] { + _c.Call.Return() + return _c +} + +func (_c *MockServerStreamingServer_SetTrailer_Call[Res]) RunAndReturn(run func(metadata.MD)) *MockServerStreamingServer_SetTrailer_Call[Res] { + _c.Call.Return(run) + return _c +} + +// NewMockServerStreamingServer creates a new instance of MockServerStreamingServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMockServerStreamingServer[Res interface{}](t interface { + mock.TestingT + Cleanup(func()) +}) *MockServerStreamingServer[Res] { + mock := &MockServerStreamingServer[Res]{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/go/cloud/collection/mock_UnsafeCollectionConfigServiceServer.go b/go/cloud/collection/mock_UnsafeCollectionConfigServiceServer.go index c203662..1096fbe 100644 --- a/go/cloud/collection/mock_UnsafeCollectionConfigServiceServer.go +++ b/go/cloud/collection/mock_UnsafeCollectionConfigServiceServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection @@ -17,7 +17,7 @@ func (_m *MockUnsafeCollectionConfigServiceServer) EXPECT() *MockUnsafeCollectio return &MockUnsafeCollectionConfigServiceServer_Expecter{mock: &_m.Mock} } -// mustEmbedUnimplementedCollectionConfigServiceServer provides a mock function with given fields: +// mustEmbedUnimplementedCollectionConfigServiceServer provides a mock function with no fields func (_m *MockUnsafeCollectionConfigServiceServer) mustEmbedUnimplementedCollectionConfigServiceServer() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *MockUnsafeCollectionConfigServiceServer_mustEmbedUnimplementedCollecti } func (_c *MockUnsafeCollectionConfigServiceServer_mustEmbedUnimplementedCollectionConfigServiceServer_Call) RunAndReturn(run func()) *MockUnsafeCollectionConfigServiceServer_mustEmbedUnimplementedCollectionConfigServiceServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/collection/mock_isProbeResult_Result.go b/go/cloud/collection/mock_isProbeResult_Result.go index de8e2a1..f2f931c 100644 --- a/go/cloud/collection/mock_isProbeResult_Result.go +++ b/go/cloud/collection/mock_isProbeResult_Result.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package collection @@ -17,7 +17,7 @@ func (_m *mockIsProbeResult_Result) EXPECT() *mockIsProbeResult_Result_Expecter return &mockIsProbeResult_Result_Expecter{mock: &_m.Mock} } -// isProbeResult_Result provides a mock function with given fields: +// isProbeResult_Result provides a mock function with no fields func (_m *mockIsProbeResult_Result) isProbeResult_Result() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *mockIsProbeResult_Result_isProbeResult_Result_Call) Return() *mockIsPr } func (_c *mockIsProbeResult_Result_isProbeResult_Result_Call) RunAndReturn(run func()) *mockIsProbeResult_Result_isProbeResult_Result_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/credentials/credentials.pb.go b/go/cloud/credentials/credentials.pb.go index f3c167b..c06bca6 100644 --- a/go/cloud/credentials/credentials.pb.go +++ b/go/cloud/credentials/credentials.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.36.4 // protoc (unknown) // source: zenoss/cloud/credentials.proto @@ -13,6 +13,7 @@ import ( _ "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -23,22 +24,19 @@ const ( ) type Credential struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Info *Info `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Secrets map[string]string `protobuf:"bytes,3,rep,name=secrets,proto3" json:"secrets,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Info *Info `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` - Secrets map[string]string `protobuf:"bytes,3,rep,name=secrets,proto3" json:"secrets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *Credential) Reset() { *x = Credential{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_credentials_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_credentials_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Credential) String() string { @@ -49,7 +47,7 @@ func (*Credential) ProtoMessage() {} func (x *Credential) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_credentials_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -86,23 +84,20 @@ func (x *Credential) GetSecrets() map[string]string { } type Info struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Info) Reset() { *x = Info{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_credentials_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_credentials_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Info) String() string { @@ -113,7 +108,7 @@ func (*Info) ProtoMessage() {} func (x *Info) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_credentials_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -157,20 +152,17 @@ func (x *Info) GetTags() []string { } type GetCredentialRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetCredentialRequest) Reset() { *x = GetCredentialRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_credentials_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_credentials_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetCredentialRequest) String() string { @@ -181,7 +173,7 @@ func (*GetCredentialRequest) ProtoMessage() {} func (x *GetCredentialRequest) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_credentials_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -204,20 +196,17 @@ func (x *GetCredentialRequest) GetId() string { } type GetCredentialResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Credential *Credential `protobuf:"bytes,1,opt,name=credential,proto3" json:"credential,omitempty"` unknownFields protoimpl.UnknownFields - - Credential *Credential `protobuf:"bytes,1,opt,name=credential,proto3" json:"credential,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetCredentialResponse) Reset() { *x = GetCredentialResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_credentials_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_credentials_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetCredentialResponse) String() string { @@ -228,7 +217,7 @@ func (*GetCredentialResponse) ProtoMessage() {} func (x *GetCredentialResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_credentials_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -252,7 +241,7 @@ func (x *GetCredentialResponse) GetCredential() *Credential { var File_zenoss_cloud_credentials_proto protoreflect.FileDescriptor -var file_zenoss_cloud_credentials_proto_rawDesc = []byte{ +var file_zenoss_cloud_credentials_proto_rawDesc = string([]byte{ 0x0a, 0x1e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, @@ -306,22 +295,22 @@ var file_zenoss_cloud_credentials_proto_rawDesc = []byte{ 0x6e, 0x6f, 0x73, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +}) var ( file_zenoss_cloud_credentials_proto_rawDescOnce sync.Once - file_zenoss_cloud_credentials_proto_rawDescData = file_zenoss_cloud_credentials_proto_rawDesc + file_zenoss_cloud_credentials_proto_rawDescData []byte ) func file_zenoss_cloud_credentials_proto_rawDescGZIP() []byte { file_zenoss_cloud_credentials_proto_rawDescOnce.Do(func() { - file_zenoss_cloud_credentials_proto_rawDescData = protoimpl.X.CompressGZIP(file_zenoss_cloud_credentials_proto_rawDescData) + file_zenoss_cloud_credentials_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_zenoss_cloud_credentials_proto_rawDesc), len(file_zenoss_cloud_credentials_proto_rawDesc))) }) return file_zenoss_cloud_credentials_proto_rawDescData } var file_zenoss_cloud_credentials_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_zenoss_cloud_credentials_proto_goTypes = []interface{}{ +var file_zenoss_cloud_credentials_proto_goTypes = []any{ (*Credential)(nil), // 0: zenoss.cloud.credentials.Credential (*Info)(nil), // 1: zenoss.cloud.credentials.Info (*GetCredentialRequest)(nil), // 2: zenoss.cloud.credentials.GetCredentialRequest @@ -346,61 +335,11 @@ func file_zenoss_cloud_credentials_proto_init() { if File_zenoss_cloud_credentials_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_zenoss_cloud_credentials_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credential); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_credentials_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Info); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_credentials_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCredentialRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_credentials_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCredentialResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_zenoss_cloud_credentials_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_zenoss_cloud_credentials_proto_rawDesc), len(file_zenoss_cloud_credentials_proto_rawDesc)), NumEnums: 0, NumMessages: 5, NumExtensions: 0, @@ -411,7 +350,6 @@ func file_zenoss_cloud_credentials_proto_init() { MessageInfos: file_zenoss_cloud_credentials_proto_msgTypes, }.Build() File_zenoss_cloud_credentials_proto = out.File - file_zenoss_cloud_credentials_proto_rawDesc = nil file_zenoss_cloud_credentials_proto_goTypes = nil file_zenoss_cloud_credentials_proto_depIdxs = nil } diff --git a/go/cloud/credentials/credentials.pb.gw.go b/go/cloud/credentials/credentials.pb.gw.go index 6df56cb..f66dc74 100644 --- a/go/cloud/credentials/credentials.pb.gw.go +++ b/go/cloud/credentials/credentials.pb.gw.go @@ -10,6 +10,7 @@ package credentials import ( "context" + "errors" "io" "net/http" @@ -24,80 +25,65 @@ import ( ) // Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join +var ( + _ codes.Code + _ io.Reader + _ status.Status + _ = errors.New + _ = runtime.String + _ = utilities.NewDoubleArray + _ = metadata.Join +) func request_CredentialManagement_GetCredential_0(ctx context.Context, marshaler runtime.Marshaler, client CredentialManagementClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetCredentialRequest - var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err + protoReq GetCredentialRequest + metadata runtime.ServerMetadata + err error ) - - val, ok = pathParams["id"] + val, ok := pathParams["id"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") } - protoReq.Id, err = runtime.String(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := client.GetCredential(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err - } func local_request_CredentialManagement_GetCredential_0(ctx context.Context, marshaler runtime.Marshaler, server CredentialManagementServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetCredentialRequest - var metadata runtime.ServerMetadata - var ( - val string - ok bool - err error - _ = err + protoReq GetCredentialRequest + metadata runtime.ServerMetadata + err error ) - - val, ok = pathParams["id"] + val, ok := pathParams["id"] if !ok { return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") } - protoReq.Id, err = runtime.String(val) if err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) } - msg, err := server.GetCredential(ctx, &protoReq) return msg, metadata, err - } // RegisterCredentialManagementHandlerServer registers the http handlers for service CredentialManagement to "mux". // UnaryRPC :call CredentialManagementServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCredentialManagementHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. func RegisterCredentialManagementHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CredentialManagementServer) error { - - mux.Handle("GET", pattern_CredentialManagement_GetCredential_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodGet, pattern_CredentialManagement_GetCredential_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.credentials.CredentialManagement/GetCredential", runtime.WithHTTPPathPattern("/v1/credentials/{id}")) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.credentials.CredentialManagement/GetCredential", runtime.WithHTTPPathPattern("/v1/credentials/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -109,9 +95,7 @@ func RegisterCredentialManagementHandlerServer(ctx context.Context, mux *runtime runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_CredentialManagement_GetCredential_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) return nil @@ -120,25 +104,24 @@ func RegisterCredentialManagementHandlerServer(ctx context.Context, mux *runtime // RegisterCredentialManagementHandlerFromEndpoint is same as RegisterCredentialManagementHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterCredentialManagementHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) + conn, err := grpc.NewClient(endpoint, opts...) if err != nil { return err } defer func() { if err != nil { if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) } return } go func() { <-ctx.Done() if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) } }() }() - return RegisterCredentialManagementHandler(ctx, mux, conn) } @@ -152,16 +135,13 @@ func RegisterCredentialManagementHandler(ctx context.Context, mux *runtime.Serve // to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CredentialManagementClient". // Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CredentialManagementClient" // doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "CredentialManagementClient" to call the correct interceptors. +// "CredentialManagementClient" to call the correct interceptors. This client ignores the HTTP middlewares. func RegisterCredentialManagementHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CredentialManagementClient) error { - - mux.Handle("GET", pattern_CredentialManagement_GetCredential_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodGet, pattern_CredentialManagement_GetCredential_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.credentials.CredentialManagement/GetCredential", runtime.WithHTTPPathPattern("/v1/credentials/{id}")) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.credentials.CredentialManagement/GetCredential", runtime.WithHTTPPathPattern("/v1/credentials/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -172,11 +152,8 @@ func RegisterCredentialManagementHandlerClient(ctx context.Context, mux *runtime runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_CredentialManagement_GetCredential_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) - return nil } diff --git a/go/cloud/credentials/credentials_grpc.pb.go b/go/cloud/credentials/credentials_grpc.pb.go index 1f0246d..f275462 100644 --- a/go/cloud/credentials/credentials_grpc.pb.go +++ b/go/cloud/credentials/credentials_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: zenoss/cloud/credentials.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( CredentialManagement_GetCredential_FullMethodName = "/zenoss.cloud.credentials.CredentialManagement/GetCredential" @@ -38,8 +38,9 @@ func NewCredentialManagementClient(cc grpc.ClientConnInterface) CredentialManage } func (c *credentialManagementClient) GetCredential(ctx context.Context, in *GetCredentialRequest, opts ...grpc.CallOption) (*GetCredentialResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetCredentialResponse) - err := c.cc.Invoke(ctx, CredentialManagement_GetCredential_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CredentialManagement_GetCredential_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -48,20 +49,24 @@ func (c *credentialManagementClient) GetCredential(ctx context.Context, in *GetC // CredentialManagementServer is the server API for CredentialManagement service. // All implementations must embed UnimplementedCredentialManagementServer -// for forward compatibility +// for forward compatibility. type CredentialManagementServer interface { GetCredential(context.Context, *GetCredentialRequest) (*GetCredentialResponse, error) mustEmbedUnimplementedCredentialManagementServer() } -// UnimplementedCredentialManagementServer must be embedded to have forward compatible implementations. -type UnimplementedCredentialManagementServer struct { -} +// UnimplementedCredentialManagementServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedCredentialManagementServer struct{} func (UnimplementedCredentialManagementServer) GetCredential(context.Context, *GetCredentialRequest) (*GetCredentialResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCredential not implemented") } func (UnimplementedCredentialManagementServer) mustEmbedUnimplementedCredentialManagementServer() {} +func (UnimplementedCredentialManagementServer) testEmbeddedByValue() {} // UnsafeCredentialManagementServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to CredentialManagementServer will @@ -71,6 +76,13 @@ type UnsafeCredentialManagementServer interface { } func RegisterCredentialManagementServer(s grpc.ServiceRegistrar, srv CredentialManagementServer) { + // If the following call pancis, it indicates UnimplementedCredentialManagementServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&CredentialManagement_ServiceDesc, srv) } diff --git a/go/cloud/credentials/mock_CredentialManagementClient.go b/go/cloud/credentials/mock_CredentialManagementClient.go index 9e20d00..4d827ce 100644 --- a/go/cloud/credentials/mock_CredentialManagementClient.go +++ b/go/cloud/credentials/mock_CredentialManagementClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package credentials diff --git a/go/cloud/credentials/mock_CredentialManagementServer.go b/go/cloud/credentials/mock_CredentialManagementServer.go index 4fbe6c9..dc9d953 100644 --- a/go/cloud/credentials/mock_CredentialManagementServer.go +++ b/go/cloud/credentials/mock_CredentialManagementServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package credentials @@ -80,7 +80,7 @@ func (_c *MockCredentialManagementServer_GetCredential_Call) RunAndReturn(run fu return _c } -// mustEmbedUnimplementedCredentialManagementServer provides a mock function with given fields: +// mustEmbedUnimplementedCredentialManagementServer provides a mock function with no fields func (_m *MockCredentialManagementServer) mustEmbedUnimplementedCredentialManagementServer() { _m.Called() } @@ -108,7 +108,7 @@ func (_c *MockCredentialManagementServer_mustEmbedUnimplementedCredentialManagem } func (_c *MockCredentialManagementServer_mustEmbedUnimplementedCredentialManagementServer_Call) RunAndReturn(run func()) *MockCredentialManagementServer_mustEmbedUnimplementedCredentialManagementServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/credentials/mock_UnsafeCredentialManagementServer.go b/go/cloud/credentials/mock_UnsafeCredentialManagementServer.go index ac7981f..476a638 100644 --- a/go/cloud/credentials/mock_UnsafeCredentialManagementServer.go +++ b/go/cloud/credentials/mock_UnsafeCredentialManagementServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package credentials @@ -17,7 +17,7 @@ func (_m *MockUnsafeCredentialManagementServer) EXPECT() *MockUnsafeCredentialMa return &MockUnsafeCredentialManagementServer_Expecter{mock: &_m.Mock} } -// mustEmbedUnimplementedCredentialManagementServer provides a mock function with given fields: +// mustEmbedUnimplementedCredentialManagementServer provides a mock function with no fields func (_m *MockUnsafeCredentialManagementServer) mustEmbedUnimplementedCredentialManagementServer() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *MockUnsafeCredentialManagementServer_mustEmbedUnimplementedCredentialM } func (_c *MockUnsafeCredentialManagementServer_mustEmbedUnimplementedCredentialManagementServer_Call) RunAndReturn(run func()) *MockUnsafeCredentialManagementServer_mustEmbedUnimplementedCredentialManagementServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/data-registry/data_registry.pb.go b/go/cloud/data-registry/data_registry.pb.go index 40f5397..d905c50 100644 --- a/go/cloud/data-registry/data_registry.pb.go +++ b/go/cloud/data-registry/data_registry.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.36.4 // protoc (unknown) // source: zenoss/cloud/data_registry.proto @@ -13,6 +13,7 @@ import ( structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -72,10 +73,7 @@ func (UpdateMode) EnumDescriptor() ([]byte, []int) { } type Definition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The metric name Metric string `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` // Dimensions associated with this datapoint. @@ -85,16 +83,16 @@ type Definition struct { // Determines what happens to the existing definition metadata fields. If MERGE (default), the provided metadata // is merged with the existing metadata. If REPLACE, the provided metadata replaces the metadata on the existing // definition. - UpdateMode UpdateMode `protobuf:"varint,4,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` + UpdateMode UpdateMode `protobuf:"varint,4,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Definition) Reset() { *x = Definition{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Definition) String() string { @@ -105,7 +103,7 @@ func (*Definition) ProtoMessage() {} func (x *Definition) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -149,10 +147,7 @@ func (x *Definition) GetUpdateMode() UpdateMode { } type DefinitionUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The metric name DefinitionId string `protobuf:"bytes,1,opt,name=definition_id,json=definitionId,proto3" json:"definition_id,omitempty"` // Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations @@ -160,16 +155,16 @@ type DefinitionUpdate struct { // Determines what happens to the existing definition metadata fields. If MERGE (default), the provided metadata // is merged with the existing metadata. If REPLACE, the provided metadata replaces the metadata on the existing // definition. - UpdateMode UpdateMode `protobuf:"varint,3,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` + UpdateMode UpdateMode `protobuf:"varint,3,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DefinitionUpdate) Reset() { *x = DefinitionUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DefinitionUpdate) String() string { @@ -180,7 +175,7 @@ func (*DefinitionUpdate) ProtoMessage() {} func (x *DefinitionUpdate) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -217,21 +212,18 @@ func (x *DefinitionUpdate) GetUpdateMode() UpdateMode { } type RegisterMetricRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Metric *data_receiver.MetricWrapper `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` + UpdateMode UpdateMode `protobuf:"varint,2,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` unknownFields protoimpl.UnknownFields - - Metric *data_receiver.MetricWrapper `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` - UpdateMode UpdateMode `protobuf:"varint,2,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RegisterMetricRequest) Reset() { *x = RegisterMetricRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisterMetricRequest) String() string { @@ -242,7 +234,7 @@ func (*RegisterMetricRequest) ProtoMessage() {} func (x *RegisterMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -272,24 +264,21 @@ func (x *RegisterMetricRequest) GetUpdateMode() UpdateMode { } type UpdateMetricRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` // Metadata for the datapoint MetadataFields *structpb.Struct `protobuf:"bytes,2,opt,name=metadataFields,proto3" json:"metadataFields,omitempty"` UpdateMode UpdateMode `protobuf:"varint,3,opt,name=update_mode,json=updateMode,proto3,enum=zenoss.cloud.UpdateMode" json:"update_mode,omitempty"` Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateMetricRequest) Reset() { *x = UpdateMetricRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateMetricRequest) String() string { @@ -300,7 +289,7 @@ func (*UpdateMetricRequest) ProtoMessage() {} func (x *UpdateMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -344,22 +333,19 @@ func (x *UpdateMetricRequest) GetTimestamp() int64 { } type RegisterMetricResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` + DefinitionId string `protobuf:"bytes,2,opt,name=definitionId,proto3" json:"definitionId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` - DefinitionId string `protobuf:"bytes,2,opt,name=definitionId,proto3" json:"definitionId,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RegisterMetricResponse) Reset() { *x = RegisterMetricResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisterMetricResponse) String() string { @@ -370,7 +356,7 @@ func (*RegisterMetricResponse) ProtoMessage() {} func (x *RegisterMetricResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -407,21 +393,18 @@ func (x *RegisterMetricResponse) GetName() string { } type RegisterMetricVerboseResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Response *RegisterMetricResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields - - Response *RegisterMetricResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RegisterMetricVerboseResponse) Reset() { *x = RegisterMetricVerboseResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisterMetricVerboseResponse) String() string { @@ -432,7 +415,7 @@ func (*RegisterMetricVerboseResponse) ProtoMessage() {} func (x *RegisterMetricVerboseResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -462,20 +445,17 @@ func (x *RegisterMetricVerboseResponse) GetError() string { } type RegisterMetricsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*RegisterMetricVerboseResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*RegisterMetricVerboseResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RegisterMetricsResponse) Reset() { *x = RegisterMetricsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisterMetricsResponse) String() string { @@ -486,7 +466,7 @@ func (*RegisterMetricsResponse) ProtoMessage() {} func (x *RegisterMetricsResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -509,20 +489,17 @@ func (x *RegisterMetricsResponse) GetResponses() []*RegisterMetricVerboseRespons } type DefinitionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DefinitionId string `protobuf:"bytes,1,opt,name=definitionId,proto3" json:"definitionId,omitempty"` unknownFields protoimpl.UnknownFields - - DefinitionId string `protobuf:"bytes,1,opt,name=definitionId,proto3" json:"definitionId,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DefinitionResponse) Reset() { *x = DefinitionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DefinitionResponse) String() string { @@ -533,7 +510,7 @@ func (*DefinitionResponse) ProtoMessage() {} func (x *DefinitionResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -556,20 +533,17 @@ func (x *DefinitionResponse) GetDefinitionId() string { } type GetMetricRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` unknownFields protoimpl.UnknownFields - - InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetMetricRequest) Reset() { *x = GetMetricRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetMetricRequest) String() string { @@ -580,7 +554,7 @@ func (*GetMetricRequest) ProtoMessage() {} func (x *GetMetricRequest) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -603,20 +577,17 @@ func (x *GetMetricRequest) GetInstanceId() string { } type GetMetricResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Metric *data_receiver.Metric `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` unknownFields protoimpl.UnknownFields - - Metric *data_receiver.Metric `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetMetricResponse) Reset() { *x = GetMetricResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_registry_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_registry_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetMetricResponse) String() string { @@ -627,7 +598,7 @@ func (*GetMetricResponse) ProtoMessage() {} func (x *GetMetricResponse) ProtoReflect() protoreflect.Message { mi := &file_zenoss_cloud_data_registry_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -651,7 +622,7 @@ func (x *GetMetricResponse) GetMetric() *data_receiver.Metric { var File_zenoss_cloud_data_registry_proto protoreflect.FileDescriptor -var file_zenoss_cloud_data_registry_proto_rawDesc = []byte{ +var file_zenoss_cloud_data_registry_proto_rawDesc = string([]byte{ 0x0a, 0x20, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, @@ -782,23 +753,23 @@ var file_zenoss_cloud_data_registry_proto_rawDesc = []byte{ 0x2f, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +}) var ( file_zenoss_cloud_data_registry_proto_rawDescOnce sync.Once - file_zenoss_cloud_data_registry_proto_rawDescData = file_zenoss_cloud_data_registry_proto_rawDesc + file_zenoss_cloud_data_registry_proto_rawDescData []byte ) func file_zenoss_cloud_data_registry_proto_rawDescGZIP() []byte { file_zenoss_cloud_data_registry_proto_rawDescOnce.Do(func() { - file_zenoss_cloud_data_registry_proto_rawDescData = protoimpl.X.CompressGZIP(file_zenoss_cloud_data_registry_proto_rawDescData) + file_zenoss_cloud_data_registry_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_zenoss_cloud_data_registry_proto_rawDesc), len(file_zenoss_cloud_data_registry_proto_rawDesc))) }) return file_zenoss_cloud_data_registry_proto_rawDescData } var file_zenoss_cloud_data_registry_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_zenoss_cloud_data_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_zenoss_cloud_data_registry_proto_goTypes = []interface{}{ +var file_zenoss_cloud_data_registry_proto_goTypes = []any{ (UpdateMode)(0), // 0: zenoss.cloud.UpdateMode (*Definition)(nil), // 1: zenoss.cloud.Definition (*DefinitionUpdate)(nil), // 2: zenoss.cloud.DefinitionUpdate @@ -850,133 +821,11 @@ func file_zenoss_cloud_data_registry_proto_init() { if File_zenoss_cloud_data_registry_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_zenoss_cloud_data_registry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Definition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DefinitionUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterMetricRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateMetricRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterMetricResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterMetricVerboseResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterMetricsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DefinitionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetricRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetricResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_zenoss_cloud_data_registry_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_zenoss_cloud_data_registry_proto_rawDesc), len(file_zenoss_cloud_data_registry_proto_rawDesc)), NumEnums: 1, NumMessages: 10, NumExtensions: 0, @@ -988,7 +837,6 @@ func file_zenoss_cloud_data_registry_proto_init() { MessageInfos: file_zenoss_cloud_data_registry_proto_msgTypes, }.Build() File_zenoss_cloud_data_registry_proto = out.File - file_zenoss_cloud_data_registry_proto_rawDesc = nil file_zenoss_cloud_data_registry_proto_goTypes = nil file_zenoss_cloud_data_registry_proto_depIdxs = nil } diff --git a/go/cloud/data-registry/data_registry_grpc.pb.go b/go/cloud/data-registry/data_registry_grpc.pb.go index 0a0e493..8cbe41c 100644 --- a/go/cloud/data-registry/data_registry_grpc.pb.go +++ b/go/cloud/data-registry/data_registry_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: zenoss/cloud/data_registry.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( DataRegistryService_CreateOrUpdateMetric_FullMethodName = "/zenoss.cloud.DataRegistryService/CreateOrUpdateMetric" @@ -32,7 +32,7 @@ const ( // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type DataRegistryServiceClient interface { CreateOrUpdateMetric(ctx context.Context, in *RegisterMetricRequest, opts ...grpc.CallOption) (*RegisterMetricResponse, error) - CreateOrUpdateMetrics(ctx context.Context, opts ...grpc.CallOption) (DataRegistryService_CreateOrUpdateMetricsClient, error) + CreateOrUpdateMetrics(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse], error) UpdateMetric(ctx context.Context, in *UpdateMetricRequest, opts ...grpc.CallOption) (*RegisterMetricResponse, error) RegisterDefinition(ctx context.Context, in *Definition, opts ...grpc.CallOption) (*DefinitionResponse, error) UpdateDefinition(ctx context.Context, in *DefinitionUpdate, opts ...grpc.CallOption) (*DefinitionResponse, error) @@ -48,51 +48,32 @@ func NewDataRegistryServiceClient(cc grpc.ClientConnInterface) DataRegistryServi } func (c *dataRegistryServiceClient) CreateOrUpdateMetric(ctx context.Context, in *RegisterMetricRequest, opts ...grpc.CallOption) (*RegisterMetricResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(RegisterMetricResponse) - err := c.cc.Invoke(ctx, DataRegistryService_CreateOrUpdateMetric_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataRegistryService_CreateOrUpdateMetric_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *dataRegistryServiceClient) CreateOrUpdateMetrics(ctx context.Context, opts ...grpc.CallOption) (DataRegistryService_CreateOrUpdateMetricsClient, error) { - stream, err := c.cc.NewStream(ctx, &DataRegistryService_ServiceDesc.Streams[0], DataRegistryService_CreateOrUpdateMetrics_FullMethodName, opts...) +func (c *dataRegistryServiceClient) CreateOrUpdateMetrics(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &DataRegistryService_ServiceDesc.Streams[0], DataRegistryService_CreateOrUpdateMetrics_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &dataRegistryServiceCreateOrUpdateMetricsClient{stream} + x := &grpc.GenericClientStream[RegisterMetricRequest, RegisterMetricsResponse]{ClientStream: stream} return x, nil } -type DataRegistryService_CreateOrUpdateMetricsClient interface { - Send(*RegisterMetricRequest) error - CloseAndRecv() (*RegisterMetricsResponse, error) - grpc.ClientStream -} - -type dataRegistryServiceCreateOrUpdateMetricsClient struct { - grpc.ClientStream -} - -func (x *dataRegistryServiceCreateOrUpdateMetricsClient) Send(m *RegisterMetricRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *dataRegistryServiceCreateOrUpdateMetricsClient) CloseAndRecv() (*RegisterMetricsResponse, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(RegisterMetricsResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DataRegistryService_CreateOrUpdateMetricsClient = grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse] func (c *dataRegistryServiceClient) UpdateMetric(ctx context.Context, in *UpdateMetricRequest, opts ...grpc.CallOption) (*RegisterMetricResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(RegisterMetricResponse) - err := c.cc.Invoke(ctx, DataRegistryService_UpdateMetric_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataRegistryService_UpdateMetric_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -100,8 +81,9 @@ func (c *dataRegistryServiceClient) UpdateMetric(ctx context.Context, in *Update } func (c *dataRegistryServiceClient) RegisterDefinition(ctx context.Context, in *Definition, opts ...grpc.CallOption) (*DefinitionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DefinitionResponse) - err := c.cc.Invoke(ctx, DataRegistryService_RegisterDefinition_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataRegistryService_RegisterDefinition_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -109,8 +91,9 @@ func (c *dataRegistryServiceClient) RegisterDefinition(ctx context.Context, in * } func (c *dataRegistryServiceClient) UpdateDefinition(ctx context.Context, in *DefinitionUpdate, opts ...grpc.CallOption) (*DefinitionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DefinitionResponse) - err := c.cc.Invoke(ctx, DataRegistryService_UpdateDefinition_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataRegistryService_UpdateDefinition_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -118,8 +101,9 @@ func (c *dataRegistryServiceClient) UpdateDefinition(ctx context.Context, in *De } func (c *dataRegistryServiceClient) GetMetric(ctx context.Context, in *GetMetricRequest, opts ...grpc.CallOption) (*GetMetricResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetMetricResponse) - err := c.cc.Invoke(ctx, DataRegistryService_GetMetric_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataRegistryService_GetMetric_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -128,10 +112,10 @@ func (c *dataRegistryServiceClient) GetMetric(ctx context.Context, in *GetMetric // DataRegistryServiceServer is the server API for DataRegistryService service. // All implementations must embed UnimplementedDataRegistryServiceServer -// for forward compatibility +// for forward compatibility. type DataRegistryServiceServer interface { CreateOrUpdateMetric(context.Context, *RegisterMetricRequest) (*RegisterMetricResponse, error) - CreateOrUpdateMetrics(DataRegistryService_CreateOrUpdateMetricsServer) error + CreateOrUpdateMetrics(grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse]) error UpdateMetric(context.Context, *UpdateMetricRequest) (*RegisterMetricResponse, error) RegisterDefinition(context.Context, *Definition) (*DefinitionResponse, error) UpdateDefinition(context.Context, *DefinitionUpdate) (*DefinitionResponse, error) @@ -139,14 +123,17 @@ type DataRegistryServiceServer interface { mustEmbedUnimplementedDataRegistryServiceServer() } -// UnimplementedDataRegistryServiceServer must be embedded to have forward compatible implementations. -type UnimplementedDataRegistryServiceServer struct { -} +// UnimplementedDataRegistryServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedDataRegistryServiceServer struct{} func (UnimplementedDataRegistryServiceServer) CreateOrUpdateMetric(context.Context, *RegisterMetricRequest) (*RegisterMetricResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOrUpdateMetric not implemented") } -func (UnimplementedDataRegistryServiceServer) CreateOrUpdateMetrics(DataRegistryService_CreateOrUpdateMetricsServer) error { +func (UnimplementedDataRegistryServiceServer) CreateOrUpdateMetrics(grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse]) error { return status.Errorf(codes.Unimplemented, "method CreateOrUpdateMetrics not implemented") } func (UnimplementedDataRegistryServiceServer) UpdateMetric(context.Context, *UpdateMetricRequest) (*RegisterMetricResponse, error) { @@ -162,6 +149,7 @@ func (UnimplementedDataRegistryServiceServer) GetMetric(context.Context, *GetMet return nil, status.Errorf(codes.Unimplemented, "method GetMetric not implemented") } func (UnimplementedDataRegistryServiceServer) mustEmbedUnimplementedDataRegistryServiceServer() {} +func (UnimplementedDataRegistryServiceServer) testEmbeddedByValue() {} // UnsafeDataRegistryServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to DataRegistryServiceServer will @@ -171,6 +159,13 @@ type UnsafeDataRegistryServiceServer interface { } func RegisterDataRegistryServiceServer(s grpc.ServiceRegistrar, srv DataRegistryServiceServer) { + // If the following call pancis, it indicates UnimplementedDataRegistryServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&DataRegistryService_ServiceDesc, srv) } @@ -193,30 +188,11 @@ func _DataRegistryService_CreateOrUpdateMetric_Handler(srv interface{}, ctx cont } func _DataRegistryService_CreateOrUpdateMetrics_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(DataRegistryServiceServer).CreateOrUpdateMetrics(&dataRegistryServiceCreateOrUpdateMetricsServer{stream}) -} - -type DataRegistryService_CreateOrUpdateMetricsServer interface { - SendAndClose(*RegisterMetricsResponse) error - Recv() (*RegisterMetricRequest, error) - grpc.ServerStream -} - -type dataRegistryServiceCreateOrUpdateMetricsServer struct { - grpc.ServerStream + return srv.(DataRegistryServiceServer).CreateOrUpdateMetrics(&grpc.GenericServerStream[RegisterMetricRequest, RegisterMetricsResponse]{ServerStream: stream}) } -func (x *dataRegistryServiceCreateOrUpdateMetricsServer) SendAndClose(m *RegisterMetricsResponse) error { - return x.ServerStream.SendMsg(m) -} - -func (x *dataRegistryServiceCreateOrUpdateMetricsServer) Recv() (*RegisterMetricRequest, error) { - m := new(RegisterMetricRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DataRegistryService_CreateOrUpdateMetricsServer = grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse] func _DataRegistryService_UpdateMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateMetricRequest) diff --git a/go/cloud/data-registry/mock_DataRegistryServiceClient.go b/go/cloud/data-registry/mock_DataRegistryServiceClient.go index 2a54ce3..f6389ae 100644 --- a/go/cloud/data-registry/mock_DataRegistryServiceClient.go +++ b/go/cloud/data-registry/mock_DataRegistryServiceClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_registry @@ -98,7 +98,7 @@ func (_c *MockDataRegistryServiceClient_CreateOrUpdateMetric_Call) RunAndReturn( } // CreateOrUpdateMetrics provides a mock function with given fields: ctx, opts -func (_m *MockDataRegistryServiceClient) CreateOrUpdateMetrics(ctx context.Context, opts ...grpc.CallOption) (DataRegistryService_CreateOrUpdateMetricsClient, error) { +func (_m *MockDataRegistryServiceClient) CreateOrUpdateMetrics(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse], error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -112,16 +112,16 @@ func (_m *MockDataRegistryServiceClient) CreateOrUpdateMetrics(ctx context.Conte panic("no return value specified for CreateOrUpdateMetrics") } - var r0 DataRegistryService_CreateOrUpdateMetricsClient + var r0 grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse] var r1 error - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (DataRegistryService_CreateOrUpdateMetricsClient, error)); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse], error)); ok { return rf(ctx, opts...) } - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) DataRegistryService_CreateOrUpdateMetricsClient); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse]); ok { r0 = rf(ctx, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(DataRegistryService_CreateOrUpdateMetricsClient) + r0 = ret.Get(0).(grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse]) } } @@ -160,12 +160,12 @@ func (_c *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call) Run(run func return _c } -func (_c *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call) Return(_a0 DataRegistryService_CreateOrUpdateMetricsClient, _a1 error) *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call { +func (_c *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call) Return(_a0 grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse], _a1 error) *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (DataRegistryService_CreateOrUpdateMetricsClient, error)) *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call { +func (_c *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (grpc.ClientStreamingClient[RegisterMetricRequest, RegisterMetricsResponse], error)) *MockDataRegistryServiceClient_CreateOrUpdateMetrics_Call { _c.Call.Return(run) return _c } diff --git a/go/cloud/data-registry/mock_DataRegistryServiceServer.go b/go/cloud/data-registry/mock_DataRegistryServiceServer.go index 4b13b43..5d235d6 100644 --- a/go/cloud/data-registry/mock_DataRegistryServiceServer.go +++ b/go/cloud/data-registry/mock_DataRegistryServiceServer.go @@ -1,10 +1,12 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_registry import ( context "context" + grpc "google.golang.org/grpc" + mock "github.com/stretchr/testify/mock" ) @@ -81,7 +83,7 @@ func (_c *MockDataRegistryServiceServer_CreateOrUpdateMetric_Call) RunAndReturn( } // CreateOrUpdateMetrics provides a mock function with given fields: _a0 -func (_m *MockDataRegistryServiceServer) CreateOrUpdateMetrics(_a0 DataRegistryService_CreateOrUpdateMetricsServer) error { +func (_m *MockDataRegistryServiceServer) CreateOrUpdateMetrics(_a0 grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse]) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -89,7 +91,7 @@ func (_m *MockDataRegistryServiceServer) CreateOrUpdateMetrics(_a0 DataRegistryS } var r0 error - if rf, ok := ret.Get(0).(func(DataRegistryService_CreateOrUpdateMetricsServer) error); ok { + if rf, ok := ret.Get(0).(func(grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse]) error); ok { r0 = rf(_a0) } else { r0 = ret.Error(0) @@ -104,14 +106,14 @@ type MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call struct { } // CreateOrUpdateMetrics is a helper method to define mock.On call -// - _a0 DataRegistryService_CreateOrUpdateMetricsServer +// - _a0 grpc.ClientStreamingServer[RegisterMetricRequest,RegisterMetricsResponse] func (_e *MockDataRegistryServiceServer_Expecter) CreateOrUpdateMetrics(_a0 interface{}) *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call { return &MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call{Call: _e.mock.On("CreateOrUpdateMetrics", _a0)} } -func (_c *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call) Run(run func(_a0 DataRegistryService_CreateOrUpdateMetricsServer)) *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call { +func (_c *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call) Run(run func(_a0 grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse])) *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(DataRegistryService_CreateOrUpdateMetricsServer)) + run(args[0].(grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse])) }) return _c } @@ -121,7 +123,7 @@ func (_c *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call) Return(_a0 e return _c } -func (_c *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call) RunAndReturn(run func(DataRegistryService_CreateOrUpdateMetricsServer) error) *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call { +func (_c *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call) RunAndReturn(run func(grpc.ClientStreamingServer[RegisterMetricRequest, RegisterMetricsResponse]) error) *MockDataRegistryServiceServer_CreateOrUpdateMetrics_Call { _c.Call.Return(run) return _c } @@ -362,7 +364,7 @@ func (_c *MockDataRegistryServiceServer_UpdateMetric_Call) RunAndReturn(run func return _c } -// mustEmbedUnimplementedDataRegistryServiceServer provides a mock function with given fields: +// mustEmbedUnimplementedDataRegistryServiceServer provides a mock function with no fields func (_m *MockDataRegistryServiceServer) mustEmbedUnimplementedDataRegistryServiceServer() { _m.Called() } @@ -390,7 +392,7 @@ func (_c *MockDataRegistryServiceServer_mustEmbedUnimplementedDataRegistryServic } func (_c *MockDataRegistryServiceServer_mustEmbedUnimplementedDataRegistryServiceServer_Call) RunAndReturn(run func()) *MockDataRegistryServiceServer_mustEmbedUnimplementedDataRegistryServiceServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsClient.go b/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsClient.go index c4e81f3..4d4fd4b 100644 --- a/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsClient.go +++ b/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsClient.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_registry import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockDataRegistryService_CreateOrUpdateMetricsClient is an autogenerated mock type for the DataRegistryService_CreateOrUpdateMetricsClient type -type MockDataRegistryService_CreateOrUpdateMetricsClient struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient[Req interface{}, Res interface{}] struct { mock.Mock } -type MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) EXPECT() *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter{mock: &_m.Mock} +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) EXPECT() *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]{mock: &_m.Mock} } -// CloseAndRecv provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) CloseAndRecv() (*RegisterMetricsResponse, error) { +// CloseAndRecv provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) CloseAndRecv() (*RegisterMetricsResponse, error) { ret := _m.Called() if len(ret) == 0 { @@ -53,34 +54,34 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) CloseAndRecv() (* } // MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseAndRecv' -type MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseAndRecv is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) CloseAndRecv() *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call{Call: _e.mock.On("CloseAndRecv")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) CloseAndRecv() *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res]{Call: _e.mock.On("CloseAndRecv")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call) Return(_a0 *RegisterMetricsResponse, _a1 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res]) Return(_a0 *RegisterMetricsResponse, _a1 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call) RunAndReturn(run func() (*RegisterMetricsResponse, error)) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res]) RunAndReturn(run func() (*RegisterMetricsResponse, error)) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseAndRecv_Call[Req, Res] { _c.Call.Return(run) return _c } -// CloseSend provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) CloseSend() error { +// CloseSend provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) CloseSend() error { ret := _m.Called() if len(ret) == 0 { @@ -98,34 +99,34 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) CloseSend() error } // MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseSend' -type MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseSend is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) CloseSend() *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call{Call: _e.mock.On("CloseSend")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) CloseSend() *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res]{Call: _e.mock.On("CloseSend")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call) RunAndReturn(run func() error) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res]) RunAndReturn(run func() error) *MockDataRegistryService_CreateOrUpdateMetricsClient_CloseSend_Call[Req, Res] { _c.Call.Return(run) return _c } -// Context provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -145,34 +146,34 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Context() context } // MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) Context() *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) Context() *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call) Return(_a0 context.Context) *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res]) Return(_a0 context.Context) *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call) RunAndReturn(run func() context.Context) *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockDataRegistryService_CreateOrUpdateMetricsClient_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Header provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Header() (metadata.MD, error) { +// Header provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) Header() (metadata.MD, error) { ret := _m.Called() if len(ret) == 0 { @@ -202,34 +203,34 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Header() (metadat } // MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Header' -type MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Header is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) Header() *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call{Call: _e.mock.On("Header")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) Header() *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res]{Call: _e.mock.On("Header")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call) Return(_a0 metadata.MD, _a1 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res]) Return(_a0 metadata.MD, _a1 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call) RunAndReturn(run func() (metadata.MD, error)) *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res]) RunAndReturn(run func() (metadata.MD, error)) *MockDataRegistryService_CreateOrUpdateMetricsClient_Header_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) RecvMsg(m interface{}) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -247,35 +248,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) RecvMsg(m interfa } // MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) RecvMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) RecvMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsClient_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // Send provides a mock function with given fields: _a0 -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Send(_a0 *RegisterMetricRequest) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) Send(_a0 *RegisterMetricRequest) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -293,35 +294,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Send(_a0 *Registe } // MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' -type MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Send is a helper method to define mock.On call // - _a0 *RegisterMetricRequest -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) Send(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call{Call: _e.mock.On("Send", _a0)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) Send(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res]{Call: _e.mock.On("Send", _a0)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call) Run(run func(_a0 *RegisterMetricRequest)) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res]) Run(run func(_a0 *RegisterMetricRequest)) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*RegisterMetricRequest)) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call) RunAndReturn(run func(*RegisterMetricRequest) error) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res]) RunAndReturn(run func(*RegisterMetricRequest) error) *MockDataRegistryService_CreateOrUpdateMetricsClient_Send_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) SendMsg(m interface{}) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -339,35 +340,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) SendMsg(m interfa } // MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) SendMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) SendMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsClient_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } -// Trailer provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Trailer() metadata.MD { +// Trailer provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]) Trailer() metadata.MD { ret := _m.Called() if len(ret) == 0 { @@ -387,39 +388,39 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsClient) Trailer() metadat } // MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Trailer' -type MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Trailer is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter) Trailer() *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call{Call: _e.mock.On("Trailer")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsClient_Expecter[Req, Res]) Trailer() *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res]{Call: _e.mock.On("Trailer")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call) Return(_a0 metadata.MD) *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res]) Return(_a0 metadata.MD) *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call) RunAndReturn(run func() metadata.MD) *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res]) RunAndReturn(run func() metadata.MD) *MockDataRegistryService_CreateOrUpdateMetricsClient_Trailer_Call[Req, Res] { _c.Call.Return(run) return _c } // NewMockDataRegistryService_CreateOrUpdateMetricsClient creates a new instance of MockDataRegistryService_CreateOrUpdateMetricsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockDataRegistryService_CreateOrUpdateMetricsClient(t interface { +func NewMockDataRegistryService_CreateOrUpdateMetricsClient[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockDataRegistryService_CreateOrUpdateMetricsClient { - mock := &MockDataRegistryService_CreateOrUpdateMetricsClient{} +}) *MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res] { + mock := &MockDataRegistryService_CreateOrUpdateMetricsClient[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsServer.go b/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsServer.go index 52aa936..9e41fe6 100644 --- a/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsServer.go +++ b/go/cloud/data-registry/mock_DataRegistryService_CreateOrUpdateMetricsServer.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_registry import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockDataRegistryService_CreateOrUpdateMetricsServer is an autogenerated mock type for the DataRegistryService_CreateOrUpdateMetricsServer type -type MockDataRegistryService_CreateOrUpdateMetricsServer struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer[Req interface{}, Res interface{}] struct { mock.Mock } -type MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) EXPECT() *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter{mock: &_m.Mock} +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) EXPECT() *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]{mock: &_m.Mock} } -// Context provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -43,34 +44,34 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) Context() context } // MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) Context() *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) Context() *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call) Return(_a0 context.Context) *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res]) Return(_a0 context.Context) *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call) RunAndReturn(run func() context.Context) *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockDataRegistryService_CreateOrUpdateMetricsServer_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Recv provides a mock function with given fields: -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) Recv() (*RegisterMetricRequest, error) { +// Recv provides a mock function with no fields +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) Recv() (*RegisterMetricRequest, error) { ret := _m.Called() if len(ret) == 0 { @@ -100,34 +101,34 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) Recv() (*Register } // MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' -type MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Recv is a helper method to define mock.On call -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) Recv() *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call{Call: _e.mock.On("Recv")} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) Recv() *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res]{Call: _e.mock.On("Recv")} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res]) Run(run func()) *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call) Return(_a0 *RegisterMetricRequest, _a1 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res]) Return(_a0 *RegisterMetricRequest, _a1 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call) RunAndReturn(run func() (*RegisterMetricRequest, error)) *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res]) RunAndReturn(run func() (*RegisterMetricRequest, error)) *MockDataRegistryService_CreateOrUpdateMetricsServer_Recv_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) RecvMsg(m interface{}) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -145,35 +146,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) RecvMsg(m interfa } // MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) RecvMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) RecvMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SendAndClose provides a mock function with given fields: _a0 -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SendAndClose(_a0 *RegisterMetricsResponse) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) SendAndClose(_a0 *RegisterMetricsResponse) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -191,35 +192,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SendAndClose(_a0 } // MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendAndClose' -type MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendAndClose is a helper method to define mock.On call // - _a0 *RegisterMetricsResponse -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) SendAndClose(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call{Call: _e.mock.On("SendAndClose", _a0)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) SendAndClose(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res]{Call: _e.mock.On("SendAndClose", _a0)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call) Run(run func(_a0 *RegisterMetricsResponse)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res]) Run(run func(_a0 *RegisterMetricsResponse)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*RegisterMetricsResponse)) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call) RunAndReturn(run func(*RegisterMetricsResponse) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res]) RunAndReturn(run func(*RegisterMetricsResponse) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendAndClose_Call[Req, Res] { _c.Call.Return(run) return _c } // SendHeader provides a mock function with given fields: _a0 -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SendHeader(_a0 metadata.MD) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) SendHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -237,35 +238,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SendHeader(_a0 me } // MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendHeader' -type MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) SendHeader(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call{Call: _e.mock.On("SendHeader", _a0)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) SendHeader(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res]{Call: _e.mock.On("SendHeader", _a0)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call) Run(run func(_a0 metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SendMsg(m interface{}) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -283,35 +284,35 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SendMsg(m interfa } // MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) SendMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) SendMsg(m interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SetHeader provides a mock function with given fields: _a0 -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SetHeader(_a0 metadata.MD) error { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) SetHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -329,73 +330,73 @@ func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SetHeader(_a0 met } // MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetHeader' -type MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) SetHeader(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call{Call: _e.mock.On("SetHeader", _a0)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) SetHeader(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res]{Call: _e.mock.On("SetHeader", _a0)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call) Run(run func(_a0 metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res]) Return(_a0 error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SetTrailer provides a mock function with given fields: _a0 -func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer) SetTrailer(_a0 metadata.MD) { +func (_m *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]) SetTrailer(_a0 metadata.MD) { _m.Called(_a0) } // MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetTrailer' -type MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call struct { +type MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetTrailer is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter) SetTrailer(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call { - return &MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call{Call: _e.mock.On("SetTrailer", _a0)} +func (_e *MockDataRegistryService_CreateOrUpdateMetricsServer_Expecter[Req, Res]) SetTrailer(_a0 interface{}) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res] { + return &MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res]{Call: _e.mock.On("SetTrailer", _a0)} } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call) Run(run func(_a0 metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call) Return() *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call { +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res]) Return() *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res] { _c.Call.Return() return _c } -func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call { - _c.Call.Return(run) +func (_c *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res]) RunAndReturn(run func(metadata.MD)) *MockDataRegistryService_CreateOrUpdateMetricsServer_SetTrailer_Call[Req, Res] { + _c.Run(run) return _c } // NewMockDataRegistryService_CreateOrUpdateMetricsServer creates a new instance of MockDataRegistryService_CreateOrUpdateMetricsServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockDataRegistryService_CreateOrUpdateMetricsServer(t interface { +func NewMockDataRegistryService_CreateOrUpdateMetricsServer[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockDataRegistryService_CreateOrUpdateMetricsServer { - mock := &MockDataRegistryService_CreateOrUpdateMetricsServer{} +}) *MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res] { + mock := &MockDataRegistryService_CreateOrUpdateMetricsServer[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/data-registry/mock_UnsafeDataRegistryServiceServer.go b/go/cloud/data-registry/mock_UnsafeDataRegistryServiceServer.go index 1d399b0..a47bc91 100644 --- a/go/cloud/data-registry/mock_UnsafeDataRegistryServiceServer.go +++ b/go/cloud/data-registry/mock_UnsafeDataRegistryServiceServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_registry @@ -17,7 +17,7 @@ func (_m *MockUnsafeDataRegistryServiceServer) EXPECT() *MockUnsafeDataRegistryS return &MockUnsafeDataRegistryServiceServer_Expecter{mock: &_m.Mock} } -// mustEmbedUnimplementedDataRegistryServiceServer provides a mock function with given fields: +// mustEmbedUnimplementedDataRegistryServiceServer provides a mock function with no fields func (_m *MockUnsafeDataRegistryServiceServer) mustEmbedUnimplementedDataRegistryServiceServer() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *MockUnsafeDataRegistryServiceServer_mustEmbedUnimplementedDataRegistry } func (_c *MockUnsafeDataRegistryServiceServer_mustEmbedUnimplementedDataRegistryServiceServer_Call) RunAndReturn(run func()) *MockUnsafeDataRegistryServiceServer_mustEmbedUnimplementedDataRegistryServiceServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/data_receiver/data_receiver.pb.go b/go/cloud/data_receiver/data_receiver.pb.go index 85789d8..b5ba68c 100644 --- a/go/cloud/data_receiver/data_receiver.pb.go +++ b/go/cloud/data_receiver/data_receiver.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.36.4 // protoc (unknown) // source: zenoss/cloud/data_receiver.proto @@ -14,6 +14,7 @@ import ( wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -133,19 +134,77 @@ func (Status) EnumDescriptor() ([]byte, []int) { return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{1} } -type Void struct { - state protoimpl.MessageState +type CollectionResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + Models []*Model `protobuf:"bytes,2,rep,name=models,proto3" json:"models,omitempty"` + Metrics []*Metric `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` + unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache +} + +func (x *CollectionResult) Reset() { + *x = CollectionResult{} + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CollectionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CollectionResult) ProtoMessage() {} + +func (x *CollectionResult) ProtoReflect() protoreflect.Message { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CollectionResult.ProtoReflect.Descriptor instead. +func (*CollectionResult) Descriptor() ([]byte, []int) { + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{0} +} + +func (x *CollectionResult) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +func (x *CollectionResult) GetModels() []*Model { + if x != nil { + return x.Models + } + return nil +} + +func (x *CollectionResult) GetMetrics() []*Metric { + if x != nil { + return x.Metrics + } + return nil +} + +type Void struct { + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Void) Reset() { *x = Void{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Void) String() string { @@ -155,8 +214,8 @@ func (x *Void) String() string { func (*Void) ProtoMessage() {} func (x *Void) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[1] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -168,16 +227,13 @@ func (x *Void) ProtoReflect() protoreflect.Message { // Deprecated: Use Void.ProtoReflect.Descriptor instead. func (*Void) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{0} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{1} } // Public Event struct. // Note the conspicuous absence of 'id' and 'tenant' which are inferred by auth. type Event struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // timestamp is the time (in ms since epoch) at which the event occurred. Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // name, when combined with dimensions, makes this event unique. @@ -188,7 +244,7 @@ type Event struct { // Dimensions associated with this event. // Dimensions, when combined with name, make this event unique. // - typically set the same as the entity to which event is related - Dimensions map[string]string `protobuf:"bytes,3,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Dimensions map[string]string `protobuf:"bytes,3,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Fields associated with this event. MetadataFields *structpb.Struct `protobuf:"bytes,4,opt,name=metadataFields,proto3" json:"metadataFields,omitempty"` // type uniquely identifies the context-free type of event. @@ -217,16 +273,16 @@ type Event struct { // - use STATUS_CLOSED when the event is known to have subsided Status Status `protobuf:"varint,9,opt,name=status,proto3,enum=zenoss.cloud.Status" json:"status,omitempty"` // acknowledged explicitly sets the events acknowledged state. - Acknowledged *wrapperspb.BoolValue `protobuf:"bytes,10,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` + Acknowledged *wrapperspb.BoolValue `protobuf:"bytes,10,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Event) Reset() { *x = Event{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Event) String() string { @@ -236,8 +292,8 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[2] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -249,7 +305,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{1} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{2} } func (x *Event) GetTimestamp() int64 { @@ -323,23 +379,20 @@ func (x *Event) GetAcknowledged() *wrapperspb.BoolValue { } type Events struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // detailedResponse: if true, return any events that failed to be sent. DetailedResponse bool `protobuf:"varint,1,opt,name=detailedResponse,proto3" json:"detailedResponse,omitempty"` // The events - Events []*Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` + Events []*Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Events) Reset() { *x = Events{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Events) String() string { @@ -349,8 +402,8 @@ func (x *Events) String() string { func (*Events) ProtoMessage() {} func (x *Events) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[3] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -362,7 +415,7 @@ func (x *Events) ProtoReflect() protoreflect.Message { // Deprecated: Use Events.ProtoReflect.Descriptor instead. func (*Events) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{2} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{3} } func (x *Events) GetDetailedResponse() bool { @@ -380,21 +433,18 @@ func (x *Events) GetEvents() []*Event { } type EventError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"` unknownFields protoimpl.UnknownFields - - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EventError) Reset() { *x = EventError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EventError) String() string { @@ -404,8 +454,8 @@ func (x *EventError) String() string { func (*EventError) ProtoMessage() {} func (x *EventError) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[4] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -417,7 +467,7 @@ func (x *EventError) ProtoReflect() protoreflect.Message { // Deprecated: Use EventError.ProtoReflect.Descriptor instead. func (*EventError) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{3} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{4} } func (x *EventError) GetError() string { @@ -435,10 +485,7 @@ func (x *EventError) GetEvent() *Event { } type TaggedMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The metric name Metric string `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` // The time at which the value was captured @@ -446,16 +493,16 @@ type TaggedMetric struct { // The metric value Value float64 `protobuf:"fixed64,3,opt,name=value,proto3" json:"value,omitempty"` // Metadata associated with this datapoint. - Tags map[string]string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Tags map[string]string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TaggedMetric) Reset() { *x = TaggedMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TaggedMetric) String() string { @@ -465,8 +512,8 @@ func (x *TaggedMetric) String() string { func (*TaggedMetric) ProtoMessage() {} func (x *TaggedMetric) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[5] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -478,7 +525,7 @@ func (x *TaggedMetric) ProtoReflect() protoreflect.Message { // Deprecated: Use TaggedMetric.ProtoReflect.Descriptor instead. func (*TaggedMetric) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{4} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{5} } func (x *TaggedMetric) GetMetric() string { @@ -510,25 +557,22 @@ func (x *TaggedMetric) GetTags() map[string]string { } type CompactMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The metric id Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The time at which the value was captured Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // The metric value - Value float64 `protobuf:"fixed64,3,opt,name=value,proto3" json:"value,omitempty"` + Value float64 `protobuf:"fixed64,3,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CompactMetric) Reset() { *x = CompactMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactMetric) String() string { @@ -538,8 +582,8 @@ func (x *CompactMetric) String() string { func (*CompactMetric) ProtoMessage() {} func (x *CompactMetric) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[6] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -551,7 +595,7 @@ func (x *CompactMetric) ProtoReflect() protoreflect.Message { // Deprecated: Use CompactMetric.ProtoReflect.Descriptor instead. func (*CompactMetric) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{5} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{6} } func (x *CompactMetric) GetId() string { @@ -577,10 +621,7 @@ func (x *CompactMetric) GetValue() float64 { // Canonical Metric format type Metric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The metric name Metric string `protobuf:"bytes,1,opt,name=metric,proto3" json:"metric,omitempty"` // The time at which the value was captured @@ -588,18 +629,18 @@ type Metric struct { // The metric value Value float64 `protobuf:"fixed64,3,opt,name=value,proto3" json:"value,omitempty"` // Dimensions associated with this datapoint. - Dimensions map[string]string `protobuf:"bytes,4,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Dimensions map[string]string `protobuf:"bytes,4,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Metadata for the datapoint. Note: using Struct as it is easier than AnyArray when using json representations MetadataFields *structpb.Struct `protobuf:"bytes,6,opt,name=metadataFields,proto3" json:"metadataFields,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Metric) Reset() { *x = Metric{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Metric) String() string { @@ -609,8 +650,8 @@ func (x *Metric) String() string { func (*Metric) ProtoMessage() {} func (x *Metric) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[7] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -622,7 +663,7 @@ func (x *Metric) ProtoReflect() protoreflect.Message { // Deprecated: Use Metric.ProtoReflect.Descriptor instead. func (*Metric) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{6} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{7} } func (x *Metric) GetMetric() string { @@ -661,25 +702,22 @@ func (x *Metric) GetMetadataFields() *structpb.Struct { } type Model struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The time when the value was sent. Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Dimensions associated with this model. - Dimensions map[string]string `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Dimensions map[string]string `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Fields associated with this model. MetadataFields *structpb.Struct `protobuf:"bytes,3,opt,name=metadataFields,proto3" json:"metadataFields,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Model) Reset() { *x = Model{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Model) String() string { @@ -689,8 +727,8 @@ func (x *Model) String() string { func (*Model) ProtoMessage() {} func (x *Model) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[8] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -702,7 +740,7 @@ func (x *Model) ProtoReflect() protoreflect.Message { // Deprecated: Use Model.ProtoReflect.Descriptor instead. func (*Model) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{7} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{8} } func (x *Model) GetTimestamp() int64 { @@ -727,23 +765,20 @@ func (x *Model) GetMetadataFields() *structpb.Struct { } type Models struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // detailedResponse if set to true will return any models that failed to be sent DetailedResponse bool `protobuf:"varint,1,opt,name=detailedResponse,proto3" json:"detailedResponse,omitempty"` // The models - Models []*Model `protobuf:"bytes,2,rep,name=models,proto3" json:"models,omitempty"` + Models []*Model `protobuf:"bytes,2,rep,name=models,proto3" json:"models,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Models) Reset() { *x = Models{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Models) String() string { @@ -753,8 +788,8 @@ func (x *Models) String() string { func (*Models) ProtoMessage() {} func (x *Models) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[9] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -766,7 +801,7 @@ func (x *Models) ProtoReflect() protoreflect.Message { // Deprecated: Use Models.ProtoReflect.Descriptor instead. func (*Models) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{8} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{9} } func (x *Models) GetDetailedResponse() bool { @@ -784,21 +819,18 @@ func (x *Models) GetModels() []*Model { } type ModelError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Model *Model `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` unknownFields protoimpl.UnknownFields - - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Model *Model `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ModelError) Reset() { *x = ModelError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModelError) String() string { @@ -808,8 +840,8 @@ func (x *ModelError) String() string { func (*ModelError) ProtoMessage() {} func (x *ModelError) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -821,7 +853,7 @@ func (x *ModelError) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelError.ProtoReflect.Descriptor instead. func (*ModelError) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{9} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{10} } func (x *ModelError) GetError() string { @@ -839,10 +871,7 @@ func (x *ModelError) GetModel() *Model { } type EventStatusResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // failed is the count of events that failed to be accepted Failed int32 `protobuf:"varint,1,opt,name=failed,proto3" json:"failed,omitempty"` // succeeded is the count of events that were accepted @@ -850,16 +879,16 @@ type EventStatusResult struct { // message is an informational message that may or may not be set Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // Failed events only returned if detailedResponse is set to true - FailedEvents []*EventError `protobuf:"bytes,4,rep,name=failedEvents,proto3" json:"failedEvents,omitempty"` + FailedEvents []*EventError `protobuf:"bytes,4,rep,name=failedEvents,proto3" json:"failedEvents,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EventStatusResult) Reset() { *x = EventStatusResult{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EventStatusResult) String() string { @@ -869,8 +898,8 @@ func (x *EventStatusResult) String() string { func (*EventStatusResult) ProtoMessage() {} func (x *EventStatusResult) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[11] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -882,7 +911,7 @@ func (x *EventStatusResult) ProtoReflect() protoreflect.Message { // Deprecated: Use EventStatusResult.ProtoReflect.Descriptor instead. func (*EventStatusResult) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{10} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{11} } func (x *EventStatusResult) GetFailed() int32 { @@ -914,10 +943,7 @@ func (x *EventStatusResult) GetFailedEvents() []*EventError { } type ModelStatusResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // failed is the count of models that failed to be accepted Failed int32 `protobuf:"varint,1,opt,name=failed,proto3" json:"failed,omitempty"` // succeeded is the count of models that were accepted @@ -925,16 +951,16 @@ type ModelStatusResult struct { // message is an informational message that may or may not be set Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // Failed models only returned if detailedResponse is set to true - FailedModels []*ModelError `protobuf:"bytes,4,rep,name=failedModels,proto3" json:"failedModels,omitempty"` + FailedModels []*ModelError `protobuf:"bytes,4,rep,name=failedModels,proto3" json:"failedModels,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModelStatusResult) Reset() { *x = ModelStatusResult{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModelStatusResult) String() string { @@ -944,8 +970,8 @@ func (x *ModelStatusResult) String() string { func (*ModelStatusResult) ProtoMessage() {} func (x *ModelStatusResult) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[12] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -957,7 +983,7 @@ func (x *ModelStatusResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelStatusResult.ProtoReflect.Descriptor instead. func (*ModelStatusResult) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{11} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{12} } func (x *ModelStatusResult) GetFailed() int32 { @@ -989,10 +1015,7 @@ func (x *ModelStatusResult) GetFailedModels() []*ModelError { } type StatusResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // failed is the count of metrics that failed to be accepted Failed int32 `protobuf:"varint,1,opt,name=failed,proto3" json:"failed,omitempty"` // succeeded is the count of metrics that were accepted @@ -1003,15 +1026,15 @@ type StatusResult struct { FailedCompactMetrics []*CompactMetricError `protobuf:"bytes,4,rep,name=failedCompactMetrics,proto3" json:"failedCompactMetrics,omitempty"` FailedTaggedMetrics []*TaggedMetricError `protobuf:"bytes,5,rep,name=failedTaggedMetrics,proto3" json:"failedTaggedMetrics,omitempty"` FailedMetrics []*MetricError `protobuf:"bytes,6,rep,name=failedMetrics,proto3" json:"failedMetrics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StatusResult) Reset() { *x = StatusResult{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StatusResult) String() string { @@ -1021,8 +1044,8 @@ func (x *StatusResult) String() string { func (*StatusResult) ProtoMessage() {} func (x *StatusResult) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[13] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1034,7 +1057,7 @@ func (x *StatusResult) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResult.ProtoReflect.Descriptor instead. func (*StatusResult) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{12} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{13} } func (x *StatusResult) GetFailed() int32 { @@ -1080,23 +1103,20 @@ func (x *StatusResult) GetFailedMetrics() []*MetricError { } type EventWrapper struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to EventType: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to EventType: // // *EventWrapper_Canonical - EventType isEventWrapper_EventType `protobuf_oneof:"event_type"` + EventType isEventWrapper_EventType `protobuf_oneof:"event_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EventWrapper) Reset() { *x = EventWrapper{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EventWrapper) String() string { @@ -1106,8 +1126,8 @@ func (x *EventWrapper) String() string { func (*EventWrapper) ProtoMessage() {} func (x *EventWrapper) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[14] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1119,19 +1139,21 @@ func (x *EventWrapper) ProtoReflect() protoreflect.Message { // Deprecated: Use EventWrapper.ProtoReflect.Descriptor instead. func (*EventWrapper) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{13} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{14} } -func (m *EventWrapper) GetEventType() isEventWrapper_EventType { - if m != nil { - return m.EventType +func (x *EventWrapper) GetEventType() isEventWrapper_EventType { + if x != nil { + return x.EventType } return nil } func (x *EventWrapper) GetCanonical() *Event { - if x, ok := x.GetEventType().(*EventWrapper_Canonical); ok { - return x.Canonical + if x != nil { + if x, ok := x.EventType.(*EventWrapper_Canonical); ok { + return x.Canonical + } } return nil } @@ -1148,25 +1170,22 @@ type EventWrapper_Canonical struct { func (*EventWrapper_Canonical) isEventWrapper_EventType() {} type MetricWrapper struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to MetricType: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to MetricType: // // *MetricWrapper_Tagged // *MetricWrapper_Compact // *MetricWrapper_Canonical - MetricType isMetricWrapper_MetricType `protobuf_oneof:"metric_type"` + MetricType isMetricWrapper_MetricType `protobuf_oneof:"metric_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetricWrapper) Reset() { *x = MetricWrapper{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricWrapper) String() string { @@ -1176,8 +1195,8 @@ func (x *MetricWrapper) String() string { func (*MetricWrapper) ProtoMessage() {} func (x *MetricWrapper) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[15] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1189,33 +1208,39 @@ func (x *MetricWrapper) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricWrapper.ProtoReflect.Descriptor instead. func (*MetricWrapper) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{14} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{15} } -func (m *MetricWrapper) GetMetricType() isMetricWrapper_MetricType { - if m != nil { - return m.MetricType +func (x *MetricWrapper) GetMetricType() isMetricWrapper_MetricType { + if x != nil { + return x.MetricType } return nil } func (x *MetricWrapper) GetTagged() *TaggedMetric { - if x, ok := x.GetMetricType().(*MetricWrapper_Tagged); ok { - return x.Tagged + if x != nil { + if x, ok := x.MetricType.(*MetricWrapper_Tagged); ok { + return x.Tagged + } } return nil } func (x *MetricWrapper) GetCompact() *CompactMetric { - if x, ok := x.GetMetricType().(*MetricWrapper_Compact); ok { - return x.Compact + if x != nil { + if x, ok := x.MetricType.(*MetricWrapper_Compact); ok { + return x.Compact + } } return nil } func (x *MetricWrapper) GetCanonical() *Metric { - if x, ok := x.GetMetricType().(*MetricWrapper_Canonical); ok { - return x.Canonical + if x != nil { + if x, ok := x.MetricType.(*MetricWrapper_Canonical); ok { + return x.Canonical + } } return nil } @@ -1247,23 +1272,20 @@ func (*MetricWrapper_Canonical) isMetricWrapper_MetricType() {} // DEPRECATED Batch of metrics type MetricBatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Tags that apply to all metrics in the batch - GlobalTags map[string]string `protobuf:"bytes,2,rep,name=global_tags,json=globalTags,proto3" json:"global_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + GlobalTags map[string]string `protobuf:"bytes,2,rep,name=global_tags,json=globalTags,proto3" json:"global_tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // The metrics - Metrics []*MetricWrapper `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` + Metrics []*MetricWrapper `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetricBatch) Reset() { *x = MetricBatch{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricBatch) String() string { @@ -1273,8 +1295,8 @@ func (x *MetricBatch) String() string { func (*MetricBatch) ProtoMessage() {} func (x *MetricBatch) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[16] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1286,7 +1308,7 @@ func (x *MetricBatch) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricBatch.ProtoReflect.Descriptor instead. func (*MetricBatch) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{15} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{16} } func (x *MetricBatch) GetGlobalTags() map[string]string { @@ -1304,21 +1326,18 @@ func (x *MetricBatch) GetMetrics() []*MetricWrapper { } type CompactMetricError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Metric *CompactMetric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` unknownFields protoimpl.UnknownFields - - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Metric *CompactMetric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CompactMetricError) Reset() { *x = CompactMetricError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactMetricError) String() string { @@ -1328,8 +1347,8 @@ func (x *CompactMetricError) String() string { func (*CompactMetricError) ProtoMessage() {} func (x *CompactMetricError) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[17] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1341,7 +1360,7 @@ func (x *CompactMetricError) ProtoReflect() protoreflect.Message { // Deprecated: Use CompactMetricError.ProtoReflect.Descriptor instead. func (*CompactMetricError) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{16} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{17} } func (x *CompactMetricError) GetError() string { @@ -1359,21 +1378,18 @@ func (x *CompactMetricError) GetMetric() *CompactMetric { } type MetricError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Metric *Metric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` unknownFields protoimpl.UnknownFields - - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Metric *Metric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MetricError) Reset() { *x = MetricError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetricError) String() string { @@ -1383,8 +1399,8 @@ func (x *MetricError) String() string { func (*MetricError) ProtoMessage() {} func (x *MetricError) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[18] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1396,7 +1412,7 @@ func (x *MetricError) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricError.ProtoReflect.Descriptor instead. func (*MetricError) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{17} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{18} } func (x *MetricError) GetError() string { @@ -1414,21 +1430,18 @@ func (x *MetricError) GetMetric() *Metric { } type TaggedMetricError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Metric *TaggedMetric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` unknownFields protoimpl.UnknownFields - - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Metric *TaggedMetric `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TaggedMetricError) Reset() { *x = TaggedMetricError{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TaggedMetricError) String() string { @@ -1438,8 +1451,8 @@ func (x *TaggedMetricError) String() string { func (*TaggedMetricError) ProtoMessage() {} func (x *TaggedMetricError) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[19] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1451,7 +1464,7 @@ func (x *TaggedMetricError) ProtoReflect() protoreflect.Message { // Deprecated: Use TaggedMetricError.ProtoReflect.Descriptor instead. func (*TaggedMetricError) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{18} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{19} } func (x *TaggedMetricError) GetError() string { @@ -1469,24 +1482,21 @@ func (x *TaggedMetricError) GetMetric() *TaggedMetric { } type Metrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // detailedResponse if set to true will return any metrics that failed to be sent DetailedResponse bool `protobuf:"varint,1,opt,name=detailedResponse,proto3" json:"detailedResponse,omitempty"` CompactMetrics []*CompactMetric `protobuf:"bytes,3,rep,name=compactMetrics,proto3" json:"compactMetrics,omitempty"` TaggedMetrics []*TaggedMetric `protobuf:"bytes,4,rep,name=taggedMetrics,proto3" json:"taggedMetrics,omitempty"` Metrics []*Metric `protobuf:"bytes,5,rep,name=metrics,proto3" json:"metrics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Metrics) Reset() { *x = Metrics{} - if protoimpl.UnsafeEnabled { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Metrics) String() string { @@ -1496,8 +1506,8 @@ func (x *Metrics) String() string { func (*Metrics) ProtoMessage() {} func (x *Metrics) ProtoReflect() protoreflect.Message { - mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_zenoss_cloud_data_receiver_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1509,7 +1519,7 @@ func (x *Metrics) ProtoReflect() protoreflect.Message { // Deprecated: Use Metrics.ProtoReflect.Descriptor instead. func (*Metrics) Descriptor() ([]byte, []int) { - return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{19} + return file_zenoss_cloud_data_receiver_proto_rawDescGZIP(), []int{20} } func (x *Metrics) GetDetailedResponse() bool { @@ -1542,7 +1552,7 @@ func (x *Metrics) GetMetrics() []*Metric { var File_zenoss_cloud_data_receiver_proto protoreflect.FileDescriptor -var file_zenoss_cloud_data_receiver_proto_rawDesc = []byte{ +var file_zenoss_cloud_data_receiver_proto_rawDesc = string([]byte{ 0x0a, 0x20, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, @@ -1551,359 +1561,373 @@ var file_zenoss_cloud_data_receiver_proto_rawDesc = []byte{ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, - 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x06, 0x0a, 0x04, - 0x56, 0x6f, 0x69, 0x64, 0x22, 0xe2, 0x03, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x7a, 0x65, 0x6e, - 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, - 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x7a, - 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x63, - 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x61, 0x63, - 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x06, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2b, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x4d, 0x0a, 0x0a, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x29, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x0c, - 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x0d, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x9a, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, + 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, + 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x7a, + 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x06, 0x0a, 0x04, 0x56, + 0x6f, 0x69, 0x64, 0x22, 0xe2, 0x03, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, + 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x7a, 0x65, + 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x63, 0x6b, + 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x61, 0x63, 0x6b, + 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x69, 0x6d, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x4d, 0x0a, 0x0a, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x29, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x0c, 0x54, + 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x65, - 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, - 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, - 0x0a, 0x0f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x01, - 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, - 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x06, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0x4d, 0x0a, - 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x29, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xa1, 0x01, 0x0a, - 0x11, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, - 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, - 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x22, 0xc8, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x0d, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x9a, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x65, 0x6e, + 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0e, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, + 0x0f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x01, 0x0a, + 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x64, + 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x69, + 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x06, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2b, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0x4d, 0x0a, 0x0a, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x29, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x11, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0xa1, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x51, 0x0a, 0x13, 0x66, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x65, + 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x22, 0xc8, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x51, 0x0a, 0x13, 0x66, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3f, 0x0a, + 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x51, + 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x33, + 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, + 0x63, 0x61, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x57, 0x72, 0x61, 0x70, + 0x70, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, + 0x00, 0x52, 0x06, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, + 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, + 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x00, 0x52, 0x09, 0x63, + 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x7a, + 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x61, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, + 0x61, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5f, 0x0a, 0x12, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x51, 0x0a, 0x0b, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x2c, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x5d, 0x0a, + 0x11, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3f, - 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, - 0x51, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, - 0x33, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x6f, 0x6e, - 0x69, 0x63, 0x61, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x57, 0x72, 0x61, - 0x70, 0x70, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x65, - 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x00, 0x52, 0x09, - 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x0b, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, - 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x57, 0x72, 0x61, 0x70, 0x70, - 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5f, 0x0a, 0x12, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x51, 0x0a, 0x0b, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x2c, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x5d, - 0x0a, 0x11, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, - 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0xec, 0x01, - 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x74, 0x61, - 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0d, 0x74, - 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x0a, 0x07, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2a, 0x88, 0x01, 0x0a, - 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, - 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, - 0x12, 0x0a, 0x0e, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x42, 0x55, - 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, - 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, - 0x54, 0x59, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, - 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, - 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x52, 0x49, - 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x2a, 0x57, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x53, 0x55, 0x50, 0x50, 0x52, 0x45, 0x53, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, - 0x0d, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x03, - 0x32, 0xd0, 0x03, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x09, 0x50, 0x75, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x1f, 0x2e, 0x7a, 0x65, - 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x23, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x2d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x50, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, - 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x12, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, - 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x22, 0x00, 0x28, - 0x01, 0x12, 0x65, 0x0a, 0x0a, 0x50, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, - 0x15, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, - 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, - 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x50, 0x75, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x57, 0x72, 0x61, 0x70, 0x70, - 0x65, 0x72, 0x1a, 0x12, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x22, 0x00, 0x28, 0x01, 0x12, 0x67, 0x0a, 0x09, 0x50, 0x75, - 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x1a, 0x1f, 0x2e, - 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x23, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x2d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x42, 0x5c, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, - 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2f, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, - 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} + 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0xec, 0x01, 0x0a, + 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, + 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x74, 0x61, 0x67, + 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0d, 0x74, 0x61, + 0x67, 0x67, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x7a, + 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2a, 0x88, 0x01, 0x0a, 0x08, + 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, + 0x52, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0e, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, + 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x49, + 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, + 0x59, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x53, + 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x52, 0x49, 0x54, + 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x2a, 0x57, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, + 0x50, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x53, 0x55, 0x50, 0x50, 0x52, 0x45, 0x53, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x03, 0x32, + 0xd0, 0x03, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x09, 0x50, 0x75, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x1f, 0x2e, 0x7a, 0x65, 0x6e, + 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x23, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x2d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x3e, 0x0a, 0x08, 0x50, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x7a, + 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x12, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, + 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x22, 0x00, 0x28, 0x01, + 0x12, 0x65, 0x0a, 0x0a, 0x50, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x15, + 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x1a, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x76, + 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2f, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x50, 0x75, 0x74, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x12, 0x1b, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x1a, 0x12, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x22, 0x00, 0x28, 0x01, 0x12, 0x67, 0x0a, 0x09, 0x50, 0x75, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x14, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x1a, 0x1f, 0x2e, 0x7a, + 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x23, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x2d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x42, 0x5c, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2f, 0x7a, 0x65, 0x6e, 0x6f, 0x73, 0x73, 0x2d, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +}) var ( file_zenoss_cloud_data_receiver_proto_rawDescOnce sync.Once - file_zenoss_cloud_data_receiver_proto_rawDescData = file_zenoss_cloud_data_receiver_proto_rawDesc + file_zenoss_cloud_data_receiver_proto_rawDescData []byte ) func file_zenoss_cloud_data_receiver_proto_rawDescGZIP() []byte { file_zenoss_cloud_data_receiver_proto_rawDescOnce.Do(func() { - file_zenoss_cloud_data_receiver_proto_rawDescData = protoimpl.X.CompressGZIP(file_zenoss_cloud_data_receiver_proto_rawDescData) + file_zenoss_cloud_data_receiver_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_zenoss_cloud_data_receiver_proto_rawDesc), len(file_zenoss_cloud_data_receiver_proto_rawDesc))) }) return file_zenoss_cloud_data_receiver_proto_rawDescData } var file_zenoss_cloud_data_receiver_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_zenoss_cloud_data_receiver_proto_msgTypes = make([]protoimpl.MessageInfo, 25) -var file_zenoss_cloud_data_receiver_proto_goTypes = []interface{}{ +var file_zenoss_cloud_data_receiver_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_zenoss_cloud_data_receiver_proto_goTypes = []any{ (Severity)(0), // 0: zenoss.cloud.Severity (Status)(0), // 1: zenoss.cloud.Status - (*Void)(nil), // 2: zenoss.cloud.Void - (*Event)(nil), // 3: zenoss.cloud.Event - (*Events)(nil), // 4: zenoss.cloud.Events - (*EventError)(nil), // 5: zenoss.cloud.EventError - (*TaggedMetric)(nil), // 6: zenoss.cloud.TaggedMetric - (*CompactMetric)(nil), // 7: zenoss.cloud.CompactMetric - (*Metric)(nil), // 8: zenoss.cloud.Metric - (*Model)(nil), // 9: zenoss.cloud.Model - (*Models)(nil), // 10: zenoss.cloud.Models - (*ModelError)(nil), // 11: zenoss.cloud.ModelError - (*EventStatusResult)(nil), // 12: zenoss.cloud.EventStatusResult - (*ModelStatusResult)(nil), // 13: zenoss.cloud.ModelStatusResult - (*StatusResult)(nil), // 14: zenoss.cloud.StatusResult - (*EventWrapper)(nil), // 15: zenoss.cloud.EventWrapper - (*MetricWrapper)(nil), // 16: zenoss.cloud.MetricWrapper - (*MetricBatch)(nil), // 17: zenoss.cloud.MetricBatch - (*CompactMetricError)(nil), // 18: zenoss.cloud.CompactMetricError - (*MetricError)(nil), // 19: zenoss.cloud.MetricError - (*TaggedMetricError)(nil), // 20: zenoss.cloud.TaggedMetricError - (*Metrics)(nil), // 21: zenoss.cloud.Metrics - nil, // 22: zenoss.cloud.Event.DimensionsEntry - nil, // 23: zenoss.cloud.TaggedMetric.TagsEntry - nil, // 24: zenoss.cloud.Metric.DimensionsEntry - nil, // 25: zenoss.cloud.Model.DimensionsEntry - nil, // 26: zenoss.cloud.MetricBatch.GlobalTagsEntry - (*structpb.Struct)(nil), // 27: google.protobuf.Struct - (*wrapperspb.BoolValue)(nil), // 28: google.protobuf.BoolValue + (*CollectionResult)(nil), // 2: zenoss.cloud.CollectionResult + (*Void)(nil), // 3: zenoss.cloud.Void + (*Event)(nil), // 4: zenoss.cloud.Event + (*Events)(nil), // 5: zenoss.cloud.Events + (*EventError)(nil), // 6: zenoss.cloud.EventError + (*TaggedMetric)(nil), // 7: zenoss.cloud.TaggedMetric + (*CompactMetric)(nil), // 8: zenoss.cloud.CompactMetric + (*Metric)(nil), // 9: zenoss.cloud.Metric + (*Model)(nil), // 10: zenoss.cloud.Model + (*Models)(nil), // 11: zenoss.cloud.Models + (*ModelError)(nil), // 12: zenoss.cloud.ModelError + (*EventStatusResult)(nil), // 13: zenoss.cloud.EventStatusResult + (*ModelStatusResult)(nil), // 14: zenoss.cloud.ModelStatusResult + (*StatusResult)(nil), // 15: zenoss.cloud.StatusResult + (*EventWrapper)(nil), // 16: zenoss.cloud.EventWrapper + (*MetricWrapper)(nil), // 17: zenoss.cloud.MetricWrapper + (*MetricBatch)(nil), // 18: zenoss.cloud.MetricBatch + (*CompactMetricError)(nil), // 19: zenoss.cloud.CompactMetricError + (*MetricError)(nil), // 20: zenoss.cloud.MetricError + (*TaggedMetricError)(nil), // 21: zenoss.cloud.TaggedMetricError + (*Metrics)(nil), // 22: zenoss.cloud.Metrics + nil, // 23: zenoss.cloud.Event.DimensionsEntry + nil, // 24: zenoss.cloud.TaggedMetric.TagsEntry + nil, // 25: zenoss.cloud.Metric.DimensionsEntry + nil, // 26: zenoss.cloud.Model.DimensionsEntry + nil, // 27: zenoss.cloud.MetricBatch.GlobalTagsEntry + (*structpb.Struct)(nil), // 28: google.protobuf.Struct + (*wrapperspb.BoolValue)(nil), // 29: google.protobuf.BoolValue } var file_zenoss_cloud_data_receiver_proto_depIdxs = []int32{ - 22, // 0: zenoss.cloud.Event.dimensions:type_name -> zenoss.cloud.Event.DimensionsEntry - 27, // 1: zenoss.cloud.Event.metadataFields:type_name -> google.protobuf.Struct - 0, // 2: zenoss.cloud.Event.severity:type_name -> zenoss.cloud.Severity - 1, // 3: zenoss.cloud.Event.status:type_name -> zenoss.cloud.Status - 28, // 4: zenoss.cloud.Event.acknowledged:type_name -> google.protobuf.BoolValue - 3, // 5: zenoss.cloud.Events.events:type_name -> zenoss.cloud.Event - 3, // 6: zenoss.cloud.EventError.event:type_name -> zenoss.cloud.Event - 23, // 7: zenoss.cloud.TaggedMetric.tags:type_name -> zenoss.cloud.TaggedMetric.TagsEntry - 24, // 8: zenoss.cloud.Metric.dimensions:type_name -> zenoss.cloud.Metric.DimensionsEntry - 27, // 9: zenoss.cloud.Metric.metadataFields:type_name -> google.protobuf.Struct - 25, // 10: zenoss.cloud.Model.dimensions:type_name -> zenoss.cloud.Model.DimensionsEntry - 27, // 11: zenoss.cloud.Model.metadataFields:type_name -> google.protobuf.Struct - 9, // 12: zenoss.cloud.Models.models:type_name -> zenoss.cloud.Model - 9, // 13: zenoss.cloud.ModelError.model:type_name -> zenoss.cloud.Model - 5, // 14: zenoss.cloud.EventStatusResult.failedEvents:type_name -> zenoss.cloud.EventError - 11, // 15: zenoss.cloud.ModelStatusResult.failedModels:type_name -> zenoss.cloud.ModelError - 18, // 16: zenoss.cloud.StatusResult.failedCompactMetrics:type_name -> zenoss.cloud.CompactMetricError - 20, // 17: zenoss.cloud.StatusResult.failedTaggedMetrics:type_name -> zenoss.cloud.TaggedMetricError - 19, // 18: zenoss.cloud.StatusResult.failedMetrics:type_name -> zenoss.cloud.MetricError - 3, // 19: zenoss.cloud.EventWrapper.canonical:type_name -> zenoss.cloud.Event - 6, // 20: zenoss.cloud.MetricWrapper.tagged:type_name -> zenoss.cloud.TaggedMetric - 7, // 21: zenoss.cloud.MetricWrapper.compact:type_name -> zenoss.cloud.CompactMetric - 8, // 22: zenoss.cloud.MetricWrapper.canonical:type_name -> zenoss.cloud.Metric - 26, // 23: zenoss.cloud.MetricBatch.global_tags:type_name -> zenoss.cloud.MetricBatch.GlobalTagsEntry - 16, // 24: zenoss.cloud.MetricBatch.metrics:type_name -> zenoss.cloud.MetricWrapper - 7, // 25: zenoss.cloud.CompactMetricError.metric:type_name -> zenoss.cloud.CompactMetric - 8, // 26: zenoss.cloud.MetricError.metric:type_name -> zenoss.cloud.Metric - 6, // 27: zenoss.cloud.TaggedMetricError.metric:type_name -> zenoss.cloud.TaggedMetric - 7, // 28: zenoss.cloud.Metrics.compactMetrics:type_name -> zenoss.cloud.CompactMetric - 6, // 29: zenoss.cloud.Metrics.taggedMetrics:type_name -> zenoss.cloud.TaggedMetric - 8, // 30: zenoss.cloud.Metrics.metrics:type_name -> zenoss.cloud.Metric - 4, // 31: zenoss.cloud.DataReceiverService.PutEvents:input_type -> zenoss.cloud.Events - 15, // 32: zenoss.cloud.DataReceiverService.PutEvent:input_type -> zenoss.cloud.EventWrapper - 21, // 33: zenoss.cloud.DataReceiverService.PutMetrics:input_type -> zenoss.cloud.Metrics - 16, // 34: zenoss.cloud.DataReceiverService.PutMetric:input_type -> zenoss.cloud.MetricWrapper - 10, // 35: zenoss.cloud.DataReceiverService.PutModels:input_type -> zenoss.cloud.Models - 12, // 36: zenoss.cloud.DataReceiverService.PutEvents:output_type -> zenoss.cloud.EventStatusResult - 2, // 37: zenoss.cloud.DataReceiverService.PutEvent:output_type -> zenoss.cloud.Void - 14, // 38: zenoss.cloud.DataReceiverService.PutMetrics:output_type -> zenoss.cloud.StatusResult - 2, // 39: zenoss.cloud.DataReceiverService.PutMetric:output_type -> zenoss.cloud.Void - 13, // 40: zenoss.cloud.DataReceiverService.PutModels:output_type -> zenoss.cloud.ModelStatusResult - 36, // [36:41] is the sub-list for method output_type - 31, // [31:36] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 4, // 0: zenoss.cloud.CollectionResult.events:type_name -> zenoss.cloud.Event + 10, // 1: zenoss.cloud.CollectionResult.models:type_name -> zenoss.cloud.Model + 9, // 2: zenoss.cloud.CollectionResult.metrics:type_name -> zenoss.cloud.Metric + 23, // 3: zenoss.cloud.Event.dimensions:type_name -> zenoss.cloud.Event.DimensionsEntry + 28, // 4: zenoss.cloud.Event.metadataFields:type_name -> google.protobuf.Struct + 0, // 5: zenoss.cloud.Event.severity:type_name -> zenoss.cloud.Severity + 1, // 6: zenoss.cloud.Event.status:type_name -> zenoss.cloud.Status + 29, // 7: zenoss.cloud.Event.acknowledged:type_name -> google.protobuf.BoolValue + 4, // 8: zenoss.cloud.Events.events:type_name -> zenoss.cloud.Event + 4, // 9: zenoss.cloud.EventError.event:type_name -> zenoss.cloud.Event + 24, // 10: zenoss.cloud.TaggedMetric.tags:type_name -> zenoss.cloud.TaggedMetric.TagsEntry + 25, // 11: zenoss.cloud.Metric.dimensions:type_name -> zenoss.cloud.Metric.DimensionsEntry + 28, // 12: zenoss.cloud.Metric.metadataFields:type_name -> google.protobuf.Struct + 26, // 13: zenoss.cloud.Model.dimensions:type_name -> zenoss.cloud.Model.DimensionsEntry + 28, // 14: zenoss.cloud.Model.metadataFields:type_name -> google.protobuf.Struct + 10, // 15: zenoss.cloud.Models.models:type_name -> zenoss.cloud.Model + 10, // 16: zenoss.cloud.ModelError.model:type_name -> zenoss.cloud.Model + 6, // 17: zenoss.cloud.EventStatusResult.failedEvents:type_name -> zenoss.cloud.EventError + 12, // 18: zenoss.cloud.ModelStatusResult.failedModels:type_name -> zenoss.cloud.ModelError + 19, // 19: zenoss.cloud.StatusResult.failedCompactMetrics:type_name -> zenoss.cloud.CompactMetricError + 21, // 20: zenoss.cloud.StatusResult.failedTaggedMetrics:type_name -> zenoss.cloud.TaggedMetricError + 20, // 21: zenoss.cloud.StatusResult.failedMetrics:type_name -> zenoss.cloud.MetricError + 4, // 22: zenoss.cloud.EventWrapper.canonical:type_name -> zenoss.cloud.Event + 7, // 23: zenoss.cloud.MetricWrapper.tagged:type_name -> zenoss.cloud.TaggedMetric + 8, // 24: zenoss.cloud.MetricWrapper.compact:type_name -> zenoss.cloud.CompactMetric + 9, // 25: zenoss.cloud.MetricWrapper.canonical:type_name -> zenoss.cloud.Metric + 27, // 26: zenoss.cloud.MetricBatch.global_tags:type_name -> zenoss.cloud.MetricBatch.GlobalTagsEntry + 17, // 27: zenoss.cloud.MetricBatch.metrics:type_name -> zenoss.cloud.MetricWrapper + 8, // 28: zenoss.cloud.CompactMetricError.metric:type_name -> zenoss.cloud.CompactMetric + 9, // 29: zenoss.cloud.MetricError.metric:type_name -> zenoss.cloud.Metric + 7, // 30: zenoss.cloud.TaggedMetricError.metric:type_name -> zenoss.cloud.TaggedMetric + 8, // 31: zenoss.cloud.Metrics.compactMetrics:type_name -> zenoss.cloud.CompactMetric + 7, // 32: zenoss.cloud.Metrics.taggedMetrics:type_name -> zenoss.cloud.TaggedMetric + 9, // 33: zenoss.cloud.Metrics.metrics:type_name -> zenoss.cloud.Metric + 5, // 34: zenoss.cloud.DataReceiverService.PutEvents:input_type -> zenoss.cloud.Events + 16, // 35: zenoss.cloud.DataReceiverService.PutEvent:input_type -> zenoss.cloud.EventWrapper + 22, // 36: zenoss.cloud.DataReceiverService.PutMetrics:input_type -> zenoss.cloud.Metrics + 17, // 37: zenoss.cloud.DataReceiverService.PutMetric:input_type -> zenoss.cloud.MetricWrapper + 11, // 38: zenoss.cloud.DataReceiverService.PutModels:input_type -> zenoss.cloud.Models + 13, // 39: zenoss.cloud.DataReceiverService.PutEvents:output_type -> zenoss.cloud.EventStatusResult + 3, // 40: zenoss.cloud.DataReceiverService.PutEvent:output_type -> zenoss.cloud.Void + 15, // 41: zenoss.cloud.DataReceiverService.PutMetrics:output_type -> zenoss.cloud.StatusResult + 3, // 42: zenoss.cloud.DataReceiverService.PutMetric:output_type -> zenoss.cloud.Void + 14, // 43: zenoss.cloud.DataReceiverService.PutModels:output_type -> zenoss.cloud.ModelStatusResult + 39, // [39:44] is the sub-list for method output_type + 34, // [34:39] is the sub-list for method input_type + 34, // [34:34] is the sub-list for extension type_name + 34, // [34:34] is the sub-list for extension extendee + 0, // [0:34] is the sub-list for field type_name } func init() { file_zenoss_cloud_data_receiver_proto_init() } @@ -1911,252 +1935,10 @@ func file_zenoss_cloud_data_receiver_proto_init() { if File_zenoss_cloud_data_receiver_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_zenoss_cloud_data_receiver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Void); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Event); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Events); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaggedMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Model); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Models); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModelError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventStatusResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModelStatusResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatusResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventWrapper); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricWrapper); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricBatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactMetricError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaggedMetricError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_zenoss_cloud_data_receiver_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_zenoss_cloud_data_receiver_proto_msgTypes[14].OneofWrappers = []any{ (*EventWrapper_Canonical)(nil), } - file_zenoss_cloud_data_receiver_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_zenoss_cloud_data_receiver_proto_msgTypes[15].OneofWrappers = []any{ (*MetricWrapper_Tagged)(nil), (*MetricWrapper_Compact)(nil), (*MetricWrapper_Canonical)(nil), @@ -2165,9 +1947,9 @@ func file_zenoss_cloud_data_receiver_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_zenoss_cloud_data_receiver_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_zenoss_cloud_data_receiver_proto_rawDesc), len(file_zenoss_cloud_data_receiver_proto_rawDesc)), NumEnums: 2, - NumMessages: 25, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, @@ -2177,7 +1959,6 @@ func file_zenoss_cloud_data_receiver_proto_init() { MessageInfos: file_zenoss_cloud_data_receiver_proto_msgTypes, }.Build() File_zenoss_cloud_data_receiver_proto = out.File - file_zenoss_cloud_data_receiver_proto_rawDesc = nil file_zenoss_cloud_data_receiver_proto_goTypes = nil file_zenoss_cloud_data_receiver_proto_depIdxs = nil } diff --git a/go/cloud/data_receiver/data_receiver.pb.gw.go b/go/cloud/data_receiver/data_receiver.pb.gw.go index aefee60..5b8e43a 100644 --- a/go/cloud/data_receiver/data_receiver.pb.gw.go +++ b/go/cloud/data_receiver/data_receiver.pb.gw.go @@ -10,6 +10,7 @@ package data_receiver import ( "context" + "errors" "io" "net/http" @@ -24,106 +25,101 @@ import ( ) // Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join +var ( + _ codes.Code + _ io.Reader + _ status.Status + _ = errors.New + _ = runtime.String + _ = utilities.NewDoubleArray + _ = metadata.Join +) func request_DataReceiverService_PutEvents_0(ctx context.Context, marshaler runtime.Marshaler, client DataReceiverServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq Events - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + var ( + protoReq Events + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PutEvents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err - } func local_request_DataReceiverService_PutEvents_0(ctx context.Context, marshaler runtime.Marshaler, server DataReceiverServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq Events - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + var ( + protoReq Events + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PutEvents(ctx, &protoReq) return msg, metadata, err - } func request_DataReceiverService_PutMetrics_0(ctx context.Context, marshaler runtime.Marshaler, client DataReceiverServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq Metrics - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + var ( + protoReq Metrics + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PutMetrics(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err - } func local_request_DataReceiverService_PutMetrics_0(ctx context.Context, marshaler runtime.Marshaler, server DataReceiverServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq Metrics - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + var ( + protoReq Metrics + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PutMetrics(ctx, &protoReq) return msg, metadata, err - } func request_DataReceiverService_PutModels_0(ctx context.Context, marshaler runtime.Marshaler, client DataReceiverServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq Models - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + var ( + protoReq Models + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PutModels(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err - } func local_request_DataReceiverService_PutModels_0(ctx context.Context, marshaler runtime.Marshaler, server DataReceiverServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq Models - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + var ( + protoReq Models + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PutModels(ctx, &protoReq) return msg, metadata, err - } // RegisterDataReceiverServiceHandlerServer registers the http handlers for service DataReceiverService to "mux". // UnaryRPC :call DataReceiverServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterDataReceiverServiceHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. func RegisterDataReceiverServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DataReceiverServiceServer) error { - - mux.Handle("POST", pattern_DataReceiverService_PutEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodPost, pattern_DataReceiverService_PutEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutEvents", runtime.WithHTTPPathPattern("/v1/data-receiver/events")) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutEvents", runtime.WithHTTPPathPattern("/v1/data-receiver/events")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -135,20 +131,15 @@ func RegisterDataReceiverServiceHandlerServer(ctx context.Context, mux *runtime. runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_DataReceiverService_PutEvents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) - - mux.Handle("POST", pattern_DataReceiverService_PutMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodPost, pattern_DataReceiverService_PutMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutMetrics", runtime.WithHTTPPathPattern("/v1/data-receiver/metrics")) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutMetrics", runtime.WithHTTPPathPattern("/v1/data-receiver/metrics")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -160,20 +151,15 @@ func RegisterDataReceiverServiceHandlerServer(ctx context.Context, mux *runtime. runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_DataReceiverService_PutMetrics_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) - - mux.Handle("POST", pattern_DataReceiverService_PutModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodPost, pattern_DataReceiverService_PutModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutModels", runtime.WithHTTPPathPattern("/v1/data-receiver/models")) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutModels", runtime.WithHTTPPathPattern("/v1/data-receiver/models")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -185,9 +171,7 @@ func RegisterDataReceiverServiceHandlerServer(ctx context.Context, mux *runtime. runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_DataReceiverService_PutModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) return nil @@ -196,25 +180,24 @@ func RegisterDataReceiverServiceHandlerServer(ctx context.Context, mux *runtime. // RegisterDataReceiverServiceHandlerFromEndpoint is same as RegisterDataReceiverServiceHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterDataReceiverServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) + conn, err := grpc.NewClient(endpoint, opts...) if err != nil { return err } defer func() { if err != nil { if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) } return } go func() { <-ctx.Done() if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) } }() }() - return RegisterDataReceiverServiceHandler(ctx, mux, conn) } @@ -228,16 +211,13 @@ func RegisterDataReceiverServiceHandler(ctx context.Context, mux *runtime.ServeM // to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "DataReceiverServiceClient". // Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "DataReceiverServiceClient" // doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "DataReceiverServiceClient" to call the correct interceptors. +// "DataReceiverServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares. func RegisterDataReceiverServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client DataReceiverServiceClient) error { - - mux.Handle("POST", pattern_DataReceiverService_PutEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodPost, pattern_DataReceiverService_PutEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutEvents", runtime.WithHTTPPathPattern("/v1/data-receiver/events")) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutEvents", runtime.WithHTTPPathPattern("/v1/data-receiver/events")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -248,18 +228,13 @@ func RegisterDataReceiverServiceHandlerClient(ctx context.Context, mux *runtime. runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_DataReceiverService_PutEvents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) - - mux.Handle("POST", pattern_DataReceiverService_PutMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodPost, pattern_DataReceiverService_PutMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutMetrics", runtime.WithHTTPPathPattern("/v1/data-receiver/metrics")) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutMetrics", runtime.WithHTTPPathPattern("/v1/data-receiver/metrics")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -270,18 +245,13 @@ func RegisterDataReceiverServiceHandlerClient(ctx context.Context, mux *runtime. runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_DataReceiverService_PutMetrics_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) - - mux.Handle("POST", pattern_DataReceiverService_PutModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle(http.MethodPost, pattern_DataReceiverService_PutModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutModels", runtime.WithHTTPPathPattern("/v1/data-receiver/models")) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/zenoss.cloud.DataReceiverService/PutModels", runtime.WithHTTPPathPattern("/v1/data-receiver/models")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -292,26 +262,19 @@ func RegisterDataReceiverServiceHandlerClient(ctx context.Context, mux *runtime. runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_DataReceiverService_PutModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - }) - return nil } var ( - pattern_DataReceiverService_PutEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "data-receiver", "events"}, "")) - + pattern_DataReceiverService_PutEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "data-receiver", "events"}, "")) pattern_DataReceiverService_PutMetrics_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "data-receiver", "metrics"}, "")) - - pattern_DataReceiverService_PutModels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "data-receiver", "models"}, "")) + pattern_DataReceiverService_PutModels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "data-receiver", "models"}, "")) ) var ( - forward_DataReceiverService_PutEvents_0 = runtime.ForwardResponseMessage - + forward_DataReceiverService_PutEvents_0 = runtime.ForwardResponseMessage forward_DataReceiverService_PutMetrics_0 = runtime.ForwardResponseMessage - - forward_DataReceiverService_PutModels_0 = runtime.ForwardResponseMessage + forward_DataReceiverService_PutModels_0 = runtime.ForwardResponseMessage ) diff --git a/go/cloud/data_receiver/data_receiver_grpc.pb.go b/go/cloud/data_receiver/data_receiver_grpc.pb.go index c1ffff8..40265db 100644 --- a/go/cloud/data_receiver/data_receiver_grpc.pb.go +++ b/go/cloud/data_receiver/data_receiver_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: zenoss/cloud/data_receiver.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( DataReceiverService_PutEvents_FullMethodName = "/zenoss.cloud.DataReceiverService/PutEvents" @@ -29,15 +29,17 @@ const ( // DataReceiverServiceClient is the client API for DataReceiverService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Data Receiver API type DataReceiverServiceClient interface { // Send Events PutEvents(ctx context.Context, in *Events, opts ...grpc.CallOption) (*EventStatusResult, error) // Stream Events of any type. - PutEvent(ctx context.Context, opts ...grpc.CallOption) (DataReceiverService_PutEventClient, error) + PutEvent(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[EventWrapper, Void], error) // Send Metrics PutMetrics(ctx context.Context, in *Metrics, opts ...grpc.CallOption) (*StatusResult, error) // Stream Metric of any type - PutMetric(ctx context.Context, opts ...grpc.CallOption) (DataReceiverService_PutMetricClient, error) + PutMetric(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[MetricWrapper, Void], error) // Send batch of models PutModels(ctx context.Context, in *Models, opts ...grpc.CallOption) (*ModelStatusResult, error) } @@ -51,94 +53,55 @@ func NewDataReceiverServiceClient(cc grpc.ClientConnInterface) DataReceiverServi } func (c *dataReceiverServiceClient) PutEvents(ctx context.Context, in *Events, opts ...grpc.CallOption) (*EventStatusResult, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(EventStatusResult) - err := c.cc.Invoke(ctx, DataReceiverService_PutEvents_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataReceiverService_PutEvents_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *dataReceiverServiceClient) PutEvent(ctx context.Context, opts ...grpc.CallOption) (DataReceiverService_PutEventClient, error) { - stream, err := c.cc.NewStream(ctx, &DataReceiverService_ServiceDesc.Streams[0], DataReceiverService_PutEvent_FullMethodName, opts...) +func (c *dataReceiverServiceClient) PutEvent(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[EventWrapper, Void], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &DataReceiverService_ServiceDesc.Streams[0], DataReceiverService_PutEvent_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &dataReceiverServicePutEventClient{stream} + x := &grpc.GenericClientStream[EventWrapper, Void]{ClientStream: stream} return x, nil } -type DataReceiverService_PutEventClient interface { - Send(*EventWrapper) error - CloseAndRecv() (*Void, error) - grpc.ClientStream -} - -type dataReceiverServicePutEventClient struct { - grpc.ClientStream -} - -func (x *dataReceiverServicePutEventClient) Send(m *EventWrapper) error { - return x.ClientStream.SendMsg(m) -} - -func (x *dataReceiverServicePutEventClient) CloseAndRecv() (*Void, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Void) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DataReceiverService_PutEventClient = grpc.ClientStreamingClient[EventWrapper, Void] func (c *dataReceiverServiceClient) PutMetrics(ctx context.Context, in *Metrics, opts ...grpc.CallOption) (*StatusResult, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(StatusResult) - err := c.cc.Invoke(ctx, DataReceiverService_PutMetrics_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataReceiverService_PutMetrics_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *dataReceiverServiceClient) PutMetric(ctx context.Context, opts ...grpc.CallOption) (DataReceiverService_PutMetricClient, error) { - stream, err := c.cc.NewStream(ctx, &DataReceiverService_ServiceDesc.Streams[1], DataReceiverService_PutMetric_FullMethodName, opts...) +func (c *dataReceiverServiceClient) PutMetric(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[MetricWrapper, Void], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &DataReceiverService_ServiceDesc.Streams[1], DataReceiverService_PutMetric_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &dataReceiverServicePutMetricClient{stream} + x := &grpc.GenericClientStream[MetricWrapper, Void]{ClientStream: stream} return x, nil } -type DataReceiverService_PutMetricClient interface { - Send(*MetricWrapper) error - CloseAndRecv() (*Void, error) - grpc.ClientStream -} - -type dataReceiverServicePutMetricClient struct { - grpc.ClientStream -} - -func (x *dataReceiverServicePutMetricClient) Send(m *MetricWrapper) error { - return x.ClientStream.SendMsg(m) -} - -func (x *dataReceiverServicePutMetricClient) CloseAndRecv() (*Void, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Void) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DataReceiverService_PutMetricClient = grpc.ClientStreamingClient[MetricWrapper, Void] func (c *dataReceiverServiceClient) PutModels(ctx context.Context, in *Models, opts ...grpc.CallOption) (*ModelStatusResult, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ModelStatusResult) - err := c.cc.Invoke(ctx, DataReceiverService_PutModels_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DataReceiverService_PutModels_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -147,41 +110,47 @@ func (c *dataReceiverServiceClient) PutModels(ctx context.Context, in *Models, o // DataReceiverServiceServer is the server API for DataReceiverService service. // All implementations must embed UnimplementedDataReceiverServiceServer -// for forward compatibility +// for forward compatibility. +// +// Data Receiver API type DataReceiverServiceServer interface { // Send Events PutEvents(context.Context, *Events) (*EventStatusResult, error) // Stream Events of any type. - PutEvent(DataReceiverService_PutEventServer) error + PutEvent(grpc.ClientStreamingServer[EventWrapper, Void]) error // Send Metrics PutMetrics(context.Context, *Metrics) (*StatusResult, error) // Stream Metric of any type - PutMetric(DataReceiverService_PutMetricServer) error + PutMetric(grpc.ClientStreamingServer[MetricWrapper, Void]) error // Send batch of models PutModels(context.Context, *Models) (*ModelStatusResult, error) mustEmbedUnimplementedDataReceiverServiceServer() } -// UnimplementedDataReceiverServiceServer must be embedded to have forward compatible implementations. -type UnimplementedDataReceiverServiceServer struct { -} +// UnimplementedDataReceiverServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedDataReceiverServiceServer struct{} func (UnimplementedDataReceiverServiceServer) PutEvents(context.Context, *Events) (*EventStatusResult, error) { return nil, status.Errorf(codes.Unimplemented, "method PutEvents not implemented") } -func (UnimplementedDataReceiverServiceServer) PutEvent(DataReceiverService_PutEventServer) error { +func (UnimplementedDataReceiverServiceServer) PutEvent(grpc.ClientStreamingServer[EventWrapper, Void]) error { return status.Errorf(codes.Unimplemented, "method PutEvent not implemented") } func (UnimplementedDataReceiverServiceServer) PutMetrics(context.Context, *Metrics) (*StatusResult, error) { return nil, status.Errorf(codes.Unimplemented, "method PutMetrics not implemented") } -func (UnimplementedDataReceiverServiceServer) PutMetric(DataReceiverService_PutMetricServer) error { +func (UnimplementedDataReceiverServiceServer) PutMetric(grpc.ClientStreamingServer[MetricWrapper, Void]) error { return status.Errorf(codes.Unimplemented, "method PutMetric not implemented") } func (UnimplementedDataReceiverServiceServer) PutModels(context.Context, *Models) (*ModelStatusResult, error) { return nil, status.Errorf(codes.Unimplemented, "method PutModels not implemented") } func (UnimplementedDataReceiverServiceServer) mustEmbedUnimplementedDataReceiverServiceServer() {} +func (UnimplementedDataReceiverServiceServer) testEmbeddedByValue() {} // UnsafeDataReceiverServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to DataReceiverServiceServer will @@ -191,6 +160,13 @@ type UnsafeDataReceiverServiceServer interface { } func RegisterDataReceiverServiceServer(s grpc.ServiceRegistrar, srv DataReceiverServiceServer) { + // If the following call pancis, it indicates UnimplementedDataReceiverServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&DataReceiverService_ServiceDesc, srv) } @@ -213,30 +189,11 @@ func _DataReceiverService_PutEvents_Handler(srv interface{}, ctx context.Context } func _DataReceiverService_PutEvent_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(DataReceiverServiceServer).PutEvent(&dataReceiverServicePutEventServer{stream}) -} - -type DataReceiverService_PutEventServer interface { - SendAndClose(*Void) error - Recv() (*EventWrapper, error) - grpc.ServerStream + return srv.(DataReceiverServiceServer).PutEvent(&grpc.GenericServerStream[EventWrapper, Void]{ServerStream: stream}) } -type dataReceiverServicePutEventServer struct { - grpc.ServerStream -} - -func (x *dataReceiverServicePutEventServer) SendAndClose(m *Void) error { - return x.ServerStream.SendMsg(m) -} - -func (x *dataReceiverServicePutEventServer) Recv() (*EventWrapper, error) { - m := new(EventWrapper) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DataReceiverService_PutEventServer = grpc.ClientStreamingServer[EventWrapper, Void] func _DataReceiverService_PutMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Metrics) @@ -257,30 +214,11 @@ func _DataReceiverService_PutMetrics_Handler(srv interface{}, ctx context.Contex } func _DataReceiverService_PutMetric_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(DataReceiverServiceServer).PutMetric(&dataReceiverServicePutMetricServer{stream}) -} - -type DataReceiverService_PutMetricServer interface { - SendAndClose(*Void) error - Recv() (*MetricWrapper, error) - grpc.ServerStream -} - -type dataReceiverServicePutMetricServer struct { - grpc.ServerStream + return srv.(DataReceiverServiceServer).PutMetric(&grpc.GenericServerStream[MetricWrapper, Void]{ServerStream: stream}) } -func (x *dataReceiverServicePutMetricServer) SendAndClose(m *Void) error { - return x.ServerStream.SendMsg(m) -} - -func (x *dataReceiverServicePutMetricServer) Recv() (*MetricWrapper, error) { - m := new(MetricWrapper) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DataReceiverService_PutMetricServer = grpc.ClientStreamingServer[MetricWrapper, Void] func _DataReceiverService_PutModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Models) diff --git a/go/cloud/data_receiver/mock_DataReceiverServiceClient.go b/go/cloud/data_receiver/mock_DataReceiverServiceClient.go index f0f824c..84aaf32 100644 --- a/go/cloud/data_receiver/mock_DataReceiverServiceClient.go +++ b/go/cloud/data_receiver/mock_DataReceiverServiceClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver @@ -24,7 +24,7 @@ func (_m *MockDataReceiverServiceClient) EXPECT() *MockDataReceiverServiceClient } // PutEvent provides a mock function with given fields: ctx, opts -func (_m *MockDataReceiverServiceClient) PutEvent(ctx context.Context, opts ...grpc.CallOption) (DataReceiverService_PutEventClient, error) { +func (_m *MockDataReceiverServiceClient) PutEvent(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[EventWrapper, Void], error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -38,16 +38,16 @@ func (_m *MockDataReceiverServiceClient) PutEvent(ctx context.Context, opts ...g panic("no return value specified for PutEvent") } - var r0 DataReceiverService_PutEventClient + var r0 grpc.ClientStreamingClient[EventWrapper, Void] var r1 error - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (DataReceiverService_PutEventClient, error)); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (grpc.ClientStreamingClient[EventWrapper, Void], error)); ok { return rf(ctx, opts...) } - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) DataReceiverService_PutEventClient); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) grpc.ClientStreamingClient[EventWrapper, Void]); ok { r0 = rf(ctx, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(DataReceiverService_PutEventClient) + r0 = ret.Get(0).(grpc.ClientStreamingClient[EventWrapper, Void]) } } @@ -86,12 +86,12 @@ func (_c *MockDataReceiverServiceClient_PutEvent_Call) Run(run func(ctx context. return _c } -func (_c *MockDataReceiverServiceClient_PutEvent_Call) Return(_a0 DataReceiverService_PutEventClient, _a1 error) *MockDataReceiverServiceClient_PutEvent_Call { +func (_c *MockDataReceiverServiceClient_PutEvent_Call) Return(_a0 grpc.ClientStreamingClient[EventWrapper, Void], _a1 error) *MockDataReceiverServiceClient_PutEvent_Call { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverServiceClient_PutEvent_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (DataReceiverService_PutEventClient, error)) *MockDataReceiverServiceClient_PutEvent_Call { +func (_c *MockDataReceiverServiceClient_PutEvent_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (grpc.ClientStreamingClient[EventWrapper, Void], error)) *MockDataReceiverServiceClient_PutEvent_Call { _c.Call.Return(run) return _c } @@ -171,7 +171,7 @@ func (_c *MockDataReceiverServiceClient_PutEvents_Call) RunAndReturn(run func(co } // PutMetric provides a mock function with given fields: ctx, opts -func (_m *MockDataReceiverServiceClient) PutMetric(ctx context.Context, opts ...grpc.CallOption) (DataReceiverService_PutMetricClient, error) { +func (_m *MockDataReceiverServiceClient) PutMetric(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[MetricWrapper, Void], error) { _va := make([]interface{}, len(opts)) for _i := range opts { _va[_i] = opts[_i] @@ -185,16 +185,16 @@ func (_m *MockDataReceiverServiceClient) PutMetric(ctx context.Context, opts ... panic("no return value specified for PutMetric") } - var r0 DataReceiverService_PutMetricClient + var r0 grpc.ClientStreamingClient[MetricWrapper, Void] var r1 error - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (DataReceiverService_PutMetricClient, error)); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) (grpc.ClientStreamingClient[MetricWrapper, Void], error)); ok { return rf(ctx, opts...) } - if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) DataReceiverService_PutMetricClient); ok { + if rf, ok := ret.Get(0).(func(context.Context, ...grpc.CallOption) grpc.ClientStreamingClient[MetricWrapper, Void]); ok { r0 = rf(ctx, opts...) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(DataReceiverService_PutMetricClient) + r0 = ret.Get(0).(grpc.ClientStreamingClient[MetricWrapper, Void]) } } @@ -233,12 +233,12 @@ func (_c *MockDataReceiverServiceClient_PutMetric_Call) Run(run func(ctx context return _c } -func (_c *MockDataReceiverServiceClient_PutMetric_Call) Return(_a0 DataReceiverService_PutMetricClient, _a1 error) *MockDataReceiverServiceClient_PutMetric_Call { +func (_c *MockDataReceiverServiceClient_PutMetric_Call) Return(_a0 grpc.ClientStreamingClient[MetricWrapper, Void], _a1 error) *MockDataReceiverServiceClient_PutMetric_Call { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverServiceClient_PutMetric_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (DataReceiverService_PutMetricClient, error)) *MockDataReceiverServiceClient_PutMetric_Call { +func (_c *MockDataReceiverServiceClient_PutMetric_Call) RunAndReturn(run func(context.Context, ...grpc.CallOption) (grpc.ClientStreamingClient[MetricWrapper, Void], error)) *MockDataReceiverServiceClient_PutMetric_Call { _c.Call.Return(run) return _c } diff --git a/go/cloud/data_receiver/mock_DataReceiverServiceServer.go b/go/cloud/data_receiver/mock_DataReceiverServiceServer.go index 6cf009d..7b2f309 100644 --- a/go/cloud/data_receiver/mock_DataReceiverServiceServer.go +++ b/go/cloud/data_receiver/mock_DataReceiverServiceServer.go @@ -1,10 +1,12 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver import ( context "context" + grpc "google.golang.org/grpc" + mock "github.com/stretchr/testify/mock" ) @@ -22,7 +24,7 @@ func (_m *MockDataReceiverServiceServer) EXPECT() *MockDataReceiverServiceServer } // PutEvent provides a mock function with given fields: _a0 -func (_m *MockDataReceiverServiceServer) PutEvent(_a0 DataReceiverService_PutEventServer) error { +func (_m *MockDataReceiverServiceServer) PutEvent(_a0 grpc.ClientStreamingServer[EventWrapper, Void]) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -30,7 +32,7 @@ func (_m *MockDataReceiverServiceServer) PutEvent(_a0 DataReceiverService_PutEve } var r0 error - if rf, ok := ret.Get(0).(func(DataReceiverService_PutEventServer) error); ok { + if rf, ok := ret.Get(0).(func(grpc.ClientStreamingServer[EventWrapper, Void]) error); ok { r0 = rf(_a0) } else { r0 = ret.Error(0) @@ -45,14 +47,14 @@ type MockDataReceiverServiceServer_PutEvent_Call struct { } // PutEvent is a helper method to define mock.On call -// - _a0 DataReceiverService_PutEventServer +// - _a0 grpc.ClientStreamingServer[EventWrapper,Void] func (_e *MockDataReceiverServiceServer_Expecter) PutEvent(_a0 interface{}) *MockDataReceiverServiceServer_PutEvent_Call { return &MockDataReceiverServiceServer_PutEvent_Call{Call: _e.mock.On("PutEvent", _a0)} } -func (_c *MockDataReceiverServiceServer_PutEvent_Call) Run(run func(_a0 DataReceiverService_PutEventServer)) *MockDataReceiverServiceServer_PutEvent_Call { +func (_c *MockDataReceiverServiceServer_PutEvent_Call) Run(run func(_a0 grpc.ClientStreamingServer[EventWrapper, Void])) *MockDataReceiverServiceServer_PutEvent_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(DataReceiverService_PutEventServer)) + run(args[0].(grpc.ClientStreamingServer[EventWrapper, Void])) }) return _c } @@ -62,7 +64,7 @@ func (_c *MockDataReceiverServiceServer_PutEvent_Call) Return(_a0 error) *MockDa return _c } -func (_c *MockDataReceiverServiceServer_PutEvent_Call) RunAndReturn(run func(DataReceiverService_PutEventServer) error) *MockDataReceiverServiceServer_PutEvent_Call { +func (_c *MockDataReceiverServiceServer_PutEvent_Call) RunAndReturn(run func(grpc.ClientStreamingServer[EventWrapper, Void]) error) *MockDataReceiverServiceServer_PutEvent_Call { _c.Call.Return(run) return _c } @@ -127,7 +129,7 @@ func (_c *MockDataReceiverServiceServer_PutEvents_Call) RunAndReturn(run func(co } // PutMetric provides a mock function with given fields: _a0 -func (_m *MockDataReceiverServiceServer) PutMetric(_a0 DataReceiverService_PutMetricServer) error { +func (_m *MockDataReceiverServiceServer) PutMetric(_a0 grpc.ClientStreamingServer[MetricWrapper, Void]) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -135,7 +137,7 @@ func (_m *MockDataReceiverServiceServer) PutMetric(_a0 DataReceiverService_PutMe } var r0 error - if rf, ok := ret.Get(0).(func(DataReceiverService_PutMetricServer) error); ok { + if rf, ok := ret.Get(0).(func(grpc.ClientStreamingServer[MetricWrapper, Void]) error); ok { r0 = rf(_a0) } else { r0 = ret.Error(0) @@ -150,14 +152,14 @@ type MockDataReceiverServiceServer_PutMetric_Call struct { } // PutMetric is a helper method to define mock.On call -// - _a0 DataReceiverService_PutMetricServer +// - _a0 grpc.ClientStreamingServer[MetricWrapper,Void] func (_e *MockDataReceiverServiceServer_Expecter) PutMetric(_a0 interface{}) *MockDataReceiverServiceServer_PutMetric_Call { return &MockDataReceiverServiceServer_PutMetric_Call{Call: _e.mock.On("PutMetric", _a0)} } -func (_c *MockDataReceiverServiceServer_PutMetric_Call) Run(run func(_a0 DataReceiverService_PutMetricServer)) *MockDataReceiverServiceServer_PutMetric_Call { +func (_c *MockDataReceiverServiceServer_PutMetric_Call) Run(run func(_a0 grpc.ClientStreamingServer[MetricWrapper, Void])) *MockDataReceiverServiceServer_PutMetric_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(DataReceiverService_PutMetricServer)) + run(args[0].(grpc.ClientStreamingServer[MetricWrapper, Void])) }) return _c } @@ -167,7 +169,7 @@ func (_c *MockDataReceiverServiceServer_PutMetric_Call) Return(_a0 error) *MockD return _c } -func (_c *MockDataReceiverServiceServer_PutMetric_Call) RunAndReturn(run func(DataReceiverService_PutMetricServer) error) *MockDataReceiverServiceServer_PutMetric_Call { +func (_c *MockDataReceiverServiceServer_PutMetric_Call) RunAndReturn(run func(grpc.ClientStreamingServer[MetricWrapper, Void]) error) *MockDataReceiverServiceServer_PutMetric_Call { _c.Call.Return(run) return _c } @@ -290,7 +292,7 @@ func (_c *MockDataReceiverServiceServer_PutModels_Call) RunAndReturn(run func(co return _c } -// mustEmbedUnimplementedDataReceiverServiceServer provides a mock function with given fields: +// mustEmbedUnimplementedDataReceiverServiceServer provides a mock function with no fields func (_m *MockDataReceiverServiceServer) mustEmbedUnimplementedDataReceiverServiceServer() { _m.Called() } @@ -318,7 +320,7 @@ func (_c *MockDataReceiverServiceServer_mustEmbedUnimplementedDataReceiverServic } func (_c *MockDataReceiverServiceServer_mustEmbedUnimplementedDataReceiverServiceServer_Call) RunAndReturn(run func()) *MockDataReceiverServiceServer_mustEmbedUnimplementedDataReceiverServiceServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/data_receiver/mock_DataReceiverService_PutEventClient.go b/go/cloud/data_receiver/mock_DataReceiverService_PutEventClient.go index 58d9828..9d1fb0a 100644 --- a/go/cloud/data_receiver/mock_DataReceiverService_PutEventClient.go +++ b/go/cloud/data_receiver/mock_DataReceiverService_PutEventClient.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockDataReceiverService_PutEventClient is an autogenerated mock type for the DataReceiverService_PutEventClient type -type MockDataReceiverService_PutEventClient struct { +type MockDataReceiverService_PutEventClient[Req interface{}, Res interface{}] struct { mock.Mock } -type MockDataReceiverService_PutEventClient_Expecter struct { +type MockDataReceiverService_PutEventClient_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockDataReceiverService_PutEventClient) EXPECT() *MockDataReceiverService_PutEventClient_Expecter { - return &MockDataReceiverService_PutEventClient_Expecter{mock: &_m.Mock} +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) EXPECT() *MockDataReceiverService_PutEventClient_Expecter[Req, Res] { + return &MockDataReceiverService_PutEventClient_Expecter[Req, Res]{mock: &_m.Mock} } -// CloseAndRecv provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventClient) CloseAndRecv() (*Void, error) { +// CloseAndRecv provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) CloseAndRecv() (*Void, error) { ret := _m.Called() if len(ret) == 0 { @@ -53,34 +54,34 @@ func (_m *MockDataReceiverService_PutEventClient) CloseAndRecv() (*Void, error) } // MockDataReceiverService_PutEventClient_CloseAndRecv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseAndRecv' -type MockDataReceiverService_PutEventClient_CloseAndRecv_Call struct { +type MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseAndRecv is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventClient_Expecter) CloseAndRecv() *MockDataReceiverService_PutEventClient_CloseAndRecv_Call { - return &MockDataReceiverService_PutEventClient_CloseAndRecv_Call{Call: _e.mock.On("CloseAndRecv")} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) CloseAndRecv() *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res]{Call: _e.mock.On("CloseAndRecv")} } -func (_c *MockDataReceiverService_PutEventClient_CloseAndRecv_Call) Run(run func()) *MockDataReceiverService_PutEventClient_CloseAndRecv_Call { +func (_c *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventClient_CloseAndRecv_Call) Return(_a0 *Void, _a1 error) *MockDataReceiverService_PutEventClient_CloseAndRecv_Call { +func (_c *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res]) Return(_a0 *Void, _a1 error) *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverService_PutEventClient_CloseAndRecv_Call) RunAndReturn(run func() (*Void, error)) *MockDataReceiverService_PutEventClient_CloseAndRecv_Call { +func (_c *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res]) RunAndReturn(run func() (*Void, error)) *MockDataReceiverService_PutEventClient_CloseAndRecv_Call[Req, Res] { _c.Call.Return(run) return _c } -// CloseSend provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventClient) CloseSend() error { +// CloseSend provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) CloseSend() error { ret := _m.Called() if len(ret) == 0 { @@ -98,34 +99,34 @@ func (_m *MockDataReceiverService_PutEventClient) CloseSend() error { } // MockDataReceiverService_PutEventClient_CloseSend_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseSend' -type MockDataReceiverService_PutEventClient_CloseSend_Call struct { +type MockDataReceiverService_PutEventClient_CloseSend_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseSend is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventClient_Expecter) CloseSend() *MockDataReceiverService_PutEventClient_CloseSend_Call { - return &MockDataReceiverService_PutEventClient_CloseSend_Call{Call: _e.mock.On("CloseSend")} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) CloseSend() *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res]{Call: _e.mock.On("CloseSend")} } -func (_c *MockDataReceiverService_PutEventClient_CloseSend_Call) Run(run func()) *MockDataReceiverService_PutEventClient_CloseSend_Call { +func (_c *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventClient_CloseSend_Call) Return(_a0 error) *MockDataReceiverService_PutEventClient_CloseSend_Call { +func (_c *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventClient_CloseSend_Call) RunAndReturn(run func() error) *MockDataReceiverService_PutEventClient_CloseSend_Call { +func (_c *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res]) RunAndReturn(run func() error) *MockDataReceiverService_PutEventClient_CloseSend_Call[Req, Res] { _c.Call.Return(run) return _c } -// Context provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventClient) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -145,34 +146,34 @@ func (_m *MockDataReceiverService_PutEventClient) Context() context.Context { } // MockDataReceiverService_PutEventClient_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockDataReceiverService_PutEventClient_Context_Call struct { +type MockDataReceiverService_PutEventClient_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventClient_Expecter) Context() *MockDataReceiverService_PutEventClient_Context_Call { - return &MockDataReceiverService_PutEventClient_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) Context() *MockDataReceiverService_PutEventClient_Context_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockDataReceiverService_PutEventClient_Context_Call) Run(run func()) *MockDataReceiverService_PutEventClient_Context_Call { +func (_c *MockDataReceiverService_PutEventClient_Context_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventClient_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventClient_Context_Call) Return(_a0 context.Context) *MockDataReceiverService_PutEventClient_Context_Call { +func (_c *MockDataReceiverService_PutEventClient_Context_Call[Req, Res]) Return(_a0 context.Context) *MockDataReceiverService_PutEventClient_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventClient_Context_Call) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutEventClient_Context_Call { +func (_c *MockDataReceiverService_PutEventClient_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutEventClient_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Header provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventClient) Header() (metadata.MD, error) { +// Header provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) Header() (metadata.MD, error) { ret := _m.Called() if len(ret) == 0 { @@ -202,34 +203,34 @@ func (_m *MockDataReceiverService_PutEventClient) Header() (metadata.MD, error) } // MockDataReceiverService_PutEventClient_Header_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Header' -type MockDataReceiverService_PutEventClient_Header_Call struct { +type MockDataReceiverService_PutEventClient_Header_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Header is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventClient_Expecter) Header() *MockDataReceiverService_PutEventClient_Header_Call { - return &MockDataReceiverService_PutEventClient_Header_Call{Call: _e.mock.On("Header")} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) Header() *MockDataReceiverService_PutEventClient_Header_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_Header_Call[Req, Res]{Call: _e.mock.On("Header")} } -func (_c *MockDataReceiverService_PutEventClient_Header_Call) Run(run func()) *MockDataReceiverService_PutEventClient_Header_Call { +func (_c *MockDataReceiverService_PutEventClient_Header_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventClient_Header_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventClient_Header_Call) Return(_a0 metadata.MD, _a1 error) *MockDataReceiverService_PutEventClient_Header_Call { +func (_c *MockDataReceiverService_PutEventClient_Header_Call[Req, Res]) Return(_a0 metadata.MD, _a1 error) *MockDataReceiverService_PutEventClient_Header_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverService_PutEventClient_Header_Call) RunAndReturn(run func() (metadata.MD, error)) *MockDataReceiverService_PutEventClient_Header_Call { +func (_c *MockDataReceiverService_PutEventClient_Header_Call[Req, Res]) RunAndReturn(run func() (metadata.MD, error)) *MockDataReceiverService_PutEventClient_Header_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutEventClient) RecvMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -247,35 +248,35 @@ func (_m *MockDataReceiverService_PutEventClient) RecvMsg(m interface{}) error { } // MockDataReceiverService_PutEventClient_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockDataReceiverService_PutEventClient_RecvMsg_Call struct { +type MockDataReceiverService_PutEventClient_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutEventClient_Expecter) RecvMsg(m interface{}) *MockDataReceiverService_PutEventClient_RecvMsg_Call { - return &MockDataReceiverService_PutEventClient_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) RecvMsg(m interface{}) *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockDataReceiverService_PutEventClient_RecvMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutEventClient_RecvMsg_Call { +func (_c *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutEventClient_RecvMsg_Call) Return(_a0 error) *MockDataReceiverService_PutEventClient_RecvMsg_Call { +func (_c *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventClient_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventClient_RecvMsg_Call { +func (_c *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventClient_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // Send provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutEventClient) Send(_a0 *EventWrapper) error { +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) Send(_a0 *EventWrapper) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -293,35 +294,35 @@ func (_m *MockDataReceiverService_PutEventClient) Send(_a0 *EventWrapper) error } // MockDataReceiverService_PutEventClient_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' -type MockDataReceiverService_PutEventClient_Send_Call struct { +type MockDataReceiverService_PutEventClient_Send_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Send is a helper method to define mock.On call // - _a0 *EventWrapper -func (_e *MockDataReceiverService_PutEventClient_Expecter) Send(_a0 interface{}) *MockDataReceiverService_PutEventClient_Send_Call { - return &MockDataReceiverService_PutEventClient_Send_Call{Call: _e.mock.On("Send", _a0)} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) Send(_a0 interface{}) *MockDataReceiverService_PutEventClient_Send_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_Send_Call[Req, Res]{Call: _e.mock.On("Send", _a0)} } -func (_c *MockDataReceiverService_PutEventClient_Send_Call) Run(run func(_a0 *EventWrapper)) *MockDataReceiverService_PutEventClient_Send_Call { +func (_c *MockDataReceiverService_PutEventClient_Send_Call[Req, Res]) Run(run func(_a0 *EventWrapper)) *MockDataReceiverService_PutEventClient_Send_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*EventWrapper)) }) return _c } -func (_c *MockDataReceiverService_PutEventClient_Send_Call) Return(_a0 error) *MockDataReceiverService_PutEventClient_Send_Call { +func (_c *MockDataReceiverService_PutEventClient_Send_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventClient_Send_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventClient_Send_Call) RunAndReturn(run func(*EventWrapper) error) *MockDataReceiverService_PutEventClient_Send_Call { +func (_c *MockDataReceiverService_PutEventClient_Send_Call[Req, Res]) RunAndReturn(run func(*EventWrapper) error) *MockDataReceiverService_PutEventClient_Send_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutEventClient) SendMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -339,35 +340,35 @@ func (_m *MockDataReceiverService_PutEventClient) SendMsg(m interface{}) error { } // MockDataReceiverService_PutEventClient_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockDataReceiverService_PutEventClient_SendMsg_Call struct { +type MockDataReceiverService_PutEventClient_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutEventClient_Expecter) SendMsg(m interface{}) *MockDataReceiverService_PutEventClient_SendMsg_Call { - return &MockDataReceiverService_PutEventClient_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) SendMsg(m interface{}) *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockDataReceiverService_PutEventClient_SendMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutEventClient_SendMsg_Call { +func (_c *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutEventClient_SendMsg_Call) Return(_a0 error) *MockDataReceiverService_PutEventClient_SendMsg_Call { +func (_c *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventClient_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventClient_SendMsg_Call { +func (_c *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventClient_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } -// Trailer provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventClient) Trailer() metadata.MD { +// Trailer provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventClient[Req, Res]) Trailer() metadata.MD { ret := _m.Called() if len(ret) == 0 { @@ -387,39 +388,39 @@ func (_m *MockDataReceiverService_PutEventClient) Trailer() metadata.MD { } // MockDataReceiverService_PutEventClient_Trailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Trailer' -type MockDataReceiverService_PutEventClient_Trailer_Call struct { +type MockDataReceiverService_PutEventClient_Trailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Trailer is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventClient_Expecter) Trailer() *MockDataReceiverService_PutEventClient_Trailer_Call { - return &MockDataReceiverService_PutEventClient_Trailer_Call{Call: _e.mock.On("Trailer")} +func (_e *MockDataReceiverService_PutEventClient_Expecter[Req, Res]) Trailer() *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res] { + return &MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res]{Call: _e.mock.On("Trailer")} } -func (_c *MockDataReceiverService_PutEventClient_Trailer_Call) Run(run func()) *MockDataReceiverService_PutEventClient_Trailer_Call { +func (_c *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventClient_Trailer_Call) Return(_a0 metadata.MD) *MockDataReceiverService_PutEventClient_Trailer_Call { +func (_c *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res]) Return(_a0 metadata.MD) *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventClient_Trailer_Call) RunAndReturn(run func() metadata.MD) *MockDataReceiverService_PutEventClient_Trailer_Call { +func (_c *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res]) RunAndReturn(run func() metadata.MD) *MockDataReceiverService_PutEventClient_Trailer_Call[Req, Res] { _c.Call.Return(run) return _c } // NewMockDataReceiverService_PutEventClient creates a new instance of MockDataReceiverService_PutEventClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockDataReceiverService_PutEventClient(t interface { +func NewMockDataReceiverService_PutEventClient[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockDataReceiverService_PutEventClient { - mock := &MockDataReceiverService_PutEventClient{} +}) *MockDataReceiverService_PutEventClient[Req, Res] { + mock := &MockDataReceiverService_PutEventClient[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/data_receiver/mock_DataReceiverService_PutEventServer.go b/go/cloud/data_receiver/mock_DataReceiverService_PutEventServer.go index 83a6096..5b8282e 100644 --- a/go/cloud/data_receiver/mock_DataReceiverService_PutEventServer.go +++ b/go/cloud/data_receiver/mock_DataReceiverService_PutEventServer.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockDataReceiverService_PutEventServer is an autogenerated mock type for the DataReceiverService_PutEventServer type -type MockDataReceiverService_PutEventServer struct { +type MockDataReceiverService_PutEventServer[Req interface{}, Res interface{}] struct { mock.Mock } -type MockDataReceiverService_PutEventServer_Expecter struct { +type MockDataReceiverService_PutEventServer_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockDataReceiverService_PutEventServer) EXPECT() *MockDataReceiverService_PutEventServer_Expecter { - return &MockDataReceiverService_PutEventServer_Expecter{mock: &_m.Mock} +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) EXPECT() *MockDataReceiverService_PutEventServer_Expecter[Req, Res] { + return &MockDataReceiverService_PutEventServer_Expecter[Req, Res]{mock: &_m.Mock} } -// Context provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventServer) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -43,34 +44,34 @@ func (_m *MockDataReceiverService_PutEventServer) Context() context.Context { } // MockDataReceiverService_PutEventServer_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockDataReceiverService_PutEventServer_Context_Call struct { +type MockDataReceiverService_PutEventServer_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventServer_Expecter) Context() *MockDataReceiverService_PutEventServer_Context_Call { - return &MockDataReceiverService_PutEventServer_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) Context() *MockDataReceiverService_PutEventServer_Context_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockDataReceiverService_PutEventServer_Context_Call) Run(run func()) *MockDataReceiverService_PutEventServer_Context_Call { +func (_c *MockDataReceiverService_PutEventServer_Context_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventServer_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventServer_Context_Call) Return(_a0 context.Context) *MockDataReceiverService_PutEventServer_Context_Call { +func (_c *MockDataReceiverService_PutEventServer_Context_Call[Req, Res]) Return(_a0 context.Context) *MockDataReceiverService_PutEventServer_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventServer_Context_Call) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutEventServer_Context_Call { +func (_c *MockDataReceiverService_PutEventServer_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutEventServer_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Recv provides a mock function with given fields: -func (_m *MockDataReceiverService_PutEventServer) Recv() (*EventWrapper, error) { +// Recv provides a mock function with no fields +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) Recv() (*EventWrapper, error) { ret := _m.Called() if len(ret) == 0 { @@ -100,34 +101,34 @@ func (_m *MockDataReceiverService_PutEventServer) Recv() (*EventWrapper, error) } // MockDataReceiverService_PutEventServer_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' -type MockDataReceiverService_PutEventServer_Recv_Call struct { +type MockDataReceiverService_PutEventServer_Recv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Recv is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutEventServer_Expecter) Recv() *MockDataReceiverService_PutEventServer_Recv_Call { - return &MockDataReceiverService_PutEventServer_Recv_Call{Call: _e.mock.On("Recv")} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) Recv() *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_Recv_Call[Req, Res]{Call: _e.mock.On("Recv")} } -func (_c *MockDataReceiverService_PutEventServer_Recv_Call) Run(run func()) *MockDataReceiverService_PutEventServer_Recv_Call { +func (_c *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutEventServer_Recv_Call) Return(_a0 *EventWrapper, _a1 error) *MockDataReceiverService_PutEventServer_Recv_Call { +func (_c *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res]) Return(_a0 *EventWrapper, _a1 error) *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverService_PutEventServer_Recv_Call) RunAndReturn(run func() (*EventWrapper, error)) *MockDataReceiverService_PutEventServer_Recv_Call { +func (_c *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res]) RunAndReturn(run func() (*EventWrapper, error)) *MockDataReceiverService_PutEventServer_Recv_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutEventServer) RecvMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -145,35 +146,35 @@ func (_m *MockDataReceiverService_PutEventServer) RecvMsg(m interface{}) error { } // MockDataReceiverService_PutEventServer_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockDataReceiverService_PutEventServer_RecvMsg_Call struct { +type MockDataReceiverService_PutEventServer_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutEventServer_Expecter) RecvMsg(m interface{}) *MockDataReceiverService_PutEventServer_RecvMsg_Call { - return &MockDataReceiverService_PutEventServer_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) RecvMsg(m interface{}) *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockDataReceiverService_PutEventServer_RecvMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutEventServer_RecvMsg_Call { +func (_c *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutEventServer_RecvMsg_Call) Return(_a0 error) *MockDataReceiverService_PutEventServer_RecvMsg_Call { +func (_c *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventServer_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventServer_RecvMsg_Call { +func (_c *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventServer_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SendAndClose provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutEventServer) SendAndClose(_a0 *Void) error { +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) SendAndClose(_a0 *Void) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -191,35 +192,35 @@ func (_m *MockDataReceiverService_PutEventServer) SendAndClose(_a0 *Void) error } // MockDataReceiverService_PutEventServer_SendAndClose_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendAndClose' -type MockDataReceiverService_PutEventServer_SendAndClose_Call struct { +type MockDataReceiverService_PutEventServer_SendAndClose_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendAndClose is a helper method to define mock.On call // - _a0 *Void -func (_e *MockDataReceiverService_PutEventServer_Expecter) SendAndClose(_a0 interface{}) *MockDataReceiverService_PutEventServer_SendAndClose_Call { - return &MockDataReceiverService_PutEventServer_SendAndClose_Call{Call: _e.mock.On("SendAndClose", _a0)} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) SendAndClose(_a0 interface{}) *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res]{Call: _e.mock.On("SendAndClose", _a0)} } -func (_c *MockDataReceiverService_PutEventServer_SendAndClose_Call) Run(run func(_a0 *Void)) *MockDataReceiverService_PutEventServer_SendAndClose_Call { +func (_c *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res]) Run(run func(_a0 *Void)) *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*Void)) }) return _c } -func (_c *MockDataReceiverService_PutEventServer_SendAndClose_Call) Return(_a0 error) *MockDataReceiverService_PutEventServer_SendAndClose_Call { +func (_c *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventServer_SendAndClose_Call) RunAndReturn(run func(*Void) error) *MockDataReceiverService_PutEventServer_SendAndClose_Call { +func (_c *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res]) RunAndReturn(run func(*Void) error) *MockDataReceiverService_PutEventServer_SendAndClose_Call[Req, Res] { _c.Call.Return(run) return _c } // SendHeader provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutEventServer) SendHeader(_a0 metadata.MD) error { +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) SendHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -237,35 +238,35 @@ func (_m *MockDataReceiverService_PutEventServer) SendHeader(_a0 metadata.MD) er } // MockDataReceiverService_PutEventServer_SendHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendHeader' -type MockDataReceiverService_PutEventServer_SendHeader_Call struct { +type MockDataReceiverService_PutEventServer_SendHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataReceiverService_PutEventServer_Expecter) SendHeader(_a0 interface{}) *MockDataReceiverService_PutEventServer_SendHeader_Call { - return &MockDataReceiverService_PutEventServer_SendHeader_Call{Call: _e.mock.On("SendHeader", _a0)} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) SendHeader(_a0 interface{}) *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res]{Call: _e.mock.On("SendHeader", _a0)} } -func (_c *MockDataReceiverService_PutEventServer_SendHeader_Call) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutEventServer_SendHeader_Call { +func (_c *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataReceiverService_PutEventServer_SendHeader_Call) Return(_a0 error) *MockDataReceiverService_PutEventServer_SendHeader_Call { +func (_c *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventServer_SendHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutEventServer_SendHeader_Call { +func (_c *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutEventServer_SendHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutEventServer) SendMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -283,35 +284,35 @@ func (_m *MockDataReceiverService_PutEventServer) SendMsg(m interface{}) error { } // MockDataReceiverService_PutEventServer_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockDataReceiverService_PutEventServer_SendMsg_Call struct { +type MockDataReceiverService_PutEventServer_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutEventServer_Expecter) SendMsg(m interface{}) *MockDataReceiverService_PutEventServer_SendMsg_Call { - return &MockDataReceiverService_PutEventServer_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) SendMsg(m interface{}) *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockDataReceiverService_PutEventServer_SendMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutEventServer_SendMsg_Call { +func (_c *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutEventServer_SendMsg_Call) Return(_a0 error) *MockDataReceiverService_PutEventServer_SendMsg_Call { +func (_c *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventServer_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventServer_SendMsg_Call { +func (_c *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutEventServer_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SetHeader provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutEventServer) SetHeader(_a0 metadata.MD) error { +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) SetHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -329,73 +330,73 @@ func (_m *MockDataReceiverService_PutEventServer) SetHeader(_a0 metadata.MD) err } // MockDataReceiverService_PutEventServer_SetHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetHeader' -type MockDataReceiverService_PutEventServer_SetHeader_Call struct { +type MockDataReceiverService_PutEventServer_SetHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataReceiverService_PutEventServer_Expecter) SetHeader(_a0 interface{}) *MockDataReceiverService_PutEventServer_SetHeader_Call { - return &MockDataReceiverService_PutEventServer_SetHeader_Call{Call: _e.mock.On("SetHeader", _a0)} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) SetHeader(_a0 interface{}) *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res]{Call: _e.mock.On("SetHeader", _a0)} } -func (_c *MockDataReceiverService_PutEventServer_SetHeader_Call) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutEventServer_SetHeader_Call { +func (_c *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataReceiverService_PutEventServer_SetHeader_Call) Return(_a0 error) *MockDataReceiverService_PutEventServer_SetHeader_Call { +func (_c *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutEventServer_SetHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutEventServer_SetHeader_Call { +func (_c *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutEventServer_SetHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SetTrailer provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutEventServer) SetTrailer(_a0 metadata.MD) { +func (_m *MockDataReceiverService_PutEventServer[Req, Res]) SetTrailer(_a0 metadata.MD) { _m.Called(_a0) } // MockDataReceiverService_PutEventServer_SetTrailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetTrailer' -type MockDataReceiverService_PutEventServer_SetTrailer_Call struct { +type MockDataReceiverService_PutEventServer_SetTrailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetTrailer is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataReceiverService_PutEventServer_Expecter) SetTrailer(_a0 interface{}) *MockDataReceiverService_PutEventServer_SetTrailer_Call { - return &MockDataReceiverService_PutEventServer_SetTrailer_Call{Call: _e.mock.On("SetTrailer", _a0)} +func (_e *MockDataReceiverService_PutEventServer_Expecter[Req, Res]) SetTrailer(_a0 interface{}) *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res] { + return &MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res]{Call: _e.mock.On("SetTrailer", _a0)} } -func (_c *MockDataReceiverService_PutEventServer_SetTrailer_Call) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutEventServer_SetTrailer_Call { +func (_c *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataReceiverService_PutEventServer_SetTrailer_Call) Return() *MockDataReceiverService_PutEventServer_SetTrailer_Call { +func (_c *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res]) Return() *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res] { _c.Call.Return() return _c } -func (_c *MockDataReceiverService_PutEventServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockDataReceiverService_PutEventServer_SetTrailer_Call { - _c.Call.Return(run) +func (_c *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res]) RunAndReturn(run func(metadata.MD)) *MockDataReceiverService_PutEventServer_SetTrailer_Call[Req, Res] { + _c.Run(run) return _c } // NewMockDataReceiverService_PutEventServer creates a new instance of MockDataReceiverService_PutEventServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockDataReceiverService_PutEventServer(t interface { +func NewMockDataReceiverService_PutEventServer[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockDataReceiverService_PutEventServer { - mock := &MockDataReceiverService_PutEventServer{} +}) *MockDataReceiverService_PutEventServer[Req, Res] { + mock := &MockDataReceiverService_PutEventServer[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/data_receiver/mock_DataReceiverService_PutMetricClient.go b/go/cloud/data_receiver/mock_DataReceiverService_PutMetricClient.go index 9e65453..300e4c3 100644 --- a/go/cloud/data_receiver/mock_DataReceiverService_PutMetricClient.go +++ b/go/cloud/data_receiver/mock_DataReceiverService_PutMetricClient.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockDataReceiverService_PutMetricClient is an autogenerated mock type for the DataReceiverService_PutMetricClient type -type MockDataReceiverService_PutMetricClient struct { +type MockDataReceiverService_PutMetricClient[Req interface{}, Res interface{}] struct { mock.Mock } -type MockDataReceiverService_PutMetricClient_Expecter struct { +type MockDataReceiverService_PutMetricClient_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockDataReceiverService_PutMetricClient) EXPECT() *MockDataReceiverService_PutMetricClient_Expecter { - return &MockDataReceiverService_PutMetricClient_Expecter{mock: &_m.Mock} +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) EXPECT() *MockDataReceiverService_PutMetricClient_Expecter[Req, Res] { + return &MockDataReceiverService_PutMetricClient_Expecter[Req, Res]{mock: &_m.Mock} } -// CloseAndRecv provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricClient) CloseAndRecv() (*Void, error) { +// CloseAndRecv provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) CloseAndRecv() (*Void, error) { ret := _m.Called() if len(ret) == 0 { @@ -53,34 +54,34 @@ func (_m *MockDataReceiverService_PutMetricClient) CloseAndRecv() (*Void, error) } // MockDataReceiverService_PutMetricClient_CloseAndRecv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseAndRecv' -type MockDataReceiverService_PutMetricClient_CloseAndRecv_Call struct { +type MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseAndRecv is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricClient_Expecter) CloseAndRecv() *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call { - return &MockDataReceiverService_PutMetricClient_CloseAndRecv_Call{Call: _e.mock.On("CloseAndRecv")} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) CloseAndRecv() *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res]{Call: _e.mock.On("CloseAndRecv")} } -func (_c *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call) Run(run func()) *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call { +func (_c *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call) Return(_a0 *Void, _a1 error) *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call { +func (_c *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res]) Return(_a0 *Void, _a1 error) *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call) RunAndReturn(run func() (*Void, error)) *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call { +func (_c *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res]) RunAndReturn(run func() (*Void, error)) *MockDataReceiverService_PutMetricClient_CloseAndRecv_Call[Req, Res] { _c.Call.Return(run) return _c } -// CloseSend provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricClient) CloseSend() error { +// CloseSend provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) CloseSend() error { ret := _m.Called() if len(ret) == 0 { @@ -98,34 +99,34 @@ func (_m *MockDataReceiverService_PutMetricClient) CloseSend() error { } // MockDataReceiverService_PutMetricClient_CloseSend_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CloseSend' -type MockDataReceiverService_PutMetricClient_CloseSend_Call struct { +type MockDataReceiverService_PutMetricClient_CloseSend_Call[Req interface{}, Res interface{}] struct { *mock.Call } // CloseSend is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricClient_Expecter) CloseSend() *MockDataReceiverService_PutMetricClient_CloseSend_Call { - return &MockDataReceiverService_PutMetricClient_CloseSend_Call{Call: _e.mock.On("CloseSend")} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) CloseSend() *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res]{Call: _e.mock.On("CloseSend")} } -func (_c *MockDataReceiverService_PutMetricClient_CloseSend_Call) Run(run func()) *MockDataReceiverService_PutMetricClient_CloseSend_Call { +func (_c *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_CloseSend_Call) Return(_a0 error) *MockDataReceiverService_PutMetricClient_CloseSend_Call { +func (_c *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricClient_CloseSend_Call) RunAndReturn(run func() error) *MockDataReceiverService_PutMetricClient_CloseSend_Call { +func (_c *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res]) RunAndReturn(run func() error) *MockDataReceiverService_PutMetricClient_CloseSend_Call[Req, Res] { _c.Call.Return(run) return _c } -// Context provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricClient) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -145,34 +146,34 @@ func (_m *MockDataReceiverService_PutMetricClient) Context() context.Context { } // MockDataReceiverService_PutMetricClient_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockDataReceiverService_PutMetricClient_Context_Call struct { +type MockDataReceiverService_PutMetricClient_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricClient_Expecter) Context() *MockDataReceiverService_PutMetricClient_Context_Call { - return &MockDataReceiverService_PutMetricClient_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) Context() *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockDataReceiverService_PutMetricClient_Context_Call) Run(run func()) *MockDataReceiverService_PutMetricClient_Context_Call { +func (_c *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Context_Call) Return(_a0 context.Context) *MockDataReceiverService_PutMetricClient_Context_Call { +func (_c *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res]) Return(_a0 context.Context) *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Context_Call) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutMetricClient_Context_Call { +func (_c *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutMetricClient_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Header provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricClient) Header() (metadata.MD, error) { +// Header provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) Header() (metadata.MD, error) { ret := _m.Called() if len(ret) == 0 { @@ -202,34 +203,34 @@ func (_m *MockDataReceiverService_PutMetricClient) Header() (metadata.MD, error) } // MockDataReceiverService_PutMetricClient_Header_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Header' -type MockDataReceiverService_PutMetricClient_Header_Call struct { +type MockDataReceiverService_PutMetricClient_Header_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Header is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricClient_Expecter) Header() *MockDataReceiverService_PutMetricClient_Header_Call { - return &MockDataReceiverService_PutMetricClient_Header_Call{Call: _e.mock.On("Header")} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) Header() *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_Header_Call[Req, Res]{Call: _e.mock.On("Header")} } -func (_c *MockDataReceiverService_PutMetricClient_Header_Call) Run(run func()) *MockDataReceiverService_PutMetricClient_Header_Call { +func (_c *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Header_Call) Return(_a0 metadata.MD, _a1 error) *MockDataReceiverService_PutMetricClient_Header_Call { +func (_c *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res]) Return(_a0 metadata.MD, _a1 error) *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Header_Call) RunAndReturn(run func() (metadata.MD, error)) *MockDataReceiverService_PutMetricClient_Header_Call { +func (_c *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res]) RunAndReturn(run func() (metadata.MD, error)) *MockDataReceiverService_PutMetricClient_Header_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutMetricClient) RecvMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -247,35 +248,35 @@ func (_m *MockDataReceiverService_PutMetricClient) RecvMsg(m interface{}) error } // MockDataReceiverService_PutMetricClient_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockDataReceiverService_PutMetricClient_RecvMsg_Call struct { +type MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutMetricClient_Expecter) RecvMsg(m interface{}) *MockDataReceiverService_PutMetricClient_RecvMsg_Call { - return &MockDataReceiverService_PutMetricClient_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) RecvMsg(m interface{}) *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockDataReceiverService_PutMetricClient_RecvMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutMetricClient_RecvMsg_Call { +func (_c *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_RecvMsg_Call) Return(_a0 error) *MockDataReceiverService_PutMetricClient_RecvMsg_Call { +func (_c *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricClient_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricClient_RecvMsg_Call { +func (_c *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricClient_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // Send provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutMetricClient) Send(_a0 *MetricWrapper) error { +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) Send(_a0 *MetricWrapper) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -293,35 +294,35 @@ func (_m *MockDataReceiverService_PutMetricClient) Send(_a0 *MetricWrapper) erro } // MockDataReceiverService_PutMetricClient_Send_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Send' -type MockDataReceiverService_PutMetricClient_Send_Call struct { +type MockDataReceiverService_PutMetricClient_Send_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Send is a helper method to define mock.On call // - _a0 *MetricWrapper -func (_e *MockDataReceiverService_PutMetricClient_Expecter) Send(_a0 interface{}) *MockDataReceiverService_PutMetricClient_Send_Call { - return &MockDataReceiverService_PutMetricClient_Send_Call{Call: _e.mock.On("Send", _a0)} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) Send(_a0 interface{}) *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_Send_Call[Req, Res]{Call: _e.mock.On("Send", _a0)} } -func (_c *MockDataReceiverService_PutMetricClient_Send_Call) Run(run func(_a0 *MetricWrapper)) *MockDataReceiverService_PutMetricClient_Send_Call { +func (_c *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res]) Run(run func(_a0 *MetricWrapper)) *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*MetricWrapper)) }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Send_Call) Return(_a0 error) *MockDataReceiverService_PutMetricClient_Send_Call { +func (_c *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Send_Call) RunAndReturn(run func(*MetricWrapper) error) *MockDataReceiverService_PutMetricClient_Send_Call { +func (_c *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res]) RunAndReturn(run func(*MetricWrapper) error) *MockDataReceiverService_PutMetricClient_Send_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutMetricClient) SendMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -339,35 +340,35 @@ func (_m *MockDataReceiverService_PutMetricClient) SendMsg(m interface{}) error } // MockDataReceiverService_PutMetricClient_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockDataReceiverService_PutMetricClient_SendMsg_Call struct { +type MockDataReceiverService_PutMetricClient_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutMetricClient_Expecter) SendMsg(m interface{}) *MockDataReceiverService_PutMetricClient_SendMsg_Call { - return &MockDataReceiverService_PutMetricClient_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) SendMsg(m interface{}) *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockDataReceiverService_PutMetricClient_SendMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutMetricClient_SendMsg_Call { +func (_c *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_SendMsg_Call) Return(_a0 error) *MockDataReceiverService_PutMetricClient_SendMsg_Call { +func (_c *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricClient_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricClient_SendMsg_Call { +func (_c *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricClient_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } -// Trailer provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricClient) Trailer() metadata.MD { +// Trailer provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricClient[Req, Res]) Trailer() metadata.MD { ret := _m.Called() if len(ret) == 0 { @@ -387,39 +388,39 @@ func (_m *MockDataReceiverService_PutMetricClient) Trailer() metadata.MD { } // MockDataReceiverService_PutMetricClient_Trailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Trailer' -type MockDataReceiverService_PutMetricClient_Trailer_Call struct { +type MockDataReceiverService_PutMetricClient_Trailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Trailer is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricClient_Expecter) Trailer() *MockDataReceiverService_PutMetricClient_Trailer_Call { - return &MockDataReceiverService_PutMetricClient_Trailer_Call{Call: _e.mock.On("Trailer")} +func (_e *MockDataReceiverService_PutMetricClient_Expecter[Req, Res]) Trailer() *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res] { + return &MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res]{Call: _e.mock.On("Trailer")} } -func (_c *MockDataReceiverService_PutMetricClient_Trailer_Call) Run(run func()) *MockDataReceiverService_PutMetricClient_Trailer_Call { +func (_c *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Trailer_Call) Return(_a0 metadata.MD) *MockDataReceiverService_PutMetricClient_Trailer_Call { +func (_c *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res]) Return(_a0 metadata.MD) *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricClient_Trailer_Call) RunAndReturn(run func() metadata.MD) *MockDataReceiverService_PutMetricClient_Trailer_Call { +func (_c *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res]) RunAndReturn(run func() metadata.MD) *MockDataReceiverService_PutMetricClient_Trailer_Call[Req, Res] { _c.Call.Return(run) return _c } // NewMockDataReceiverService_PutMetricClient creates a new instance of MockDataReceiverService_PutMetricClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockDataReceiverService_PutMetricClient(t interface { +func NewMockDataReceiverService_PutMetricClient[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockDataReceiverService_PutMetricClient { - mock := &MockDataReceiverService_PutMetricClient{} +}) *MockDataReceiverService_PutMetricClient[Req, Res] { + mock := &MockDataReceiverService_PutMetricClient[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/data_receiver/mock_DataReceiverService_PutMetricServer.go b/go/cloud/data_receiver/mock_DataReceiverService_PutMetricServer.go index 9ee6239..132771b 100644 --- a/go/cloud/data_receiver/mock_DataReceiverService_PutMetricServer.go +++ b/go/cloud/data_receiver/mock_DataReceiverService_PutMetricServer.go @@ -1,29 +1,30 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver import ( context "context" - mock "github.com/stretchr/testify/mock" metadata "google.golang.org/grpc/metadata" + + mock "github.com/stretchr/testify/mock" ) // MockDataReceiverService_PutMetricServer is an autogenerated mock type for the DataReceiverService_PutMetricServer type -type MockDataReceiverService_PutMetricServer struct { +type MockDataReceiverService_PutMetricServer[Req interface{}, Res interface{}] struct { mock.Mock } -type MockDataReceiverService_PutMetricServer_Expecter struct { +type MockDataReceiverService_PutMetricServer_Expecter[Req interface{}, Res interface{}] struct { mock *mock.Mock } -func (_m *MockDataReceiverService_PutMetricServer) EXPECT() *MockDataReceiverService_PutMetricServer_Expecter { - return &MockDataReceiverService_PutMetricServer_Expecter{mock: &_m.Mock} +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) EXPECT() *MockDataReceiverService_PutMetricServer_Expecter[Req, Res] { + return &MockDataReceiverService_PutMetricServer_Expecter[Req, Res]{mock: &_m.Mock} } -// Context provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricServer) Context() context.Context { +// Context provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) Context() context.Context { ret := _m.Called() if len(ret) == 0 { @@ -43,34 +44,34 @@ func (_m *MockDataReceiverService_PutMetricServer) Context() context.Context { } // MockDataReceiverService_PutMetricServer_Context_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Context' -type MockDataReceiverService_PutMetricServer_Context_Call struct { +type MockDataReceiverService_PutMetricServer_Context_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Context is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricServer_Expecter) Context() *MockDataReceiverService_PutMetricServer_Context_Call { - return &MockDataReceiverService_PutMetricServer_Context_Call{Call: _e.mock.On("Context")} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) Context() *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_Context_Call[Req, Res]{Call: _e.mock.On("Context")} } -func (_c *MockDataReceiverService_PutMetricServer_Context_Call) Run(run func()) *MockDataReceiverService_PutMetricServer_Context_Call { +func (_c *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_Context_Call) Return(_a0 context.Context) *MockDataReceiverService_PutMetricServer_Context_Call { +func (_c *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res]) Return(_a0 context.Context) *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricServer_Context_Call) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutMetricServer_Context_Call { +func (_c *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res]) RunAndReturn(run func() context.Context) *MockDataReceiverService_PutMetricServer_Context_Call[Req, Res] { _c.Call.Return(run) return _c } -// Recv provides a mock function with given fields: -func (_m *MockDataReceiverService_PutMetricServer) Recv() (*MetricWrapper, error) { +// Recv provides a mock function with no fields +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) Recv() (*MetricWrapper, error) { ret := _m.Called() if len(ret) == 0 { @@ -100,34 +101,34 @@ func (_m *MockDataReceiverService_PutMetricServer) Recv() (*MetricWrapper, error } // MockDataReceiverService_PutMetricServer_Recv_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Recv' -type MockDataReceiverService_PutMetricServer_Recv_Call struct { +type MockDataReceiverService_PutMetricServer_Recv_Call[Req interface{}, Res interface{}] struct { *mock.Call } // Recv is a helper method to define mock.On call -func (_e *MockDataReceiverService_PutMetricServer_Expecter) Recv() *MockDataReceiverService_PutMetricServer_Recv_Call { - return &MockDataReceiverService_PutMetricServer_Recv_Call{Call: _e.mock.On("Recv")} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) Recv() *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res]{Call: _e.mock.On("Recv")} } -func (_c *MockDataReceiverService_PutMetricServer_Recv_Call) Run(run func()) *MockDataReceiverService_PutMetricServer_Recv_Call { +func (_c *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res]) Run(run func()) *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run() }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_Recv_Call) Return(_a0 *MetricWrapper, _a1 error) *MockDataReceiverService_PutMetricServer_Recv_Call { +func (_c *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res]) Return(_a0 *MetricWrapper, _a1 error) *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res] { _c.Call.Return(_a0, _a1) return _c } -func (_c *MockDataReceiverService_PutMetricServer_Recv_Call) RunAndReturn(run func() (*MetricWrapper, error)) *MockDataReceiverService_PutMetricServer_Recv_Call { +func (_c *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res]) RunAndReturn(run func() (*MetricWrapper, error)) *MockDataReceiverService_PutMetricServer_Recv_Call[Req, Res] { _c.Call.Return(run) return _c } // RecvMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutMetricServer) RecvMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) RecvMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -145,35 +146,35 @@ func (_m *MockDataReceiverService_PutMetricServer) RecvMsg(m interface{}) error } // MockDataReceiverService_PutMetricServer_RecvMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RecvMsg' -type MockDataReceiverService_PutMetricServer_RecvMsg_Call struct { +type MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // RecvMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutMetricServer_Expecter) RecvMsg(m interface{}) *MockDataReceiverService_PutMetricServer_RecvMsg_Call { - return &MockDataReceiverService_PutMetricServer_RecvMsg_Call{Call: _e.mock.On("RecvMsg", m)} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) RecvMsg(m interface{}) *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res]{Call: _e.mock.On("RecvMsg", m)} } -func (_c *MockDataReceiverService_PutMetricServer_RecvMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutMetricServer_RecvMsg_Call { +func (_c *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_RecvMsg_Call) Return(_a0 error) *MockDataReceiverService_PutMetricServer_RecvMsg_Call { +func (_c *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricServer_RecvMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricServer_RecvMsg_Call { +func (_c *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricServer_RecvMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SendAndClose provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutMetricServer) SendAndClose(_a0 *Void) error { +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) SendAndClose(_a0 *Void) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -191,35 +192,35 @@ func (_m *MockDataReceiverService_PutMetricServer) SendAndClose(_a0 *Void) error } // MockDataReceiverService_PutMetricServer_SendAndClose_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendAndClose' -type MockDataReceiverService_PutMetricServer_SendAndClose_Call struct { +type MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendAndClose is a helper method to define mock.On call // - _a0 *Void -func (_e *MockDataReceiverService_PutMetricServer_Expecter) SendAndClose(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SendAndClose_Call { - return &MockDataReceiverService_PutMetricServer_SendAndClose_Call{Call: _e.mock.On("SendAndClose", _a0)} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) SendAndClose(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res]{Call: _e.mock.On("SendAndClose", _a0)} } -func (_c *MockDataReceiverService_PutMetricServer_SendAndClose_Call) Run(run func(_a0 *Void)) *MockDataReceiverService_PutMetricServer_SendAndClose_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res]) Run(run func(_a0 *Void)) *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(*Void)) }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SendAndClose_Call) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SendAndClose_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SendAndClose_Call) RunAndReturn(run func(*Void) error) *MockDataReceiverService_PutMetricServer_SendAndClose_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res]) RunAndReturn(run func(*Void) error) *MockDataReceiverService_PutMetricServer_SendAndClose_Call[Req, Res] { _c.Call.Return(run) return _c } // SendHeader provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutMetricServer) SendHeader(_a0 metadata.MD) error { +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) SendHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -237,35 +238,35 @@ func (_m *MockDataReceiverService_PutMetricServer) SendHeader(_a0 metadata.MD) e } // MockDataReceiverService_PutMetricServer_SendHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendHeader' -type MockDataReceiverService_PutMetricServer_SendHeader_Call struct { +type MockDataReceiverService_PutMetricServer_SendHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataReceiverService_PutMetricServer_Expecter) SendHeader(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SendHeader_Call { - return &MockDataReceiverService_PutMetricServer_SendHeader_Call{Call: _e.mock.On("SendHeader", _a0)} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) SendHeader(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res]{Call: _e.mock.On("SendHeader", _a0)} } -func (_c *MockDataReceiverService_PutMetricServer_SendHeader_Call) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutMetricServer_SendHeader_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SendHeader_Call) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SendHeader_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SendHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutMetricServer_SendHeader_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutMetricServer_SendHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SendMsg provides a mock function with given fields: m -func (_m *MockDataReceiverService_PutMetricServer) SendMsg(m interface{}) error { +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) SendMsg(m interface{}) error { ret := _m.Called(m) if len(ret) == 0 { @@ -283,35 +284,35 @@ func (_m *MockDataReceiverService_PutMetricServer) SendMsg(m interface{}) error } // MockDataReceiverService_PutMetricServer_SendMsg_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SendMsg' -type MockDataReceiverService_PutMetricServer_SendMsg_Call struct { +type MockDataReceiverService_PutMetricServer_SendMsg_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SendMsg is a helper method to define mock.On call // - m interface{} -func (_e *MockDataReceiverService_PutMetricServer_Expecter) SendMsg(m interface{}) *MockDataReceiverService_PutMetricServer_SendMsg_Call { - return &MockDataReceiverService_PutMetricServer_SendMsg_Call{Call: _e.mock.On("SendMsg", m)} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) SendMsg(m interface{}) *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res]{Call: _e.mock.On("SendMsg", m)} } -func (_c *MockDataReceiverService_PutMetricServer_SendMsg_Call) Run(run func(m interface{})) *MockDataReceiverService_PutMetricServer_SendMsg_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res]) Run(run func(m interface{})) *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(interface{})) }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SendMsg_Call) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SendMsg_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SendMsg_Call) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricServer_SendMsg_Call { +func (_c *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res]) RunAndReturn(run func(interface{}) error) *MockDataReceiverService_PutMetricServer_SendMsg_Call[Req, Res] { _c.Call.Return(run) return _c } // SetHeader provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutMetricServer) SetHeader(_a0 metadata.MD) error { +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) SetHeader(_a0 metadata.MD) error { ret := _m.Called(_a0) if len(ret) == 0 { @@ -329,73 +330,73 @@ func (_m *MockDataReceiverService_PutMetricServer) SetHeader(_a0 metadata.MD) er } // MockDataReceiverService_PutMetricServer_SetHeader_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetHeader' -type MockDataReceiverService_PutMetricServer_SetHeader_Call struct { +type MockDataReceiverService_PutMetricServer_SetHeader_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetHeader is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataReceiverService_PutMetricServer_Expecter) SetHeader(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SetHeader_Call { - return &MockDataReceiverService_PutMetricServer_SetHeader_Call{Call: _e.mock.On("SetHeader", _a0)} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) SetHeader(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res]{Call: _e.mock.On("SetHeader", _a0)} } -func (_c *MockDataReceiverService_PutMetricServer_SetHeader_Call) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutMetricServer_SetHeader_Call { +func (_c *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SetHeader_Call) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SetHeader_Call { +func (_c *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res]) Return(_a0 error) *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res] { _c.Call.Return(_a0) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SetHeader_Call) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutMetricServer_SetHeader_Call { +func (_c *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res]) RunAndReturn(run func(metadata.MD) error) *MockDataReceiverService_PutMetricServer_SetHeader_Call[Req, Res] { _c.Call.Return(run) return _c } // SetTrailer provides a mock function with given fields: _a0 -func (_m *MockDataReceiverService_PutMetricServer) SetTrailer(_a0 metadata.MD) { +func (_m *MockDataReceiverService_PutMetricServer[Req, Res]) SetTrailer(_a0 metadata.MD) { _m.Called(_a0) } // MockDataReceiverService_PutMetricServer_SetTrailer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SetTrailer' -type MockDataReceiverService_PutMetricServer_SetTrailer_Call struct { +type MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req interface{}, Res interface{}] struct { *mock.Call } // SetTrailer is a helper method to define mock.On call // - _a0 metadata.MD -func (_e *MockDataReceiverService_PutMetricServer_Expecter) SetTrailer(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SetTrailer_Call { - return &MockDataReceiverService_PutMetricServer_SetTrailer_Call{Call: _e.mock.On("SetTrailer", _a0)} +func (_e *MockDataReceiverService_PutMetricServer_Expecter[Req, Res]) SetTrailer(_a0 interface{}) *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res] { + return &MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res]{Call: _e.mock.On("SetTrailer", _a0)} } -func (_c *MockDataReceiverService_PutMetricServer_SetTrailer_Call) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutMetricServer_SetTrailer_Call { +func (_c *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res]) Run(run func(_a0 metadata.MD)) *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res] { _c.Call.Run(func(args mock.Arguments) { run(args[0].(metadata.MD)) }) return _c } -func (_c *MockDataReceiverService_PutMetricServer_SetTrailer_Call) Return() *MockDataReceiverService_PutMetricServer_SetTrailer_Call { +func (_c *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res]) Return() *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res] { _c.Call.Return() return _c } -func (_c *MockDataReceiverService_PutMetricServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockDataReceiverService_PutMetricServer_SetTrailer_Call { - _c.Call.Return(run) +func (_c *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res]) RunAndReturn(run func(metadata.MD)) *MockDataReceiverService_PutMetricServer_SetTrailer_Call[Req, Res] { + _c.Run(run) return _c } // NewMockDataReceiverService_PutMetricServer creates a new instance of MockDataReceiverService_PutMetricServer. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. -func NewMockDataReceiverService_PutMetricServer(t interface { +func NewMockDataReceiverService_PutMetricServer[Req interface{}, Res interface{}](t interface { mock.TestingT Cleanup(func()) -}) *MockDataReceiverService_PutMetricServer { - mock := &MockDataReceiverService_PutMetricServer{} +}) *MockDataReceiverService_PutMetricServer[Req, Res] { + mock := &MockDataReceiverService_PutMetricServer[Req, Res]{} mock.Mock.Test(t) t.Cleanup(func() { mock.AssertExpectations(t) }) diff --git a/go/cloud/data_receiver/mock_UnsafeDataReceiverServiceServer.go b/go/cloud/data_receiver/mock_UnsafeDataReceiverServiceServer.go index b89afa5..56ad518 100644 --- a/go/cloud/data_receiver/mock_UnsafeDataReceiverServiceServer.go +++ b/go/cloud/data_receiver/mock_UnsafeDataReceiverServiceServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver @@ -17,7 +17,7 @@ func (_m *MockUnsafeDataReceiverServiceServer) EXPECT() *MockUnsafeDataReceiverS return &MockUnsafeDataReceiverServiceServer_Expecter{mock: &_m.Mock} } -// mustEmbedUnimplementedDataReceiverServiceServer provides a mock function with given fields: +// mustEmbedUnimplementedDataReceiverServiceServer provides a mock function with no fields func (_m *MockUnsafeDataReceiverServiceServer) mustEmbedUnimplementedDataReceiverServiceServer() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *MockUnsafeDataReceiverServiceServer_mustEmbedUnimplementedDataReceiver } func (_c *MockUnsafeDataReceiverServiceServer_mustEmbedUnimplementedDataReceiverServiceServer_Call) RunAndReturn(run func()) *MockUnsafeDataReceiverServiceServer_mustEmbedUnimplementedDataReceiverServiceServer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/data_receiver/mock_isEventWrapper_EventType.go b/go/cloud/data_receiver/mock_isEventWrapper_EventType.go index 555addf..ed5260b 100644 --- a/go/cloud/data_receiver/mock_isEventWrapper_EventType.go +++ b/go/cloud/data_receiver/mock_isEventWrapper_EventType.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver @@ -17,7 +17,7 @@ func (_m *mockIsEventWrapper_EventType) EXPECT() *mockIsEventWrapper_EventType_E return &mockIsEventWrapper_EventType_Expecter{mock: &_m.Mock} } -// isEventWrapper_EventType provides a mock function with given fields: +// isEventWrapper_EventType provides a mock function with no fields func (_m *mockIsEventWrapper_EventType) isEventWrapper_EventType() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *mockIsEventWrapper_EventType_isEventWrapper_EventType_Call) Return() * } func (_c *mockIsEventWrapper_EventType_isEventWrapper_EventType_Call) RunAndReturn(run func()) *mockIsEventWrapper_EventType_isEventWrapper_EventType_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/go/cloud/data_receiver/mock_isMetricWrapper_MetricType.go b/go/cloud/data_receiver/mock_isMetricWrapper_MetricType.go index c6d155d..0aa7ebb 100644 --- a/go/cloud/data_receiver/mock_isMetricWrapper_MetricType.go +++ b/go/cloud/data_receiver/mock_isMetricWrapper_MetricType.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.42.0. DO NOT EDIT. +// Code generated by mockery v2.52.1. DO NOT EDIT. package data_receiver @@ -17,7 +17,7 @@ func (_m *mockIsMetricWrapper_MetricType) EXPECT() *mockIsMetricWrapper_MetricTy return &mockIsMetricWrapper_MetricType_Expecter{mock: &_m.Mock} } -// isMetricWrapper_MetricType provides a mock function with given fields: +// isMetricWrapper_MetricType provides a mock function with no fields func (_m *mockIsMetricWrapper_MetricType) isMetricWrapper_MetricType() { _m.Called() } @@ -45,7 +45,7 @@ func (_c *mockIsMetricWrapper_MetricType_isMetricWrapper_MetricType_Call) Return } func (_c *mockIsMetricWrapper_MetricType_isMetricWrapper_MetricType_Call) RunAndReturn(run func()) *mockIsMetricWrapper_MetricType_isMetricWrapper_MetricType_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/java/pom.xml b/java/pom.xml index 3704450..dc522a2 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -8,8 +8,8 @@ - 4.26.1 - 1.63.0 + 4.29.3 + 1.70.0 @@ -49,7 +49,7 @@ kr.motd.maven os-maven-plugin - 1.5.0.Final + 1.7.1 @@ -57,12 +57,17 @@ org.apache.maven.plugins maven-compiler-plugin + + UTF-8 + 1.8 + 1.8 + org.apache.maven.plugins maven-resources-plugin - 2.5 + 2.7 UTF-8 diff --git a/java/src/main/java/org/zenoss/cloud/collection/CollectionCfg.java b/java/src/main/java/org/zenoss/cloud/collection/CollectionCfg.java index f93b8ca..79379d3 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/CollectionCfg.java +++ b/java/src/main/java/org/zenoss/cloud/collection/CollectionCfg.java @@ -1,6 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto -// Protobuf Java Version: 4.26.1 +// Protobuf Java Version: 4.29.3 package org.zenoss.cloud.collection; @@ -10,8 +11,8 @@ private CollectionCfg() {} com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", CollectionCfg.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/CollectionConfigServiceGrpc.java b/java/src/main/java/org/zenoss/cloud/collection/CollectionConfigServiceGrpc.java index e2c8a85..dfdece0 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/CollectionConfigServiceGrpc.java +++ b/java/src/main/java/org/zenoss/cloud/collection/CollectionConfigServiceGrpc.java @@ -9,7 +9,7 @@ * */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.63.0)", + value = "by gRPC proto compiler (version 1.70.0)", comments = "Source: zenoss/cloud/collection_cfg.proto") @io.grpc.stub.annotations.GrpcGenerated public final class CollectionConfigServiceGrpc { @@ -95,6 +95,21 @@ public CollectionConfigServiceStub newStub(io.grpc.Channel channel, io.grpc.Call return CollectionConfigServiceStub.newStub(factory, channel); } + /** + * Creates a new blocking-style stub that supports all types of calls on the service + */ + public static CollectionConfigServiceBlockingV2Stub newBlockingV2Stub( + io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public CollectionConfigServiceBlockingV2Stub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CollectionConfigServiceBlockingV2Stub(channel, callOptions); + } + }; + return CollectionConfigServiceBlockingV2Stub.newStub(factory, channel); + } + /** * Creates a new blocking-style stub that supports unary and streaming output calls on the service */ @@ -207,6 +222,45 @@ public void getConfigStream(org.zenoss.cloud.collection.GetConfigStreamRequest r * collection configurations. * */ + public static final class CollectionConfigServiceBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private CollectionConfigServiceBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected CollectionConfigServiceBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CollectionConfigServiceBlockingV2Stub(channel, callOptions); + } + + /** + */ + @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") + public io.grpc.stub.BlockingClientCall + waitForProbeConfig() { + return io.grpc.stub.ClientCalls.blockingBidiStreamingCall( + getChannel(), getWaitForProbeConfigMethod(), getCallOptions()); + } + + /** + */ + @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") + public io.grpc.stub.BlockingClientCall + getConfigStream(org.zenoss.cloud.collection.GetConfigStreamRequest request) { + return io.grpc.stub.ClientCalls.blockingV2ServerStreamingCall( + getChannel(), getGetConfigStreamMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service CollectionConfigService. + *
+   * CollectionConfigService is the gRPC & HTTP service responsible for managing
+   * collection configurations.
+   * 
+ */ public static final class CollectionConfigServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { private CollectionConfigServiceBlockingStub( diff --git a/java/src/main/java/org/zenoss/cloud/collection/Config.java b/java/src/main/java/org/zenoss/cloud/collection/Config.java index 73fadac..a4f755e 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/Config.java +++ b/java/src/main/java/org/zenoss/cloud/collection/Config.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class Config extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Config.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/ConfigOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/ConfigOrBuilder.java index 2d3f612..20ff983 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ConfigOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ConfigOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface ConfigOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/Configuration.java b/java/src/main/java/org/zenoss/cloud/collection/Configuration.java index 3bd5b3a..59d968d 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/Configuration.java +++ b/java/src/main/java/org/zenoss/cloud/collection/Configuration.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class Configuration extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Configuration.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/ConfigurationOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/ConfigurationOrBuilder.java index 167e72d..c0ea459 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ConfigurationOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ConfigurationOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface ConfigurationOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/FieldError.java b/java/src/main/java/org/zenoss/cloud/collection/FieldError.java index 686a723..602d055 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/FieldError.java +++ b/java/src/main/java/org/zenoss/cloud/collection/FieldError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class FieldError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", FieldError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/FieldErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/FieldErrorOrBuilder.java index d7c9f29..f7f78c6 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/FieldErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/FieldErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface FieldErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequest.java b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequest.java index 0e2d37a..a41cff1 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequest.java +++ b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequest.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class GetConfigStreamRequest extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GetConfigStreamRequest.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequestOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequestOrBuilder.java index 27f4f70..7318be2 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequestOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamRequestOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface GetConfigStreamRequestOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponse.java b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponse.java index b7a7d5b..7535449 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponse.java +++ b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class GetConfigStreamResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GetConfigStreamResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponseOrBuilder.java index 86787f0..b2591da 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/GetConfigStreamResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface GetConfigStreamResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/ProbeError.java b/java/src/main/java/org/zenoss/cloud/collection/ProbeError.java index e63c88c..fc97d3c 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ProbeError.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ProbeError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class ProbeError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ProbeError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/ProbeErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/ProbeErrorOrBuilder.java index 5a341a5..d23992d 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ProbeErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ProbeErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface ProbeErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/ProbeResult.java b/java/src/main/java/org/zenoss/cloud/collection/ProbeResult.java index 88108a5..9369bb6 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ProbeResult.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ProbeResult.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class ProbeResult extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ProbeResult.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/ProbeResultOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/ProbeResultOrBuilder.java index 974c599..1750007 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ProbeResultOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ProbeResultOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface ProbeResultOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccess.java b/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccess.java index 5ba1a93..8843075 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccess.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccess.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class ProbeSuccess extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ProbeSuccess.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccessOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccessOrBuilder.java index 2e19aa5..d849c57 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccessOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/ProbeSuccessOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface ProbeSuccessOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequest.java b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequest.java index 1500101..6e2127a 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequest.java +++ b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequest.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class WaitForProbeConfigRequest extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", WaitForProbeConfigRequest.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequestOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequestOrBuilder.java index 98a2bd7..e248ff8 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequestOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigRequestOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface WaitForProbeConfigRequestOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponse.java b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponse.java index d5b8d44..2637ace 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponse.java +++ b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; /** @@ -16,8 +17,8 @@ public final class WaitForProbeConfigResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", WaitForProbeConfigResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponseOrBuilder.java index 8a79ae3..e83679b 100644 --- a/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/collection/WaitForProbeConfigResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/collection_cfg.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.collection; public interface WaitForProbeConfigResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/credentials/Credential.java b/java/src/main/java/org/zenoss/cloud/credentials/Credential.java index d499e40..21a8a36 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/Credential.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/Credential.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; /** @@ -16,8 +17,8 @@ public final class Credential extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Credential.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/credentials/CredentialManagementGrpc.java b/java/src/main/java/org/zenoss/cloud/credentials/CredentialManagementGrpc.java index 2b8c6b5..5f108a6 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/CredentialManagementGrpc.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/CredentialManagementGrpc.java @@ -5,7 +5,7 @@ /** */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.63.0)", + value = "by gRPC proto compiler (version 1.70.0)", comments = "Source: zenoss/cloud/credentials.proto") @io.grpc.stub.annotations.GrpcGenerated public final class CredentialManagementGrpc { @@ -60,6 +60,21 @@ public CredentialManagementStub newStub(io.grpc.Channel channel, io.grpc.CallOpt return CredentialManagementStub.newStub(factory, channel); } + /** + * Creates a new blocking-style stub that supports all types of calls on the service + */ + public static CredentialManagementBlockingV2Stub newBlockingV2Stub( + io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public CredentialManagementBlockingV2Stub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CredentialManagementBlockingV2Stub(channel, callOptions); + } + }; + return CredentialManagementBlockingV2Stub.newStub(factory, channel); + } + /** * Creates a new blocking-style stub that supports unary and streaming output calls on the service */ @@ -141,6 +156,30 @@ public void getCredential(org.zenoss.cloud.credentials.GetCredentialRequest requ /** * A stub to allow clients to do synchronous rpc calls to service CredentialManagement. */ + public static final class CredentialManagementBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private CredentialManagementBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected CredentialManagementBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CredentialManagementBlockingV2Stub(channel, callOptions); + } + + /** + */ + public org.zenoss.cloud.credentials.GetCredentialResponse getCredential(org.zenoss.cloud.credentials.GetCredentialRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetCredentialMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service CredentialManagement. + */ public static final class CredentialManagementBlockingStub extends io.grpc.stub.AbstractBlockingStub { private CredentialManagementBlockingStub( diff --git a/java/src/main/java/org/zenoss/cloud/credentials/CredentialOrBuilder.java b/java/src/main/java/org/zenoss/cloud/credentials/CredentialOrBuilder.java index 80768d5..04264d9 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/CredentialOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/CredentialOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; public interface CredentialOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/credentials/Credentials.java b/java/src/main/java/org/zenoss/cloud/credentials/Credentials.java index 7f0d810..2f54b25 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/Credentials.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/Credentials.java @@ -1,6 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto -// Protobuf Java Version: 4.26.1 +// Protobuf Java Version: 4.29.3 package org.zenoss.cloud.credentials; @@ -10,8 +11,8 @@ private Credentials() {} com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Credentials.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequest.java b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequest.java index 5c26751..4c98191 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequest.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequest.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; /** @@ -16,8 +17,8 @@ public final class GetCredentialRequest extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GetCredentialRequest.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequestOrBuilder.java b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequestOrBuilder.java index 42fb98e..b45b9a7 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequestOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialRequestOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; public interface GetCredentialRequestOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponse.java b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponse.java index 4b6a0ac..6c41165 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponse.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; /** @@ -16,8 +17,8 @@ public final class GetCredentialResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GetCredentialResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponseOrBuilder.java index 3ae2983..75a8dd8 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/GetCredentialResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; public interface GetCredentialResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/credentials/Info.java b/java/src/main/java/org/zenoss/cloud/credentials/Info.java index aadbff1..26d1a4d 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/Info.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/Info.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; /** @@ -16,8 +17,8 @@ public final class Info extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Info.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/credentials/InfoOrBuilder.java b/java/src/main/java/org/zenoss/cloud/credentials/InfoOrBuilder.java index 86dbb46..331140b 100644 --- a/java/src/main/java/org/zenoss/cloud/credentials/InfoOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/credentials/InfoOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/credentials.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.credentials; public interface InfoOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/CollectionResult.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/CollectionResult.java new file mode 100644 index 0000000..ac67bbc --- /dev/null +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/CollectionResult.java @@ -0,0 +1,1419 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 + +package org.zenoss.cloud.dataReceiver; + +/** + * Protobuf type {@code zenoss.cloud.CollectionResult} + */ +public final class CollectionResult extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:zenoss.cloud.CollectionResult) + CollectionResultOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 29, + /* patch= */ 3, + /* suffix= */ "", + CollectionResult.class.getName()); + } + // Use CollectionResult.newBuilder() to construct. + private CollectionResult(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private CollectionResult() { + events_ = java.util.Collections.emptyList(); + models_ = java.util.Collections.emptyList(); + metrics_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.zenoss.cloud.dataReceiver.DataReceiver.internal_static_zenoss_cloud_CollectionResult_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.zenoss.cloud.dataReceiver.DataReceiver.internal_static_zenoss_cloud_CollectionResult_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.zenoss.cloud.dataReceiver.CollectionResult.class, org.zenoss.cloud.dataReceiver.CollectionResult.Builder.class); + } + + public static final int EVENTS_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private java.util.List events_; + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + @java.lang.Override + public java.util.List getEventsList() { + return events_; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + @java.lang.Override + public java.util.List + getEventsOrBuilderList() { + return events_; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + @java.lang.Override + public int getEventsCount() { + return events_.size(); + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + @java.lang.Override + public org.zenoss.cloud.dataReceiver.Event getEvents(int index) { + return events_.get(index); + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + @java.lang.Override + public org.zenoss.cloud.dataReceiver.EventOrBuilder getEventsOrBuilder( + int index) { + return events_.get(index); + } + + public static final int MODELS_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private java.util.List models_; + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + @java.lang.Override + public java.util.List getModelsList() { + return models_; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + @java.lang.Override + public java.util.List + getModelsOrBuilderList() { + return models_; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + @java.lang.Override + public int getModelsCount() { + return models_.size(); + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + @java.lang.Override + public org.zenoss.cloud.dataReceiver.Model getModels(int index) { + return models_.get(index); + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + @java.lang.Override + public org.zenoss.cloud.dataReceiver.ModelOrBuilder getModelsOrBuilder( + int index) { + return models_.get(index); + } + + public static final int METRICS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List metrics_; + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + @java.lang.Override + public java.util.List getMetricsList() { + return metrics_; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + @java.lang.Override + public java.util.List + getMetricsOrBuilderList() { + return metrics_; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + @java.lang.Override + public int getMetricsCount() { + return metrics_.size(); + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + @java.lang.Override + public org.zenoss.cloud.dataReceiver.Metric getMetrics(int index) { + return metrics_.get(index); + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + @java.lang.Override + public org.zenoss.cloud.dataReceiver.MetricOrBuilder getMetricsOrBuilder( + int index) { + return metrics_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < events_.size(); i++) { + output.writeMessage(1, events_.get(i)); + } + for (int i = 0; i < models_.size(); i++) { + output.writeMessage(2, models_.get(i)); + } + for (int i = 0; i < metrics_.size(); i++) { + output.writeMessage(3, metrics_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < events_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, events_.get(i)); + } + for (int i = 0; i < models_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, models_.get(i)); + } + for (int i = 0; i < metrics_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, metrics_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof org.zenoss.cloud.dataReceiver.CollectionResult)) { + return super.equals(obj); + } + org.zenoss.cloud.dataReceiver.CollectionResult other = (org.zenoss.cloud.dataReceiver.CollectionResult) obj; + + if (!getEventsList() + .equals(other.getEventsList())) return false; + if (!getModelsList() + .equals(other.getModelsList())) return false; + if (!getMetricsList() + .equals(other.getMetricsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getEventsCount() > 0) { + hash = (37 * hash) + EVENTS_FIELD_NUMBER; + hash = (53 * hash) + getEventsList().hashCode(); + } + if (getModelsCount() > 0) { + hash = (37 * hash) + MODELS_FIELD_NUMBER; + hash = (53 * hash) + getModelsList().hashCode(); + } + if (getMetricsCount() > 0) { + hash = (37 * hash) + METRICS_FIELD_NUMBER; + hash = (53 * hash) + getMetricsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static org.zenoss.cloud.dataReceiver.CollectionResult parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static org.zenoss.cloud.dataReceiver.CollectionResult parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static org.zenoss.cloud.dataReceiver.CollectionResult parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(org.zenoss.cloud.dataReceiver.CollectionResult prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code zenoss.cloud.CollectionResult} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:zenoss.cloud.CollectionResult) + org.zenoss.cloud.dataReceiver.CollectionResultOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.zenoss.cloud.dataReceiver.DataReceiver.internal_static_zenoss_cloud_CollectionResult_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.zenoss.cloud.dataReceiver.DataReceiver.internal_static_zenoss_cloud_CollectionResult_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.zenoss.cloud.dataReceiver.CollectionResult.class, org.zenoss.cloud.dataReceiver.CollectionResult.Builder.class); + } + + // Construct using org.zenoss.cloud.dataReceiver.CollectionResult.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (eventsBuilder_ == null) { + events_ = java.util.Collections.emptyList(); + } else { + events_ = null; + eventsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (modelsBuilder_ == null) { + models_ = java.util.Collections.emptyList(); + } else { + models_ = null; + modelsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (metricsBuilder_ == null) { + metrics_ = java.util.Collections.emptyList(); + } else { + metrics_ = null; + metricsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.zenoss.cloud.dataReceiver.DataReceiver.internal_static_zenoss_cloud_CollectionResult_descriptor; + } + + @java.lang.Override + public org.zenoss.cloud.dataReceiver.CollectionResult getDefaultInstanceForType() { + return org.zenoss.cloud.dataReceiver.CollectionResult.getDefaultInstance(); + } + + @java.lang.Override + public org.zenoss.cloud.dataReceiver.CollectionResult build() { + org.zenoss.cloud.dataReceiver.CollectionResult result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public org.zenoss.cloud.dataReceiver.CollectionResult buildPartial() { + org.zenoss.cloud.dataReceiver.CollectionResult result = new org.zenoss.cloud.dataReceiver.CollectionResult(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(org.zenoss.cloud.dataReceiver.CollectionResult result) { + if (eventsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + events_ = java.util.Collections.unmodifiableList(events_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.events_ = events_; + } else { + result.events_ = eventsBuilder_.build(); + } + if (modelsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + models_ = java.util.Collections.unmodifiableList(models_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.models_ = models_; + } else { + result.models_ = modelsBuilder_.build(); + } + if (metricsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + metrics_ = java.util.Collections.unmodifiableList(metrics_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.metrics_ = metrics_; + } else { + result.metrics_ = metricsBuilder_.build(); + } + } + + private void buildPartial0(org.zenoss.cloud.dataReceiver.CollectionResult result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.zenoss.cloud.dataReceiver.CollectionResult) { + return mergeFrom((org.zenoss.cloud.dataReceiver.CollectionResult)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.zenoss.cloud.dataReceiver.CollectionResult other) { + if (other == org.zenoss.cloud.dataReceiver.CollectionResult.getDefaultInstance()) return this; + if (eventsBuilder_ == null) { + if (!other.events_.isEmpty()) { + if (events_.isEmpty()) { + events_ = other.events_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureEventsIsMutable(); + events_.addAll(other.events_); + } + onChanged(); + } + } else { + if (!other.events_.isEmpty()) { + if (eventsBuilder_.isEmpty()) { + eventsBuilder_.dispose(); + eventsBuilder_ = null; + events_ = other.events_; + bitField0_ = (bitField0_ & ~0x00000001); + eventsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getEventsFieldBuilder() : null; + } else { + eventsBuilder_.addAllMessages(other.events_); + } + } + } + if (modelsBuilder_ == null) { + if (!other.models_.isEmpty()) { + if (models_.isEmpty()) { + models_ = other.models_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureModelsIsMutable(); + models_.addAll(other.models_); + } + onChanged(); + } + } else { + if (!other.models_.isEmpty()) { + if (modelsBuilder_.isEmpty()) { + modelsBuilder_.dispose(); + modelsBuilder_ = null; + models_ = other.models_; + bitField0_ = (bitField0_ & ~0x00000002); + modelsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getModelsFieldBuilder() : null; + } else { + modelsBuilder_.addAllMessages(other.models_); + } + } + } + if (metricsBuilder_ == null) { + if (!other.metrics_.isEmpty()) { + if (metrics_.isEmpty()) { + metrics_ = other.metrics_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureMetricsIsMutable(); + metrics_.addAll(other.metrics_); + } + onChanged(); + } + } else { + if (!other.metrics_.isEmpty()) { + if (metricsBuilder_.isEmpty()) { + metricsBuilder_.dispose(); + metricsBuilder_ = null; + metrics_ = other.metrics_; + bitField0_ = (bitField0_ & ~0x00000004); + metricsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getMetricsFieldBuilder() : null; + } else { + metricsBuilder_.addAllMessages(other.metrics_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + org.zenoss.cloud.dataReceiver.Event m = + input.readMessage( + org.zenoss.cloud.dataReceiver.Event.parser(), + extensionRegistry); + if (eventsBuilder_ == null) { + ensureEventsIsMutable(); + events_.add(m); + } else { + eventsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: { + org.zenoss.cloud.dataReceiver.Model m = + input.readMessage( + org.zenoss.cloud.dataReceiver.Model.parser(), + extensionRegistry); + if (modelsBuilder_ == null) { + ensureModelsIsMutable(); + models_.add(m); + } else { + modelsBuilder_.addMessage(m); + } + break; + } // case 18 + case 26: { + org.zenoss.cloud.dataReceiver.Metric m = + input.readMessage( + org.zenoss.cloud.dataReceiver.Metric.parser(), + extensionRegistry); + if (metricsBuilder_ == null) { + ensureMetricsIsMutable(); + metrics_.add(m); + } else { + metricsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.util.List events_ = + java.util.Collections.emptyList(); + private void ensureEventsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + events_ = new java.util.ArrayList(events_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Event, org.zenoss.cloud.dataReceiver.Event.Builder, org.zenoss.cloud.dataReceiver.EventOrBuilder> eventsBuilder_; + + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public java.util.List getEventsList() { + if (eventsBuilder_ == null) { + return java.util.Collections.unmodifiableList(events_); + } else { + return eventsBuilder_.getMessageList(); + } + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public int getEventsCount() { + if (eventsBuilder_ == null) { + return events_.size(); + } else { + return eventsBuilder_.getCount(); + } + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public org.zenoss.cloud.dataReceiver.Event getEvents(int index) { + if (eventsBuilder_ == null) { + return events_.get(index); + } else { + return eventsBuilder_.getMessage(index); + } + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder setEvents( + int index, org.zenoss.cloud.dataReceiver.Event value) { + if (eventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEventsIsMutable(); + events_.set(index, value); + onChanged(); + } else { + eventsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder setEvents( + int index, org.zenoss.cloud.dataReceiver.Event.Builder builderForValue) { + if (eventsBuilder_ == null) { + ensureEventsIsMutable(); + events_.set(index, builderForValue.build()); + onChanged(); + } else { + eventsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder addEvents(org.zenoss.cloud.dataReceiver.Event value) { + if (eventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEventsIsMutable(); + events_.add(value); + onChanged(); + } else { + eventsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder addEvents( + int index, org.zenoss.cloud.dataReceiver.Event value) { + if (eventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEventsIsMutable(); + events_.add(index, value); + onChanged(); + } else { + eventsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder addEvents( + org.zenoss.cloud.dataReceiver.Event.Builder builderForValue) { + if (eventsBuilder_ == null) { + ensureEventsIsMutable(); + events_.add(builderForValue.build()); + onChanged(); + } else { + eventsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder addEvents( + int index, org.zenoss.cloud.dataReceiver.Event.Builder builderForValue) { + if (eventsBuilder_ == null) { + ensureEventsIsMutable(); + events_.add(index, builderForValue.build()); + onChanged(); + } else { + eventsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder addAllEvents( + java.lang.Iterable values) { + if (eventsBuilder_ == null) { + ensureEventsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, events_); + onChanged(); + } else { + eventsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder clearEvents() { + if (eventsBuilder_ == null) { + events_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + eventsBuilder_.clear(); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public Builder removeEvents(int index) { + if (eventsBuilder_ == null) { + ensureEventsIsMutable(); + events_.remove(index); + onChanged(); + } else { + eventsBuilder_.remove(index); + } + return this; + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public org.zenoss.cloud.dataReceiver.Event.Builder getEventsBuilder( + int index) { + return getEventsFieldBuilder().getBuilder(index); + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public org.zenoss.cloud.dataReceiver.EventOrBuilder getEventsOrBuilder( + int index) { + if (eventsBuilder_ == null) { + return events_.get(index); } else { + return eventsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public java.util.List + getEventsOrBuilderList() { + if (eventsBuilder_ != null) { + return eventsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(events_); + } + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public org.zenoss.cloud.dataReceiver.Event.Builder addEventsBuilder() { + return getEventsFieldBuilder().addBuilder( + org.zenoss.cloud.dataReceiver.Event.getDefaultInstance()); + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public org.zenoss.cloud.dataReceiver.Event.Builder addEventsBuilder( + int index) { + return getEventsFieldBuilder().addBuilder( + index, org.zenoss.cloud.dataReceiver.Event.getDefaultInstance()); + } + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + public java.util.List + getEventsBuilderList() { + return getEventsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Event, org.zenoss.cloud.dataReceiver.Event.Builder, org.zenoss.cloud.dataReceiver.EventOrBuilder> + getEventsFieldBuilder() { + if (eventsBuilder_ == null) { + eventsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Event, org.zenoss.cloud.dataReceiver.Event.Builder, org.zenoss.cloud.dataReceiver.EventOrBuilder>( + events_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + events_ = null; + } + return eventsBuilder_; + } + + private java.util.List models_ = + java.util.Collections.emptyList(); + private void ensureModelsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + models_ = new java.util.ArrayList(models_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Model, org.zenoss.cloud.dataReceiver.Model.Builder, org.zenoss.cloud.dataReceiver.ModelOrBuilder> modelsBuilder_; + + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public java.util.List getModelsList() { + if (modelsBuilder_ == null) { + return java.util.Collections.unmodifiableList(models_); + } else { + return modelsBuilder_.getMessageList(); + } + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public int getModelsCount() { + if (modelsBuilder_ == null) { + return models_.size(); + } else { + return modelsBuilder_.getCount(); + } + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public org.zenoss.cloud.dataReceiver.Model getModels(int index) { + if (modelsBuilder_ == null) { + return models_.get(index); + } else { + return modelsBuilder_.getMessage(index); + } + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder setModels( + int index, org.zenoss.cloud.dataReceiver.Model value) { + if (modelsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureModelsIsMutable(); + models_.set(index, value); + onChanged(); + } else { + modelsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder setModels( + int index, org.zenoss.cloud.dataReceiver.Model.Builder builderForValue) { + if (modelsBuilder_ == null) { + ensureModelsIsMutable(); + models_.set(index, builderForValue.build()); + onChanged(); + } else { + modelsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder addModels(org.zenoss.cloud.dataReceiver.Model value) { + if (modelsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureModelsIsMutable(); + models_.add(value); + onChanged(); + } else { + modelsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder addModels( + int index, org.zenoss.cloud.dataReceiver.Model value) { + if (modelsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureModelsIsMutable(); + models_.add(index, value); + onChanged(); + } else { + modelsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder addModels( + org.zenoss.cloud.dataReceiver.Model.Builder builderForValue) { + if (modelsBuilder_ == null) { + ensureModelsIsMutable(); + models_.add(builderForValue.build()); + onChanged(); + } else { + modelsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder addModels( + int index, org.zenoss.cloud.dataReceiver.Model.Builder builderForValue) { + if (modelsBuilder_ == null) { + ensureModelsIsMutable(); + models_.add(index, builderForValue.build()); + onChanged(); + } else { + modelsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder addAllModels( + java.lang.Iterable values) { + if (modelsBuilder_ == null) { + ensureModelsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, models_); + onChanged(); + } else { + modelsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder clearModels() { + if (modelsBuilder_ == null) { + models_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + modelsBuilder_.clear(); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public Builder removeModels(int index) { + if (modelsBuilder_ == null) { + ensureModelsIsMutable(); + models_.remove(index); + onChanged(); + } else { + modelsBuilder_.remove(index); + } + return this; + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public org.zenoss.cloud.dataReceiver.Model.Builder getModelsBuilder( + int index) { + return getModelsFieldBuilder().getBuilder(index); + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public org.zenoss.cloud.dataReceiver.ModelOrBuilder getModelsOrBuilder( + int index) { + if (modelsBuilder_ == null) { + return models_.get(index); } else { + return modelsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public java.util.List + getModelsOrBuilderList() { + if (modelsBuilder_ != null) { + return modelsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(models_); + } + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public org.zenoss.cloud.dataReceiver.Model.Builder addModelsBuilder() { + return getModelsFieldBuilder().addBuilder( + org.zenoss.cloud.dataReceiver.Model.getDefaultInstance()); + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public org.zenoss.cloud.dataReceiver.Model.Builder addModelsBuilder( + int index) { + return getModelsFieldBuilder().addBuilder( + index, org.zenoss.cloud.dataReceiver.Model.getDefaultInstance()); + } + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + public java.util.List + getModelsBuilderList() { + return getModelsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Model, org.zenoss.cloud.dataReceiver.Model.Builder, org.zenoss.cloud.dataReceiver.ModelOrBuilder> + getModelsFieldBuilder() { + if (modelsBuilder_ == null) { + modelsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Model, org.zenoss.cloud.dataReceiver.Model.Builder, org.zenoss.cloud.dataReceiver.ModelOrBuilder>( + models_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + models_ = null; + } + return modelsBuilder_; + } + + private java.util.List metrics_ = + java.util.Collections.emptyList(); + private void ensureMetricsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + metrics_ = new java.util.ArrayList(metrics_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Metric, org.zenoss.cloud.dataReceiver.Metric.Builder, org.zenoss.cloud.dataReceiver.MetricOrBuilder> metricsBuilder_; + + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public java.util.List getMetricsList() { + if (metricsBuilder_ == null) { + return java.util.Collections.unmodifiableList(metrics_); + } else { + return metricsBuilder_.getMessageList(); + } + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public int getMetricsCount() { + if (metricsBuilder_ == null) { + return metrics_.size(); + } else { + return metricsBuilder_.getCount(); + } + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public org.zenoss.cloud.dataReceiver.Metric getMetrics(int index) { + if (metricsBuilder_ == null) { + return metrics_.get(index); + } else { + return metricsBuilder_.getMessage(index); + } + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder setMetrics( + int index, org.zenoss.cloud.dataReceiver.Metric value) { + if (metricsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetricsIsMutable(); + metrics_.set(index, value); + onChanged(); + } else { + metricsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder setMetrics( + int index, org.zenoss.cloud.dataReceiver.Metric.Builder builderForValue) { + if (metricsBuilder_ == null) { + ensureMetricsIsMutable(); + metrics_.set(index, builderForValue.build()); + onChanged(); + } else { + metricsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder addMetrics(org.zenoss.cloud.dataReceiver.Metric value) { + if (metricsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetricsIsMutable(); + metrics_.add(value); + onChanged(); + } else { + metricsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder addMetrics( + int index, org.zenoss.cloud.dataReceiver.Metric value) { + if (metricsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetricsIsMutable(); + metrics_.add(index, value); + onChanged(); + } else { + metricsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder addMetrics( + org.zenoss.cloud.dataReceiver.Metric.Builder builderForValue) { + if (metricsBuilder_ == null) { + ensureMetricsIsMutable(); + metrics_.add(builderForValue.build()); + onChanged(); + } else { + metricsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder addMetrics( + int index, org.zenoss.cloud.dataReceiver.Metric.Builder builderForValue) { + if (metricsBuilder_ == null) { + ensureMetricsIsMutable(); + metrics_.add(index, builderForValue.build()); + onChanged(); + } else { + metricsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder addAllMetrics( + java.lang.Iterable values) { + if (metricsBuilder_ == null) { + ensureMetricsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, metrics_); + onChanged(); + } else { + metricsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder clearMetrics() { + if (metricsBuilder_ == null) { + metrics_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + metricsBuilder_.clear(); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public Builder removeMetrics(int index) { + if (metricsBuilder_ == null) { + ensureMetricsIsMutable(); + metrics_.remove(index); + onChanged(); + } else { + metricsBuilder_.remove(index); + } + return this; + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public org.zenoss.cloud.dataReceiver.Metric.Builder getMetricsBuilder( + int index) { + return getMetricsFieldBuilder().getBuilder(index); + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public org.zenoss.cloud.dataReceiver.MetricOrBuilder getMetricsOrBuilder( + int index) { + if (metricsBuilder_ == null) { + return metrics_.get(index); } else { + return metricsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public java.util.List + getMetricsOrBuilderList() { + if (metricsBuilder_ != null) { + return metricsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(metrics_); + } + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public org.zenoss.cloud.dataReceiver.Metric.Builder addMetricsBuilder() { + return getMetricsFieldBuilder().addBuilder( + org.zenoss.cloud.dataReceiver.Metric.getDefaultInstance()); + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public org.zenoss.cloud.dataReceiver.Metric.Builder addMetricsBuilder( + int index) { + return getMetricsFieldBuilder().addBuilder( + index, org.zenoss.cloud.dataReceiver.Metric.getDefaultInstance()); + } + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + public java.util.List + getMetricsBuilderList() { + return getMetricsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Metric, org.zenoss.cloud.dataReceiver.Metric.Builder, org.zenoss.cloud.dataReceiver.MetricOrBuilder> + getMetricsFieldBuilder() { + if (metricsBuilder_ == null) { + metricsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.zenoss.cloud.dataReceiver.Metric, org.zenoss.cloud.dataReceiver.Metric.Builder, org.zenoss.cloud.dataReceiver.MetricOrBuilder>( + metrics_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + metrics_ = null; + } + return metricsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:zenoss.cloud.CollectionResult) + } + + // @@protoc_insertion_point(class_scope:zenoss.cloud.CollectionResult) + private static final org.zenoss.cloud.dataReceiver.CollectionResult DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new org.zenoss.cloud.dataReceiver.CollectionResult(); + } + + public static org.zenoss.cloud.dataReceiver.CollectionResult getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CollectionResult parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public org.zenoss.cloud.dataReceiver.CollectionResult getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/CollectionResultOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/CollectionResultOrBuilder.java new file mode 100644 index 0000000..a0ee790 --- /dev/null +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/CollectionResultOrBuilder.java @@ -0,0 +1,83 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 + +package org.zenoss.cloud.dataReceiver; + +public interface CollectionResultOrBuilder extends + // @@protoc_insertion_point(interface_extends:zenoss.cloud.CollectionResult) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + java.util.List + getEventsList(); + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + org.zenoss.cloud.dataReceiver.Event getEvents(int index); + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + int getEventsCount(); + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + java.util.List + getEventsOrBuilderList(); + /** + * repeated .zenoss.cloud.Event events = 1 [json_name = "events"]; + */ + org.zenoss.cloud.dataReceiver.EventOrBuilder getEventsOrBuilder( + int index); + + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + java.util.List + getModelsList(); + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + org.zenoss.cloud.dataReceiver.Model getModels(int index); + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + int getModelsCount(); + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + java.util.List + getModelsOrBuilderList(); + /** + * repeated .zenoss.cloud.Model models = 2 [json_name = "models"]; + */ + org.zenoss.cloud.dataReceiver.ModelOrBuilder getModelsOrBuilder( + int index); + + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + java.util.List + getMetricsList(); + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + org.zenoss.cloud.dataReceiver.Metric getMetrics(int index); + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + int getMetricsCount(); + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + java.util.List + getMetricsOrBuilderList(); + /** + * repeated .zenoss.cloud.Metric metrics = 3 [json_name = "metrics"]; + */ + org.zenoss.cloud.dataReceiver.MetricOrBuilder getMetricsOrBuilder( + int index); +} diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetric.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetric.java index 1ba0027..790a5b7 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetric.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetric.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class CompactMetric extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", CompactMetric.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricError.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricError.java index 2ce81d4..7cf2669 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricError.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class CompactMetricError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", CompactMetricError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricErrorOrBuilder.java index f3c293c..942ecf5 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface CompactMetricErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricOrBuilder.java index dd73e5e..681526f 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/CompactMetricOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface CompactMetricOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiver.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiver.java index 3da3665..072c07f 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiver.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiver.java @@ -1,6 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto -// Protobuf Java Version: 4.26.1 +// Protobuf Java Version: 4.29.3 package org.zenoss.cloud.dataReceiver; @@ -10,8 +11,8 @@ private DataReceiver() {} com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", DataReceiver.class.getName()); } @@ -24,6 +25,11 @@ public static void registerAllExtensions( registerAllExtensions( (com.google.protobuf.ExtensionRegistryLite) registry); } + static final com.google.protobuf.Descriptors.Descriptor + internal_static_zenoss_cloud_CollectionResult_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_zenoss_cloud_CollectionResult_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_zenoss_cloud_Void_descriptor; static final @@ -161,110 +167,114 @@ public static void registerAllExtensions( "\n zenoss/cloud/data_receiver.proto\022\014zeno" + "ss.cloud\032\034google/api/annotations.proto\032\034" + "google/protobuf/struct.proto\032\036google/pro" + - "tobuf/wrappers.proto\"\006\n\004Void\"\342\003\n\005Event\022\034" + - "\n\ttimestamp\030\001 \001(\003R\ttimestamp\022\022\n\004name\030\002 \001" + - "(\tR\004name\022C\n\ndimensions\030\003 \003(\0132#.zenoss.cl" + - "oud.Event.DimensionsEntryR\ndimensions\022?\n" + - "\016metadataFields\030\004 \001(\0132\027.google.protobuf." + - "StructR\016metadataFields\022\022\n\004type\030\005 \001(\tR\004ty" + - "pe\022\030\n\007summary\030\006 \001(\tR\007summary\022\022\n\004body\030\007 \001" + - "(\tR\004body\0222\n\010severity\030\010 \001(\0162\026.zenoss.clou" + - "d.SeverityR\010severity\022,\n\006status\030\t \001(\0162\024.z" + - "enoss.cloud.StatusR\006status\022>\n\014acknowledg" + - "ed\030\n \001(\0132\032.google.protobuf.BoolValueR\014ac" + - "knowledged\032=\n\017DimensionsEntry\022\020\n\003key\030\001 \001" + - "(\tR\003key\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"a\n\006Eve" + - "nts\022*\n\020detailedResponse\030\001 \001(\010R\020detailedR" + - "esponse\022+\n\006events\030\002 \003(\0132\023.zenoss.cloud.E" + - "ventR\006events\"M\n\nEventError\022\024\n\005error\030\001 \001(" + - "\tR\005error\022)\n\005event\030\002 \001(\0132\023.zenoss.cloud.E" + - "ventR\005event\"\315\001\n\014TaggedMetric\022\026\n\006metric\030\001" + - " \001(\tR\006metric\022\034\n\ttimestamp\030\002 \001(\003R\ttimesta" + - "mp\022\024\n\005value\030\003 \001(\001R\005value\0228\n\004tags\030\004 \003(\0132$" + - ".zenoss.cloud.TaggedMetric.TagsEntryR\004ta" + - "gs\0327\n\tTagsEntry\022\020\n\003key\030\001 \001(\tR\003key\022\024\n\005val" + - "ue\030\002 \001(\tR\005value:\0028\001\"S\n\rCompactMetric\022\016\n\002" + - "id\030\001 \001(\tR\002id\022\034\n\ttimestamp\030\002 \001(\003R\ttimesta" + - "mp\022\024\n\005value\030\003 \001(\001R\005value\"\232\002\n\006Metric\022\026\n\006m" + - "etric\030\001 \001(\tR\006metric\022\034\n\ttimestamp\030\002 \001(\003R\t" + - "timestamp\022\024\n\005value\030\003 \001(\001R\005value\022D\n\ndimen" + - "sions\030\004 \003(\0132$.zenoss.cloud.Metric.Dimens" + - "ionsEntryR\ndimensions\022?\n\016metadataFields\030" + - "\006 \001(\0132\027.google.protobuf.StructR\016metadata" + - "Fields\032=\n\017DimensionsEntry\022\020\n\003key\030\001 \001(\tR\003" + - "key\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"\352\001\n\005Model\022" + - "\034\n\ttimestamp\030\001 \001(\003R\ttimestamp\022C\n\ndimensi" + - "ons\030\002 \003(\0132#.zenoss.cloud.Model.Dimension" + - "sEntryR\ndimensions\022?\n\016metadataFields\030\003 \001" + - "(\0132\027.google.protobuf.StructR\016metadataFie" + - "lds\032=\n\017DimensionsEntry\022\020\n\003key\030\001 \001(\tR\003key" + - "\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"a\n\006Models\022*\n\020" + - "detailedResponse\030\001 \001(\010R\020detailedResponse" + - "\022+\n\006models\030\002 \003(\0132\023.zenoss.cloud.ModelR\006m" + - "odels\"M\n\nModelError\022\024\n\005error\030\001 \001(\tR\005erro" + - "r\022)\n\005model\030\002 \001(\0132\023.zenoss.cloud.ModelR\005m" + - "odel\"\241\001\n\021EventStatusResult\022\026\n\006failed\030\001 \001" + - "(\005R\006failed\022\034\n\tsucceeded\030\002 \001(\005R\tsucceeded" + - "\022\030\n\007message\030\003 \001(\tR\007message\022<\n\014failedEven" + - "ts\030\004 \003(\0132\030.zenoss.cloud.EventErrorR\014fail" + - "edEvents\"\241\001\n\021ModelStatusResult\022\026\n\006failed" + - "\030\001 \001(\005R\006failed\022\034\n\tsucceeded\030\002 \001(\005R\tsucce" + - "eded\022\030\n\007message\030\003 \001(\tR\007message\022<\n\014failed" + - "Models\030\004 \003(\0132\030.zenoss.cloud.ModelErrorR\014" + - "failedModels\"\310\002\n\014StatusResult\022\026\n\006failed\030" + + "tobuf/wrappers.proto\"\234\001\n\020CollectionResul" + + "t\022+\n\006events\030\001 \003(\0132\023.zenoss.cloud.EventR\006" + + "events\022+\n\006models\030\002 \003(\0132\023.zenoss.cloud.Mo" + + "delR\006models\022.\n\007metrics\030\003 \003(\0132\024.zenoss.cl" + + "oud.MetricR\007metrics\"\006\n\004Void\"\342\003\n\005Event\022\034\n" + + "\ttimestamp\030\001 \001(\003R\ttimestamp\022\022\n\004name\030\002 \001(" + + "\tR\004name\022C\n\ndimensions\030\003 \003(\0132#.zenoss.clo" + + "ud.Event.DimensionsEntryR\ndimensions\022?\n\016" + + "metadataFields\030\004 \001(\0132\027.google.protobuf.S" + + "tructR\016metadataFields\022\022\n\004type\030\005 \001(\tR\004typ" + + "e\022\030\n\007summary\030\006 \001(\tR\007summary\022\022\n\004body\030\007 \001(" + + "\tR\004body\0222\n\010severity\030\010 \001(\0162\026.zenoss.cloud" + + ".SeverityR\010severity\022,\n\006status\030\t \001(\0162\024.ze" + + "noss.cloud.StatusR\006status\022>\n\014acknowledge" + + "d\030\n \001(\0132\032.google.protobuf.BoolValueR\014ack" + + "nowledged\032=\n\017DimensionsEntry\022\020\n\003key\030\001 \001(" + + "\tR\003key\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"a\n\006Even" + + "ts\022*\n\020detailedResponse\030\001 \001(\010R\020detailedRe" + + "sponse\022+\n\006events\030\002 \003(\0132\023.zenoss.cloud.Ev" + + "entR\006events\"M\n\nEventError\022\024\n\005error\030\001 \001(\t" + + "R\005error\022)\n\005event\030\002 \001(\0132\023.zenoss.cloud.Ev" + + "entR\005event\"\315\001\n\014TaggedMetric\022\026\n\006metric\030\001 " + + "\001(\tR\006metric\022\034\n\ttimestamp\030\002 \001(\003R\ttimestam" + + "p\022\024\n\005value\030\003 \001(\001R\005value\0228\n\004tags\030\004 \003(\0132$." + + "zenoss.cloud.TaggedMetric.TagsEntryR\004tag" + + "s\0327\n\tTagsEntry\022\020\n\003key\030\001 \001(\tR\003key\022\024\n\005valu" + + "e\030\002 \001(\tR\005value:\0028\001\"S\n\rCompactMetric\022\016\n\002i" + + "d\030\001 \001(\tR\002id\022\034\n\ttimestamp\030\002 \001(\003R\ttimestam" + + "p\022\024\n\005value\030\003 \001(\001R\005value\"\232\002\n\006Metric\022\026\n\006me" + + "tric\030\001 \001(\tR\006metric\022\034\n\ttimestamp\030\002 \001(\003R\tt" + + "imestamp\022\024\n\005value\030\003 \001(\001R\005value\022D\n\ndimens" + + "ions\030\004 \003(\0132$.zenoss.cloud.Metric.Dimensi" + + "onsEntryR\ndimensions\022?\n\016metadataFields\030\006" + + " \001(\0132\027.google.protobuf.StructR\016metadataF" + + "ields\032=\n\017DimensionsEntry\022\020\n\003key\030\001 \001(\tR\003k" + + "ey\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"\352\001\n\005Model\022\034" + + "\n\ttimestamp\030\001 \001(\003R\ttimestamp\022C\n\ndimensio" + + "ns\030\002 \003(\0132#.zenoss.cloud.Model.Dimensions" + + "EntryR\ndimensions\022?\n\016metadataFields\030\003 \001(" + + "\0132\027.google.protobuf.StructR\016metadataFiel" + + "ds\032=\n\017DimensionsEntry\022\020\n\003key\030\001 \001(\tR\003key\022" + + "\024\n\005value\030\002 \001(\tR\005value:\0028\001\"a\n\006Models\022*\n\020d" + + "etailedResponse\030\001 \001(\010R\020detailedResponse\022" + + "+\n\006models\030\002 \003(\0132\023.zenoss.cloud.ModelR\006mo" + + "dels\"M\n\nModelError\022\024\n\005error\030\001 \001(\tR\005error" + + "\022)\n\005model\030\002 \001(\0132\023.zenoss.cloud.ModelR\005mo" + + "del\"\241\001\n\021EventStatusResult\022\026\n\006failed\030\001 \001(" + + "\005R\006failed\022\034\n\tsucceeded\030\002 \001(\005R\tsucceeded\022" + + "\030\n\007message\030\003 \001(\tR\007message\022<\n\014failedEvent" + + "s\030\004 \003(\0132\030.zenoss.cloud.EventErrorR\014faile" + + "dEvents\"\241\001\n\021ModelStatusResult\022\026\n\006failed\030" + "\001 \001(\005R\006failed\022\034\n\tsucceeded\030\002 \001(\005R\tsuccee" + - "ded\022\030\n\007message\030\003 \001(\tR\007message\022T\n\024failedC" + - "ompactMetrics\030\004 \003(\0132 .zenoss.cloud.Compa" + - "ctMetricErrorR\024failedCompactMetrics\022Q\n\023f" + - "ailedTaggedMetrics\030\005 \003(\0132\037.zenoss.cloud." + - "TaggedMetricErrorR\023failedTaggedMetrics\022?" + - "\n\rfailedMetrics\030\006 \003(\0132\031.zenoss.cloud.Met" + - "ricErrorR\rfailedMetrics\"Q\n\014EventWrapper\022" + - "3\n\tcanonical\030\001 \001(\0132\023.zenoss.cloud.EventH" + - "\000R\tcanonicalB\014\n\nevent_type\"\303\001\n\rMetricWra" + - "pper\0224\n\006tagged\030\001 \001(\0132\032.zenoss.cloud.Tagg" + - "edMetricH\000R\006tagged\0227\n\007compact\030\002 \001(\0132\033.ze" + - "noss.cloud.CompactMetricH\000R\007compact\0224\n\tc" + - "anonical\030\003 \001(\0132\024.zenoss.cloud.MetricH\000R\t" + - "canonicalB\r\n\013metric_type\"\317\001\n\013MetricBatch" + - "\022J\n\013global_tags\030\002 \003(\0132).zenoss.cloud.Met" + - "ricBatch.GlobalTagsEntryR\nglobalTags\0225\n\007" + - "metrics\030\003 \003(\0132\033.zenoss.cloud.MetricWrapp" + - "erR\007metrics\032=\n\017GlobalTagsEntry\022\020\n\003key\030\001 " + - "\001(\tR\003key\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"_\n\022Co" + - "mpactMetricError\022\024\n\005error\030\001 \001(\tR\005error\0223" + - "\n\006metric\030\002 \001(\0132\033.zenoss.cloud.CompactMet" + - "ricR\006metric\"Q\n\013MetricError\022\024\n\005error\030\001 \001(" + - "\tR\005error\022,\n\006metric\030\002 \001(\0132\024.zenoss.cloud." + - "MetricR\006metric\"]\n\021TaggedMetricError\022\024\n\005e" + - "rror\030\001 \001(\tR\005error\0222\n\006metric\030\002 \001(\0132\032.zeno" + - "ss.cloud.TaggedMetricR\006metric\"\354\001\n\007Metric" + - "s\022*\n\020detailedResponse\030\001 \001(\010R\020detailedRes" + - "ponse\022C\n\016compactMetrics\030\003 \003(\0132\033.zenoss.c" + - "loud.CompactMetricR\016compactMetrics\022@\n\rta" + - "ggedMetrics\030\004 \003(\0132\032.zenoss.cloud.TaggedM" + - "etricR\rtaggedMetrics\022.\n\007metrics\030\005 \003(\0132\024." + - "zenoss.cloud.MetricR\007metrics*\210\001\n\010Severit" + - "y\022\024\n\020SEVERITY_DEFAULT\020\000\022\022\n\016SEVERITY_DEBU" + - "G\020\001\022\021\n\rSEVERITY_INFO\020\002\022\024\n\020SEVERITY_WARNI" + - "NG\020\003\022\022\n\016SEVERITY_ERROR\020\004\022\025\n\021SEVERITY_CRI" + - "TICAL\020\005*W\n\006Status\022\022\n\016STATUS_DEFAULT\020\000\022\017\n" + - "\013STATUS_OPEN\020\001\022\025\n\021STATUS_SUPPRESSED\020\002\022\021\n" + - "\rSTATUS_CLOSED\020\0032\320\003\n\023DataReceiverService" + - "\022g\n\tPutEvents\022\024.zenoss.cloud.Events\032\037.ze" + - "noss.cloud.EventStatusResult\"#\202\323\344\223\002\035\"\030/v" + - "1/data-receiver/events:\001*\022>\n\010PutEvent\022\032." + - "zenoss.cloud.EventWrapper\032\022.zenoss.cloud" + - ".Void\"\000(\001\022e\n\nPutMetrics\022\025.zenoss.cloud.M" + - "etrics\032\032.zenoss.cloud.StatusResult\"$\202\323\344\223" + - "\002\036\"\031/v1/data-receiver/metrics:\001*\022@\n\tPutM" + - "etric\022\033.zenoss.cloud.MetricWrapper\032\022.zen" + - "oss.cloud.Void\"\000(\001\022g\n\tPutModels\022\024.zenoss" + - ".cloud.Models\032\037.zenoss.cloud.ModelStatus" + - "Result\"#\202\323\344\223\002\035\"\030/v1/data-receiver/models" + - ":\001*B\\\n\035org.zenoss.cloud.dataReceiverP\001Z9" + - "github.com/zenoss/zenoss-protobufs/go/cl" + - "oud/data_receiverb\006proto3" + "ded\022\030\n\007message\030\003 \001(\tR\007message\022<\n\014failedM" + + "odels\030\004 \003(\0132\030.zenoss.cloud.ModelErrorR\014f" + + "ailedModels\"\310\002\n\014StatusResult\022\026\n\006failed\030\001" + + " \001(\005R\006failed\022\034\n\tsucceeded\030\002 \001(\005R\tsucceed" + + "ed\022\030\n\007message\030\003 \001(\tR\007message\022T\n\024failedCo" + + "mpactMetrics\030\004 \003(\0132 .zenoss.cloud.Compac" + + "tMetricErrorR\024failedCompactMetrics\022Q\n\023fa" + + "iledTaggedMetrics\030\005 \003(\0132\037.zenoss.cloud.T" + + "aggedMetricErrorR\023failedTaggedMetrics\022?\n" + + "\rfailedMetrics\030\006 \003(\0132\031.zenoss.cloud.Metr" + + "icErrorR\rfailedMetrics\"Q\n\014EventWrapper\0223" + + "\n\tcanonical\030\001 \001(\0132\023.zenoss.cloud.EventH\000" + + "R\tcanonicalB\014\n\nevent_type\"\303\001\n\rMetricWrap" + + "per\0224\n\006tagged\030\001 \001(\0132\032.zenoss.cloud.Tagge" + + "dMetricH\000R\006tagged\0227\n\007compact\030\002 \001(\0132\033.zen" + + "oss.cloud.CompactMetricH\000R\007compact\0224\n\tca" + + "nonical\030\003 \001(\0132\024.zenoss.cloud.MetricH\000R\tc" + + "anonicalB\r\n\013metric_type\"\317\001\n\013MetricBatch\022" + + "J\n\013global_tags\030\002 \003(\0132).zenoss.cloud.Metr" + + "icBatch.GlobalTagsEntryR\nglobalTags\0225\n\007m" + + "etrics\030\003 \003(\0132\033.zenoss.cloud.MetricWrappe" + + "rR\007metrics\032=\n\017GlobalTagsEntry\022\020\n\003key\030\001 \001" + + "(\tR\003key\022\024\n\005value\030\002 \001(\tR\005value:\0028\001\"_\n\022Com" + + "pactMetricError\022\024\n\005error\030\001 \001(\tR\005error\0223\n" + + "\006metric\030\002 \001(\0132\033.zenoss.cloud.CompactMetr" + + "icR\006metric\"Q\n\013MetricError\022\024\n\005error\030\001 \001(\t" + + "R\005error\022,\n\006metric\030\002 \001(\0132\024.zenoss.cloud.M" + + "etricR\006metric\"]\n\021TaggedMetricError\022\024\n\005er" + + "ror\030\001 \001(\tR\005error\0222\n\006metric\030\002 \001(\0132\032.zenos" + + "s.cloud.TaggedMetricR\006metric\"\354\001\n\007Metrics" + + "\022*\n\020detailedResponse\030\001 \001(\010R\020detailedResp" + + "onse\022C\n\016compactMetrics\030\003 \003(\0132\033.zenoss.cl" + + "oud.CompactMetricR\016compactMetrics\022@\n\rtag" + + "gedMetrics\030\004 \003(\0132\032.zenoss.cloud.TaggedMe" + + "tricR\rtaggedMetrics\022.\n\007metrics\030\005 \003(\0132\024.z" + + "enoss.cloud.MetricR\007metrics*\210\001\n\010Severity" + + "\022\024\n\020SEVERITY_DEFAULT\020\000\022\022\n\016SEVERITY_DEBUG" + + "\020\001\022\021\n\rSEVERITY_INFO\020\002\022\024\n\020SEVERITY_WARNIN" + + "G\020\003\022\022\n\016SEVERITY_ERROR\020\004\022\025\n\021SEVERITY_CRIT" + + "ICAL\020\005*W\n\006Status\022\022\n\016STATUS_DEFAULT\020\000\022\017\n\013" + + "STATUS_OPEN\020\001\022\025\n\021STATUS_SUPPRESSED\020\002\022\021\n\r" + + "STATUS_CLOSED\020\0032\320\003\n\023DataReceiverService\022" + + "g\n\tPutEvents\022\024.zenoss.cloud.Events\032\037.zen" + + "oss.cloud.EventStatusResult\"#\202\323\344\223\002\035\"\030/v1" + + "/data-receiver/events:\001*\022>\n\010PutEvent\022\032.z" + + "enoss.cloud.EventWrapper\032\022.zenoss.cloud." + + "Void\"\000(\001\022e\n\nPutMetrics\022\025.zenoss.cloud.Me" + + "trics\032\032.zenoss.cloud.StatusResult\"$\202\323\344\223\002" + + "\036\"\031/v1/data-receiver/metrics:\001*\022@\n\tPutMe" + + "tric\022\033.zenoss.cloud.MetricWrapper\032\022.zeno" + + "ss.cloud.Void\"\000(\001\022g\n\tPutModels\022\024.zenoss." + + "cloud.Models\032\037.zenoss.cloud.ModelStatusR" + + "esult\"#\202\323\344\223\002\035\"\030/v1/data-receiver/models:" + + "\001*B\\\n\035org.zenoss.cloud.dataReceiverP\001Z9g" + + "ithub.com/zenoss/zenoss-protobufs/go/clo" + + "ud/data_receiverb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -273,14 +283,20 @@ public static void registerAllExtensions( com.google.protobuf.StructProto.getDescriptor(), com.google.protobuf.WrappersProto.getDescriptor(), }); - internal_static_zenoss_cloud_Void_descriptor = + internal_static_zenoss_cloud_CollectionResult_descriptor = getDescriptor().getMessageTypes().get(0); + internal_static_zenoss_cloud_CollectionResult_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_zenoss_cloud_CollectionResult_descriptor, + new java.lang.String[] { "Events", "Models", "Metrics", }); + internal_static_zenoss_cloud_Void_descriptor = + getDescriptor().getMessageTypes().get(1); internal_static_zenoss_cloud_Void_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Void_descriptor, new java.lang.String[] { }); internal_static_zenoss_cloud_Event_descriptor = - getDescriptor().getMessageTypes().get(1); + getDescriptor().getMessageTypes().get(2); internal_static_zenoss_cloud_Event_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Event_descriptor, @@ -292,19 +308,19 @@ public static void registerAllExtensions( internal_static_zenoss_cloud_Event_DimensionsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_zenoss_cloud_Events_descriptor = - getDescriptor().getMessageTypes().get(2); + getDescriptor().getMessageTypes().get(3); internal_static_zenoss_cloud_Events_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Events_descriptor, new java.lang.String[] { "DetailedResponse", "Events", }); internal_static_zenoss_cloud_EventError_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(4); internal_static_zenoss_cloud_EventError_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_EventError_descriptor, new java.lang.String[] { "Error", "Event", }); internal_static_zenoss_cloud_TaggedMetric_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(5); internal_static_zenoss_cloud_TaggedMetric_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_TaggedMetric_descriptor, @@ -316,13 +332,13 @@ public static void registerAllExtensions( internal_static_zenoss_cloud_TaggedMetric_TagsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_zenoss_cloud_CompactMetric_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(6); internal_static_zenoss_cloud_CompactMetric_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_CompactMetric_descriptor, new java.lang.String[] { "Id", "Timestamp", "Value", }); internal_static_zenoss_cloud_Metric_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(7); internal_static_zenoss_cloud_Metric_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Metric_descriptor, @@ -334,7 +350,7 @@ public static void registerAllExtensions( internal_static_zenoss_cloud_Metric_DimensionsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_zenoss_cloud_Model_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(8); internal_static_zenoss_cloud_Model_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Model_descriptor, @@ -346,49 +362,49 @@ public static void registerAllExtensions( internal_static_zenoss_cloud_Model_DimensionsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_zenoss_cloud_Models_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(9); internal_static_zenoss_cloud_Models_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Models_descriptor, new java.lang.String[] { "DetailedResponse", "Models", }); internal_static_zenoss_cloud_ModelError_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(10); internal_static_zenoss_cloud_ModelError_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_ModelError_descriptor, new java.lang.String[] { "Error", "Model", }); internal_static_zenoss_cloud_EventStatusResult_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(11); internal_static_zenoss_cloud_EventStatusResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_EventStatusResult_descriptor, new java.lang.String[] { "Failed", "Succeeded", "Message", "FailedEvents", }); internal_static_zenoss_cloud_ModelStatusResult_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(12); internal_static_zenoss_cloud_ModelStatusResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_ModelStatusResult_descriptor, new java.lang.String[] { "Failed", "Succeeded", "Message", "FailedModels", }); internal_static_zenoss_cloud_StatusResult_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(13); internal_static_zenoss_cloud_StatusResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_StatusResult_descriptor, new java.lang.String[] { "Failed", "Succeeded", "Message", "FailedCompactMetrics", "FailedTaggedMetrics", "FailedMetrics", }); internal_static_zenoss_cloud_EventWrapper_descriptor = - getDescriptor().getMessageTypes().get(13); + getDescriptor().getMessageTypes().get(14); internal_static_zenoss_cloud_EventWrapper_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_EventWrapper_descriptor, new java.lang.String[] { "Canonical", "EventType", }); internal_static_zenoss_cloud_MetricWrapper_descriptor = - getDescriptor().getMessageTypes().get(14); + getDescriptor().getMessageTypes().get(15); internal_static_zenoss_cloud_MetricWrapper_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_MetricWrapper_descriptor, new java.lang.String[] { "Tagged", "Compact", "Canonical", "MetricType", }); internal_static_zenoss_cloud_MetricBatch_descriptor = - getDescriptor().getMessageTypes().get(15); + getDescriptor().getMessageTypes().get(16); internal_static_zenoss_cloud_MetricBatch_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_MetricBatch_descriptor, @@ -400,25 +416,25 @@ public static void registerAllExtensions( internal_static_zenoss_cloud_MetricBatch_GlobalTagsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_zenoss_cloud_CompactMetricError_descriptor = - getDescriptor().getMessageTypes().get(16); + getDescriptor().getMessageTypes().get(17); internal_static_zenoss_cloud_CompactMetricError_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_CompactMetricError_descriptor, new java.lang.String[] { "Error", "Metric", }); internal_static_zenoss_cloud_MetricError_descriptor = - getDescriptor().getMessageTypes().get(17); + getDescriptor().getMessageTypes().get(18); internal_static_zenoss_cloud_MetricError_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_MetricError_descriptor, new java.lang.String[] { "Error", "Metric", }); internal_static_zenoss_cloud_TaggedMetricError_descriptor = - getDescriptor().getMessageTypes().get(18); + getDescriptor().getMessageTypes().get(19); internal_static_zenoss_cloud_TaggedMetricError_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_TaggedMetricError_descriptor, new java.lang.String[] { "Error", "Metric", }); internal_static_zenoss_cloud_Metrics_descriptor = - getDescriptor().getMessageTypes().get(19); + getDescriptor().getMessageTypes().get(20); internal_static_zenoss_cloud_Metrics_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_zenoss_cloud_Metrics_descriptor, diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiverServiceGrpc.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiverServiceGrpc.java index 250243a..874199b 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiverServiceGrpc.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/DataReceiverServiceGrpc.java @@ -8,7 +8,7 @@ * */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.63.0)", + value = "by gRPC proto compiler (version 1.70.0)", comments = "Source: zenoss/cloud/data_receiver.proto") @io.grpc.stub.annotations.GrpcGenerated public final class DataReceiverServiceGrpc { @@ -187,6 +187,21 @@ public DataReceiverServiceStub newStub(io.grpc.Channel channel, io.grpc.CallOpti return DataReceiverServiceStub.newStub(factory, channel); } + /** + * Creates a new blocking-style stub that supports all types of calls on the service + */ + public static DataReceiverServiceBlockingV2Stub newBlockingV2Stub( + io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public DataReceiverServiceBlockingV2Stub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new DataReceiverServiceBlockingV2Stub(channel, callOptions); + } + }; + return DataReceiverServiceBlockingV2Stub.newStub(factory, channel); + } + /** * Creates a new blocking-style stub that supports unary and streaming output calls on the service */ @@ -370,6 +385,80 @@ public void putModels(org.zenoss.cloud.dataReceiver.Models request, * Data Receiver API * */ + public static final class DataReceiverServiceBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private DataReceiverServiceBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected DataReceiverServiceBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new DataReceiverServiceBlockingV2Stub(channel, callOptions); + } + + /** + *
+     * Send Events
+     * 
+ */ + public org.zenoss.cloud.dataReceiver.EventStatusResult putEvents(org.zenoss.cloud.dataReceiver.Events request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getPutEventsMethod(), getCallOptions(), request); + } + + /** + *
+     * Stream Events of any type.
+     * 
+ */ + @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") + public io.grpc.stub.BlockingClientCall + putEvent() { + return io.grpc.stub.ClientCalls.blockingClientStreamingCall( + getChannel(), getPutEventMethod(), getCallOptions()); + } + + /** + *
+     * Send Metrics
+     * 
+ */ + public org.zenoss.cloud.dataReceiver.StatusResult putMetrics(org.zenoss.cloud.dataReceiver.Metrics request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getPutMetricsMethod(), getCallOptions(), request); + } + + /** + *
+     * Stream Metric of any type
+     * 
+ */ + @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") + public io.grpc.stub.BlockingClientCall + putMetric() { + return io.grpc.stub.ClientCalls.blockingClientStreamingCall( + getChannel(), getPutMetricMethod(), getCallOptions()); + } + + /** + *
+     * Send batch of models
+     * 
+ */ + public org.zenoss.cloud.dataReceiver.ModelStatusResult putModels(org.zenoss.cloud.dataReceiver.Models request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getPutModelsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service DataReceiverService. + *
+   * Data Receiver API
+   * 
+ */ public static final class DataReceiverServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { private DataReceiverServiceBlockingStub( diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Event.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Event.java index 72aef4e..f6eb0d0 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Event.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Event.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -21,8 +22,8 @@ public final class Event extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Event.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventError.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventError.java index 517a8d3..cee5094 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventError.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class EventError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", EventError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventErrorOrBuilder.java index 06fe227..5789e83 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface EventErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventOrBuilder.java index 2d1ac01..e3cd6e4 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface EventOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResult.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResult.java index 259817b..67d9089 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResult.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResult.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class EventStatusResult extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", EventStatusResult.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResultOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResultOrBuilder.java index a9b10c3..96d09c9 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResultOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventStatusResultOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface EventStatusResultOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapper.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapper.java index beb97c1..9573de9 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapper.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapper.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class EventWrapper extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", EventWrapper.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapperOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapperOrBuilder.java index 2d76e15..07f2a61 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapperOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventWrapperOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface EventWrapperOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Events.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Events.java index a169697..e78cad7 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Events.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Events.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class Events extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Events.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventsOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventsOrBuilder.java index 804a84a..549e60c 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/EventsOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/EventsOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface EventsOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Metric.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Metric.java index 61e250c..6caf73d 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Metric.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Metric.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -20,8 +21,8 @@ public final class Metric extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Metric.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatch.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatch.java index 13d59ac..aee2bb1 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatch.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatch.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -20,8 +21,8 @@ public final class MetricBatch extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", MetricBatch.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatchOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatchOrBuilder.java index a634f76..c06d6d6 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatchOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricBatchOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface MetricBatchOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricError.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricError.java index 9e85ff5..470aa3f 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricError.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class MetricError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", MetricError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricErrorOrBuilder.java index 459cc01..1f0ef96 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface MetricErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricOrBuilder.java index bb834c8..13c34ef 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface MetricOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapper.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapper.java index d0a6a12..93b7f31 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapper.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapper.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class MetricWrapper extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", MetricWrapper.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapperOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapperOrBuilder.java index da6e1b7..26ed96d 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapperOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricWrapperOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface MetricWrapperOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Metrics.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Metrics.java index c680ab0..d5638be 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Metrics.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Metrics.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class Metrics extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Metrics.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricsOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricsOrBuilder.java index 0232d7a..7642b98 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricsOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/MetricsOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface MetricsOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Model.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Model.java index 38cf4fd..4480d5d 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Model.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Model.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class Model extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Model.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelError.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelError.java index 423e6fb..08ef78a 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelError.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class ModelError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ModelError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelErrorOrBuilder.java index cc94f77..bc5347d 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface ModelErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelOrBuilder.java index 7dc8b0a..6957fa2 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface ModelOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResult.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResult.java index c0acd6e..cbc1485 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResult.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResult.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class ModelStatusResult extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", ModelStatusResult.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResultOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResultOrBuilder.java index 5f99cca..ff30209 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResultOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelStatusResultOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface ModelStatusResultOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Models.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Models.java index 17ed8ec..0cdec55 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Models.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Models.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class Models extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Models.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelsOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelsOrBuilder.java index 1b445e9..77f1625 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelsOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/ModelsOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface ModelsOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Severity.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Severity.java index a3121bf..307e888 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Severity.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Severity.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -40,8 +41,8 @@ public enum Severity com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Severity.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Status.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Status.java index cd6503b..6eb133f 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Status.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Status.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -32,8 +33,8 @@ public enum Status com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Status.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResult.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResult.java index 4ecea50..52400e0 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResult.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResult.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class StatusResult extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", StatusResult.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResultOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResultOrBuilder.java index 3f70be1..a80f36d 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResultOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/StatusResultOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface StatusResultOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetric.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetric.java index 1355f4d..7f261da 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetric.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetric.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class TaggedMetric extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", TaggedMetric.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricError.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricError.java index 5b64458..69a321f 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricError.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricError.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class TaggedMetricError extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", TaggedMetricError.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricErrorOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricErrorOrBuilder.java index 5ff369f..c41121b 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricErrorOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricErrorOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface TaggedMetricErrorOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricOrBuilder.java index d48d5eb..78de93c 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/TaggedMetricOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface TaggedMetricOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/Void.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/Void.java index 3cdf181..de972e8 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/Void.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/Void.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; /** @@ -16,8 +17,8 @@ public final class Void extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Void.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataReceiver/VoidOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataReceiver/VoidOrBuilder.java index 5a4889b..24e7a27 100644 --- a/java/src/main/java/org/zenoss/cloud/dataReceiver/VoidOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataReceiver/VoidOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_receiver.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataReceiver; public interface VoidOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistry.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistry.java index d6a1d33..9b20de2 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistry.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistry.java @@ -1,6 +1,7 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto -// Protobuf Java Version: 4.26.1 +// Protobuf Java Version: 4.29.3 package org.zenoss.cloud.dataRegistry; @@ -10,8 +11,8 @@ private DataRegistry() {} com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", DataRegistry.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistryServiceGrpc.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistryServiceGrpc.java index 69c503b..a42c9cf 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistryServiceGrpc.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DataRegistryServiceGrpc.java @@ -5,7 +5,7 @@ /** */ @javax.annotation.Generated( - value = "by gRPC proto compiler (version 1.63.0)", + value = "by gRPC proto compiler (version 1.70.0)", comments = "Source: zenoss/cloud/data_registry.proto") @io.grpc.stub.annotations.GrpcGenerated public final class DataRegistryServiceGrpc { @@ -215,6 +215,21 @@ public DataRegistryServiceStub newStub(io.grpc.Channel channel, io.grpc.CallOpti return DataRegistryServiceStub.newStub(factory, channel); } + /** + * Creates a new blocking-style stub that supports all types of calls on the service + */ + public static DataRegistryServiceBlockingV2Stub newBlockingV2Stub( + io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public DataRegistryServiceBlockingV2Stub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new DataRegistryServiceBlockingV2Stub(channel, callOptions); + } + }; + return DataRegistryServiceBlockingV2Stub.newStub(factory, channel); + } + /** * Creates a new blocking-style stub that supports unary and streaming output calls on the service */ @@ -371,6 +386,67 @@ public void getMetric(org.zenoss.cloud.dataRegistry.GetMetricRequest request, /** * A stub to allow clients to do synchronous rpc calls to service DataRegistryService. */ + public static final class DataRegistryServiceBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private DataRegistryServiceBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected DataRegistryServiceBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new DataRegistryServiceBlockingV2Stub(channel, callOptions); + } + + /** + */ + public org.zenoss.cloud.dataRegistry.RegisterMetricResponse createOrUpdateMetric(org.zenoss.cloud.dataRegistry.RegisterMetricRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateOrUpdateMetricMethod(), getCallOptions(), request); + } + + /** + */ + @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918") + public io.grpc.stub.BlockingClientCall + createOrUpdateMetrics() { + return io.grpc.stub.ClientCalls.blockingClientStreamingCall( + getChannel(), getCreateOrUpdateMetricsMethod(), getCallOptions()); + } + + /** + */ + public org.zenoss.cloud.dataRegistry.RegisterMetricResponse updateMetric(org.zenoss.cloud.dataRegistry.UpdateMetricRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateMetricMethod(), getCallOptions(), request); + } + + /** + */ + public org.zenoss.cloud.dataRegistry.DefinitionResponse registerDefinition(org.zenoss.cloud.dataRegistry.Definition request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getRegisterDefinitionMethod(), getCallOptions(), request); + } + + /** + */ + public org.zenoss.cloud.dataRegistry.DefinitionResponse updateDefinition(org.zenoss.cloud.dataRegistry.DefinitionUpdate request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateDefinitionMethod(), getCallOptions(), request); + } + + /** + */ + public org.zenoss.cloud.dataRegistry.GetMetricResponse getMetric(org.zenoss.cloud.dataRegistry.GetMetricRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetMetricMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service DataRegistryService. + */ public static final class DataRegistryServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { private DataRegistryServiceBlockingStub( diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/Definition.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/Definition.java index 675747b..e906867 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/Definition.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/Definition.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class Definition extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", Definition.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionOrBuilder.java index ea13759..8063ede 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface DefinitionOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponse.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponse.java index adb6335..cc28183 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponse.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class DefinitionResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", DefinitionResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponseOrBuilder.java index e7fa69b..9c7419c 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface DefinitionResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdate.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdate.java index 4ef6018..d035901 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdate.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdate.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class DefinitionUpdate extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", DefinitionUpdate.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdateOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdateOrBuilder.java index 2780fec..51197d4 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdateOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/DefinitionUpdateOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface DefinitionUpdateOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequest.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequest.java index d55bdd3..f851c48 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequest.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequest.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class GetMetricRequest extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GetMetricRequest.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequestOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequestOrBuilder.java index 1688b4a..5201d88 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequestOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricRequestOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface GetMetricRequestOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponse.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponse.java index 79b3ffc..061b779 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponse.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class GetMetricResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", GetMetricResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponseOrBuilder.java index fdb1396..cba7b4e 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/GetMetricResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface GetMetricResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequest.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequest.java index 679618b..74b8993 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequest.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequest.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class RegisterMetricRequest extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", RegisterMetricRequest.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequestOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequestOrBuilder.java index 9c21863..0c2823a 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequestOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricRequestOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface RegisterMetricRequestOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponse.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponse.java index 1a5d1be..c8ee516 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponse.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class RegisterMetricResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", RegisterMetricResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponseOrBuilder.java index 8a19fee..182de54 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface RegisterMetricResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponse.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponse.java index 192ebc9..84a12b6 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponse.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class RegisterMetricVerboseResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", RegisterMetricVerboseResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponseOrBuilder.java index f2566f6..fb06ece 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricVerboseResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface RegisterMetricVerboseResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponse.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponse.java index bda47d6..2e488f6 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponse.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponse.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class RegisterMetricsResponse extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", RegisterMetricsResponse.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponseOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponseOrBuilder.java index 17b02f0..241c669 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponseOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/RegisterMetricsResponseOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface RegisterMetricsResponseOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequest.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequest.java index 7c63925..4bbf2f1 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequest.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequest.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -16,8 +17,8 @@ public final class UpdateMetricRequest extends com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", UpdateMetricRequest.class.getName()); } diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequestOrBuilder.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequestOrBuilder.java index 2bb22fe..43683ba 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequestOrBuilder.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMetricRequestOrBuilder.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; public interface UpdateMetricRequestOrBuilder extends diff --git a/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMode.java b/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMode.java index e3003a3..51f2bd3 100644 --- a/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMode.java +++ b/java/src/main/java/org/zenoss/cloud/dataRegistry/UpdateMode.java @@ -1,7 +1,8 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE // source: zenoss/cloud/data_registry.proto +// Protobuf Java Version: 4.29.3 -// Protobuf Java Version: 4.26.1 package org.zenoss.cloud.dataRegistry; /** @@ -28,8 +29,8 @@ public enum UpdateMode com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, /* major= */ 4, - /* minor= */ 26, - /* patch= */ 1, + /* minor= */ 29, + /* patch= */ 3, /* suffix= */ "", UpdateMode.class.getName()); } diff --git a/protobufs/buf.gen.yaml b/protobufs/buf.gen.yaml index a13fa82..0b4479b 100644 --- a/protobufs/buf.gen.yaml +++ b/protobufs/buf.gen.yaml @@ -1,34 +1,34 @@ # buf.build/grpc/... plugins generate stubs for gRPC services # buf.build/protocolbuffers/... plugins generate protobuf definitions -version: v1 +version: v2 plugins: # Go - - plugin: buf.build/grpc/go:v1.3.0 + - remote: buf.build/grpc/go:v1.5.1 out: ./go opt: - module=github.com/zenoss/zenoss-protobufs/go - - plugin: buf.build/protocolbuffers/go:v1.34.1 + - remote: buf.build/protocolbuffers/go:v1.36.4 out: ./go opt: - module=github.com/zenoss/zenoss-protobufs/go - - plugin: buf.build/grpc-ecosystem/gateway:v2.19.1 # HTTP Gateway generation + - remote: buf.build/grpc-ecosystem/gateway:v2.26.0 # HTTP Gateway generation out: ./go opt: - module=github.com/zenoss/zenoss-protobufs/go # Java - - plugin: buf.build/protocolbuffers/java:v26.1 + - remote: buf.build/protocolbuffers/java:v29.3 out: ./java/src/main/java - - plugin: buf.build/grpc/java:v1.63.0 + - remote: buf.build/grpc/java:v1.70.0 out: ./java/src/main/java # Python - - plugin: buf.build/grpc/python:v1.63.0 + - remote: buf.build/grpc/python:v1.70.1 out: ./python - - plugin: buf.build/protocolbuffers/python:v26.1 + - remote: buf.build/protocolbuffers/python:v29.3 out: ./python diff --git a/protobufs/buf.lock b/protobufs/buf.lock index eb74969..d99b256 100644 --- a/protobufs/buf.lock +++ b/protobufs/buf.lock @@ -4,10 +4,5 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: cc9c423640a448ec81a25b69927172cf - digest: shake256:de26a277fc28b8b411ecf58729d78d32fcf15090ffd998a4469225b17889bfb51442eaab04bb7a8d88d203ecdf0a9febd4ffd52c18ed1c2229160c7bd353ca95 - - remote: buf.build - owner: grpc-ecosystem - repository: grpc-gateway - commit: ba66afc387e740a8b403f1ca738fa78a - digest: shake256:67b115260e12cb2d6c5d5ce8dbbf3a095c86f0e52b84f9dbd16dec9433b218f8694bc9aadb1d45eb6fd52f5a7029977d460e2d58afb3208ab6c680e7b21c80e4 + commit: 83c0f6c19b2f4ea0b0fd84a80e753659 + digest: shake256:20e034fe1562d2ef4137cd7822344d4c29cff8130e112a16e44bc3102be688e9134fae531ec1de7ae18dd660160649db28d160b006c9c70964e3f72a60dc47e3 diff --git a/protobufs/buf.yaml b/protobufs/buf.yaml index 8f8d5dd..fdb236a 100644 --- a/protobufs/buf.yaml +++ b/protobufs/buf.yaml @@ -1,7 +1,6 @@ version: v1 deps: - buf.build/googleapis/googleapis - - buf.build/grpc-ecosystem/grpc-gateway breaking: use: - FILE diff --git a/protobufs/zenoss/cloud/data_receiver.proto b/protobufs/zenoss/cloud/data_receiver.proto index bc50543..aa17143 100644 --- a/protobufs/zenoss/cloud/data_receiver.proto +++ b/protobufs/zenoss/cloud/data_receiver.proto @@ -10,6 +10,12 @@ option go_package = "github.com/zenoss/zenoss-protobufs/go/cloud/data_receiver"; option java_multiple_files = true; option java_package = "org.zenoss.cloud.dataReceiver"; +message CollectionResult { + repeated Event events = 1; + repeated Model models = 2; + repeated Metric metrics = 3; +} + message Void {} // Public Event struct. diff --git a/python/zenoss/cloud/collection_cfg_pb2.py b/python/zenoss/cloud/collection_cfg_pb2.py index 53fddb1..4515421 100644 --- a/python/zenoss/cloud/collection_cfg_pb2.py +++ b/python/zenoss/cloud/collection_cfg_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: zenoss/cloud/collection_cfg.proto -# Protobuf Python Version: 5.26.1 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 3, + '', + 'zenoss/cloud/collection_cfg.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/python/zenoss/cloud/collection_cfg_pb2_grpc.py b/python/zenoss/cloud/collection_cfg_pb2_grpc.py index c47378a..41e1608 100644 --- a/python/zenoss/cloud/collection_cfg_pb2_grpc.py +++ b/python/zenoss/cloud/collection_cfg_pb2_grpc.py @@ -62,6 +62,7 @@ def add_CollectionConfigServiceServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'zenoss.cloud.collection_cfg.CollectionConfigService', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('zenoss.cloud.collection_cfg.CollectionConfigService', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. diff --git a/python/zenoss/cloud/credentials_pb2.py b/python/zenoss/cloud/credentials_pb2.py index 166a340..0601c77 100644 --- a/python/zenoss/cloud/credentials_pb2.py +++ b/python/zenoss/cloud/credentials_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: zenoss/cloud/credentials.proto -# Protobuf Python Version: 5.26.1 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 3, + '', + 'zenoss/cloud/credentials.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/python/zenoss/cloud/credentials_pb2_grpc.py b/python/zenoss/cloud/credentials_pb2_grpc.py index 617a186..349de26 100644 --- a/python/zenoss/cloud/credentials_pb2_grpc.py +++ b/python/zenoss/cloud/credentials_pb2_grpc.py @@ -42,6 +42,7 @@ def add_CredentialManagementServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'zenoss.cloud.credentials.CredentialManagement', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('zenoss.cloud.credentials.CredentialManagement', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. diff --git a/python/zenoss/cloud/data_receiver_pb2.py b/python/zenoss/cloud/data_receiver_pb2.py index df26c71..78c095d 100644 --- a/python/zenoss/cloud/data_receiver_pb2.py +++ b/python/zenoss/cloud/data_receiver_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: zenoss/cloud/data_receiver.proto -# Protobuf Python Version: 5.26.1 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 3, + '', + 'zenoss/cloud/data_receiver.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,7 +27,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n zenoss/cloud/data_receiver.proto\x12\x0czenoss.cloud\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x06\n\x04Void\"\xe2\x03\n\x05\x45vent\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x43\n\ndimensions\x18\x03 \x03(\x0b\x32#.zenoss.cloud.Event.DimensionsEntryR\ndimensions\x12?\n\x0emetadataFields\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x0emetadataFields\x12\x12\n\x04type\x18\x05 \x01(\tR\x04type\x12\x18\n\x07summary\x18\x06 \x01(\tR\x07summary\x12\x12\n\x04\x62ody\x18\x07 \x01(\tR\x04\x62ody\x12\x32\n\x08severity\x18\x08 \x01(\x0e\x32\x16.zenoss.cloud.SeverityR\x08severity\x12,\n\x06status\x18\t \x01(\x0e\x32\x14.zenoss.cloud.StatusR\x06status\x12>\n\x0c\x61\x63knowledged\x18\n \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x0c\x61\x63knowledged\x1a=\n\x0f\x44imensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"a\n\x06\x45vents\x12*\n\x10\x64\x65tailedResponse\x18\x01 \x01(\x08R\x10\x64\x65tailedResponse\x12+\n\x06\x65vents\x18\x02 \x03(\x0b\x32\x13.zenoss.cloud.EventR\x06\x65vents\"M\n\nEventError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12)\n\x05\x65vent\x18\x02 \x01(\x0b\x32\x13.zenoss.cloud.EventR\x05\x65vent\"\xcd\x01\n\x0cTaggedMetric\x12\x16\n\x06metric\x18\x01 \x01(\tR\x06metric\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x14\n\x05value\x18\x03 \x01(\x01R\x05value\x12\x38\n\x04tags\x18\x04 \x03(\x0b\x32$.zenoss.cloud.TaggedMetric.TagsEntryR\x04tags\x1a\x37\n\tTagsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"S\n\rCompactMetric\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x14\n\x05value\x18\x03 \x01(\x01R\x05value\"\x9a\x02\n\x06Metric\x12\x16\n\x06metric\x18\x01 \x01(\tR\x06metric\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x14\n\x05value\x18\x03 \x01(\x01R\x05value\x12\x44\n\ndimensions\x18\x04 \x03(\x0b\x32$.zenoss.cloud.Metric.DimensionsEntryR\ndimensions\x12?\n\x0emetadataFields\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructR\x0emetadataFields\x1a=\n\x0f\x44imensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xea\x01\n\x05Model\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x43\n\ndimensions\x18\x02 \x03(\x0b\x32#.zenoss.cloud.Model.DimensionsEntryR\ndimensions\x12?\n\x0emetadataFields\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructR\x0emetadataFields\x1a=\n\x0f\x44imensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"a\n\x06Models\x12*\n\x10\x64\x65tailedResponse\x18\x01 \x01(\x08R\x10\x64\x65tailedResponse\x12+\n\x06models\x18\x02 \x03(\x0b\x32\x13.zenoss.cloud.ModelR\x06models\"M\n\nModelError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12)\n\x05model\x18\x02 \x01(\x0b\x32\x13.zenoss.cloud.ModelR\x05model\"\xa1\x01\n\x11\x45ventStatusResult\x12\x16\n\x06\x66\x61iled\x18\x01 \x01(\x05R\x06\x66\x61iled\x12\x1c\n\tsucceeded\x18\x02 \x01(\x05R\tsucceeded\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12<\n\x0c\x66\x61iledEvents\x18\x04 \x03(\x0b\x32\x18.zenoss.cloud.EventErrorR\x0c\x66\x61iledEvents\"\xa1\x01\n\x11ModelStatusResult\x12\x16\n\x06\x66\x61iled\x18\x01 \x01(\x05R\x06\x66\x61iled\x12\x1c\n\tsucceeded\x18\x02 \x01(\x05R\tsucceeded\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12<\n\x0c\x66\x61iledModels\x18\x04 \x03(\x0b\x32\x18.zenoss.cloud.ModelErrorR\x0c\x66\x61iledModels\"\xc8\x02\n\x0cStatusResult\x12\x16\n\x06\x66\x61iled\x18\x01 \x01(\x05R\x06\x66\x61iled\x12\x1c\n\tsucceeded\x18\x02 \x01(\x05R\tsucceeded\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12T\n\x14\x66\x61iledCompactMetrics\x18\x04 \x03(\x0b\x32 .zenoss.cloud.CompactMetricErrorR\x14\x66\x61iledCompactMetrics\x12Q\n\x13\x66\x61iledTaggedMetrics\x18\x05 \x03(\x0b\x32\x1f.zenoss.cloud.TaggedMetricErrorR\x13\x66\x61iledTaggedMetrics\x12?\n\rfailedMetrics\x18\x06 \x03(\x0b\x32\x19.zenoss.cloud.MetricErrorR\rfailedMetrics\"Q\n\x0c\x45ventWrapper\x12\x33\n\tcanonical\x18\x01 \x01(\x0b\x32\x13.zenoss.cloud.EventH\x00R\tcanonicalB\x0c\n\nevent_type\"\xc3\x01\n\rMetricWrapper\x12\x34\n\x06tagged\x18\x01 \x01(\x0b\x32\x1a.zenoss.cloud.TaggedMetricH\x00R\x06tagged\x12\x37\n\x07\x63ompact\x18\x02 \x01(\x0b\x32\x1b.zenoss.cloud.CompactMetricH\x00R\x07\x63ompact\x12\x34\n\tcanonical\x18\x03 \x01(\x0b\x32\x14.zenoss.cloud.MetricH\x00R\tcanonicalB\r\n\x0bmetric_type\"\xcf\x01\n\x0bMetricBatch\x12J\n\x0bglobal_tags\x18\x02 \x03(\x0b\x32).zenoss.cloud.MetricBatch.GlobalTagsEntryR\nglobalTags\x12\x35\n\x07metrics\x18\x03 \x03(\x0b\x32\x1b.zenoss.cloud.MetricWrapperR\x07metrics\x1a=\n\x0fGlobalTagsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"_\n\x12\x43ompactMetricError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12\x33\n\x06metric\x18\x02 \x01(\x0b\x32\x1b.zenoss.cloud.CompactMetricR\x06metric\"Q\n\x0bMetricError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12,\n\x06metric\x18\x02 \x01(\x0b\x32\x14.zenoss.cloud.MetricR\x06metric\"]\n\x11TaggedMetricError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12\x32\n\x06metric\x18\x02 \x01(\x0b\x32\x1a.zenoss.cloud.TaggedMetricR\x06metric\"\xec\x01\n\x07Metrics\x12*\n\x10\x64\x65tailedResponse\x18\x01 \x01(\x08R\x10\x64\x65tailedResponse\x12\x43\n\x0e\x63ompactMetrics\x18\x03 \x03(\x0b\x32\x1b.zenoss.cloud.CompactMetricR\x0e\x63ompactMetrics\x12@\n\rtaggedMetrics\x18\x04 \x03(\x0b\x32\x1a.zenoss.cloud.TaggedMetricR\rtaggedMetrics\x12.\n\x07metrics\x18\x05 \x03(\x0b\x32\x14.zenoss.cloud.MetricR\x07metrics*\x88\x01\n\x08Severity\x12\x14\n\x10SEVERITY_DEFAULT\x10\x00\x12\x12\n\x0eSEVERITY_DEBUG\x10\x01\x12\x11\n\rSEVERITY_INFO\x10\x02\x12\x14\n\x10SEVERITY_WARNING\x10\x03\x12\x12\n\x0eSEVERITY_ERROR\x10\x04\x12\x15\n\x11SEVERITY_CRITICAL\x10\x05*W\n\x06Status\x12\x12\n\x0eSTATUS_DEFAULT\x10\x00\x12\x0f\n\x0bSTATUS_OPEN\x10\x01\x12\x15\n\x11STATUS_SUPPRESSED\x10\x02\x12\x11\n\rSTATUS_CLOSED\x10\x03\x32\xd0\x03\n\x13\x44\x61taReceiverService\x12g\n\tPutEvents\x12\x14.zenoss.cloud.Events\x1a\x1f.zenoss.cloud.EventStatusResult\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/data-receiver/events:\x01*\x12>\n\x08PutEvent\x12\x1a.zenoss.cloud.EventWrapper\x1a\x12.zenoss.cloud.Void\"\x00(\x01\x12\x65\n\nPutMetrics\x12\x15.zenoss.cloud.Metrics\x1a\x1a.zenoss.cloud.StatusResult\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/data-receiver/metrics:\x01*\x12@\n\tPutMetric\x12\x1b.zenoss.cloud.MetricWrapper\x1a\x12.zenoss.cloud.Void\"\x00(\x01\x12g\n\tPutModels\x12\x14.zenoss.cloud.Models\x1a\x1f.zenoss.cloud.ModelStatusResult\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/data-receiver/models:\x01*B\\\n\x1dorg.zenoss.cloud.dataReceiverP\x01Z9github.com/zenoss/zenoss-protobufs/go/cloud/data_receiverb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n zenoss/cloud/data_receiver.proto\x12\x0czenoss.cloud\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x9c\x01\n\x10\x43ollectionResult\x12+\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x13.zenoss.cloud.EventR\x06\x65vents\x12+\n\x06models\x18\x02 \x03(\x0b\x32\x13.zenoss.cloud.ModelR\x06models\x12.\n\x07metrics\x18\x03 \x03(\x0b\x32\x14.zenoss.cloud.MetricR\x07metrics\"\x06\n\x04Void\"\xe2\x03\n\x05\x45vent\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x43\n\ndimensions\x18\x03 \x03(\x0b\x32#.zenoss.cloud.Event.DimensionsEntryR\ndimensions\x12?\n\x0emetadataFields\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x0emetadataFields\x12\x12\n\x04type\x18\x05 \x01(\tR\x04type\x12\x18\n\x07summary\x18\x06 \x01(\tR\x07summary\x12\x12\n\x04\x62ody\x18\x07 \x01(\tR\x04\x62ody\x12\x32\n\x08severity\x18\x08 \x01(\x0e\x32\x16.zenoss.cloud.SeverityR\x08severity\x12,\n\x06status\x18\t \x01(\x0e\x32\x14.zenoss.cloud.StatusR\x06status\x12>\n\x0c\x61\x63knowledged\x18\n \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\x0c\x61\x63knowledged\x1a=\n\x0f\x44imensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"a\n\x06\x45vents\x12*\n\x10\x64\x65tailedResponse\x18\x01 \x01(\x08R\x10\x64\x65tailedResponse\x12+\n\x06\x65vents\x18\x02 \x03(\x0b\x32\x13.zenoss.cloud.EventR\x06\x65vents\"M\n\nEventError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12)\n\x05\x65vent\x18\x02 \x01(\x0b\x32\x13.zenoss.cloud.EventR\x05\x65vent\"\xcd\x01\n\x0cTaggedMetric\x12\x16\n\x06metric\x18\x01 \x01(\tR\x06metric\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x14\n\x05value\x18\x03 \x01(\x01R\x05value\x12\x38\n\x04tags\x18\x04 \x03(\x0b\x32$.zenoss.cloud.TaggedMetric.TagsEntryR\x04tags\x1a\x37\n\tTagsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"S\n\rCompactMetric\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x14\n\x05value\x18\x03 \x01(\x01R\x05value\"\x9a\x02\n\x06Metric\x12\x16\n\x06metric\x18\x01 \x01(\tR\x06metric\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x14\n\x05value\x18\x03 \x01(\x01R\x05value\x12\x44\n\ndimensions\x18\x04 \x03(\x0b\x32$.zenoss.cloud.Metric.DimensionsEntryR\ndimensions\x12?\n\x0emetadataFields\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructR\x0emetadataFields\x1a=\n\x0f\x44imensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xea\x01\n\x05Model\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x43\n\ndimensions\x18\x02 \x03(\x0b\x32#.zenoss.cloud.Model.DimensionsEntryR\ndimensions\x12?\n\x0emetadataFields\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructR\x0emetadataFields\x1a=\n\x0f\x44imensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"a\n\x06Models\x12*\n\x10\x64\x65tailedResponse\x18\x01 \x01(\x08R\x10\x64\x65tailedResponse\x12+\n\x06models\x18\x02 \x03(\x0b\x32\x13.zenoss.cloud.ModelR\x06models\"M\n\nModelError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12)\n\x05model\x18\x02 \x01(\x0b\x32\x13.zenoss.cloud.ModelR\x05model\"\xa1\x01\n\x11\x45ventStatusResult\x12\x16\n\x06\x66\x61iled\x18\x01 \x01(\x05R\x06\x66\x61iled\x12\x1c\n\tsucceeded\x18\x02 \x01(\x05R\tsucceeded\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12<\n\x0c\x66\x61iledEvents\x18\x04 \x03(\x0b\x32\x18.zenoss.cloud.EventErrorR\x0c\x66\x61iledEvents\"\xa1\x01\n\x11ModelStatusResult\x12\x16\n\x06\x66\x61iled\x18\x01 \x01(\x05R\x06\x66\x61iled\x12\x1c\n\tsucceeded\x18\x02 \x01(\x05R\tsucceeded\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12<\n\x0c\x66\x61iledModels\x18\x04 \x03(\x0b\x32\x18.zenoss.cloud.ModelErrorR\x0c\x66\x61iledModels\"\xc8\x02\n\x0cStatusResult\x12\x16\n\x06\x66\x61iled\x18\x01 \x01(\x05R\x06\x66\x61iled\x12\x1c\n\tsucceeded\x18\x02 \x01(\x05R\tsucceeded\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12T\n\x14\x66\x61iledCompactMetrics\x18\x04 \x03(\x0b\x32 .zenoss.cloud.CompactMetricErrorR\x14\x66\x61iledCompactMetrics\x12Q\n\x13\x66\x61iledTaggedMetrics\x18\x05 \x03(\x0b\x32\x1f.zenoss.cloud.TaggedMetricErrorR\x13\x66\x61iledTaggedMetrics\x12?\n\rfailedMetrics\x18\x06 \x03(\x0b\x32\x19.zenoss.cloud.MetricErrorR\rfailedMetrics\"Q\n\x0c\x45ventWrapper\x12\x33\n\tcanonical\x18\x01 \x01(\x0b\x32\x13.zenoss.cloud.EventH\x00R\tcanonicalB\x0c\n\nevent_type\"\xc3\x01\n\rMetricWrapper\x12\x34\n\x06tagged\x18\x01 \x01(\x0b\x32\x1a.zenoss.cloud.TaggedMetricH\x00R\x06tagged\x12\x37\n\x07\x63ompact\x18\x02 \x01(\x0b\x32\x1b.zenoss.cloud.CompactMetricH\x00R\x07\x63ompact\x12\x34\n\tcanonical\x18\x03 \x01(\x0b\x32\x14.zenoss.cloud.MetricH\x00R\tcanonicalB\r\n\x0bmetric_type\"\xcf\x01\n\x0bMetricBatch\x12J\n\x0bglobal_tags\x18\x02 \x03(\x0b\x32).zenoss.cloud.MetricBatch.GlobalTagsEntryR\nglobalTags\x12\x35\n\x07metrics\x18\x03 \x03(\x0b\x32\x1b.zenoss.cloud.MetricWrapperR\x07metrics\x1a=\n\x0fGlobalTagsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"_\n\x12\x43ompactMetricError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12\x33\n\x06metric\x18\x02 \x01(\x0b\x32\x1b.zenoss.cloud.CompactMetricR\x06metric\"Q\n\x0bMetricError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12,\n\x06metric\x18\x02 \x01(\x0b\x32\x14.zenoss.cloud.MetricR\x06metric\"]\n\x11TaggedMetricError\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12\x32\n\x06metric\x18\x02 \x01(\x0b\x32\x1a.zenoss.cloud.TaggedMetricR\x06metric\"\xec\x01\n\x07Metrics\x12*\n\x10\x64\x65tailedResponse\x18\x01 \x01(\x08R\x10\x64\x65tailedResponse\x12\x43\n\x0e\x63ompactMetrics\x18\x03 \x03(\x0b\x32\x1b.zenoss.cloud.CompactMetricR\x0e\x63ompactMetrics\x12@\n\rtaggedMetrics\x18\x04 \x03(\x0b\x32\x1a.zenoss.cloud.TaggedMetricR\rtaggedMetrics\x12.\n\x07metrics\x18\x05 \x03(\x0b\x32\x14.zenoss.cloud.MetricR\x07metrics*\x88\x01\n\x08Severity\x12\x14\n\x10SEVERITY_DEFAULT\x10\x00\x12\x12\n\x0eSEVERITY_DEBUG\x10\x01\x12\x11\n\rSEVERITY_INFO\x10\x02\x12\x14\n\x10SEVERITY_WARNING\x10\x03\x12\x12\n\x0eSEVERITY_ERROR\x10\x04\x12\x15\n\x11SEVERITY_CRITICAL\x10\x05*W\n\x06Status\x12\x12\n\x0eSTATUS_DEFAULT\x10\x00\x12\x0f\n\x0bSTATUS_OPEN\x10\x01\x12\x15\n\x11STATUS_SUPPRESSED\x10\x02\x12\x11\n\rSTATUS_CLOSED\x10\x03\x32\xd0\x03\n\x13\x44\x61taReceiverService\x12g\n\tPutEvents\x12\x14.zenoss.cloud.Events\x1a\x1f.zenoss.cloud.EventStatusResult\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/data-receiver/events:\x01*\x12>\n\x08PutEvent\x12\x1a.zenoss.cloud.EventWrapper\x1a\x12.zenoss.cloud.Void\"\x00(\x01\x12\x65\n\nPutMetrics\x12\x15.zenoss.cloud.Metrics\x1a\x1a.zenoss.cloud.StatusResult\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/data-receiver/metrics:\x01*\x12@\n\tPutMetric\x12\x1b.zenoss.cloud.MetricWrapper\x1a\x12.zenoss.cloud.Void\"\x00(\x01\x12g\n\tPutModels\x12\x14.zenoss.cloud.Models\x1a\x1f.zenoss.cloud.ModelStatusResult\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/data-receiver/models:\x01*B\\\n\x1dorg.zenoss.cloud.dataReceiverP\x01Z9github.com/zenoss/zenoss-protobufs/go/cloud/data_receiverb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -41,60 +51,62 @@ _globals['_DATARECEIVERSERVICE'].methods_by_name['PutMetrics']._serialized_options = b'\202\323\344\223\002\036\"\031/v1/data-receiver/metrics:\001*' _globals['_DATARECEIVERSERVICE'].methods_by_name['PutModels']._loaded_options = None _globals['_DATARECEIVERSERVICE'].methods_by_name['PutModels']._serialized_options = b'\202\323\344\223\002\035\"\030/v1/data-receiver/models:\001*' - _globals['_SEVERITY']._serialized_start=3471 - _globals['_SEVERITY']._serialized_end=3607 - _globals['_STATUS']._serialized_start=3609 - _globals['_STATUS']._serialized_end=3696 - _globals['_VOID']._serialized_start=142 - _globals['_VOID']._serialized_end=148 - _globals['_EVENT']._serialized_start=151 - _globals['_EVENT']._serialized_end=633 - _globals['_EVENT_DIMENSIONSENTRY']._serialized_start=572 - _globals['_EVENT_DIMENSIONSENTRY']._serialized_end=633 - _globals['_EVENTS']._serialized_start=635 - _globals['_EVENTS']._serialized_end=732 - _globals['_EVENTERROR']._serialized_start=734 - _globals['_EVENTERROR']._serialized_end=811 - _globals['_TAGGEDMETRIC']._serialized_start=814 - _globals['_TAGGEDMETRIC']._serialized_end=1019 - _globals['_TAGGEDMETRIC_TAGSENTRY']._serialized_start=964 - _globals['_TAGGEDMETRIC_TAGSENTRY']._serialized_end=1019 - _globals['_COMPACTMETRIC']._serialized_start=1021 - _globals['_COMPACTMETRIC']._serialized_end=1104 - _globals['_METRIC']._serialized_start=1107 - _globals['_METRIC']._serialized_end=1389 - _globals['_METRIC_DIMENSIONSENTRY']._serialized_start=572 - _globals['_METRIC_DIMENSIONSENTRY']._serialized_end=633 - _globals['_MODEL']._serialized_start=1392 - _globals['_MODEL']._serialized_end=1626 - _globals['_MODEL_DIMENSIONSENTRY']._serialized_start=572 - _globals['_MODEL_DIMENSIONSENTRY']._serialized_end=633 - _globals['_MODELS']._serialized_start=1628 - _globals['_MODELS']._serialized_end=1725 - _globals['_MODELERROR']._serialized_start=1727 - _globals['_MODELERROR']._serialized_end=1804 - _globals['_EVENTSTATUSRESULT']._serialized_start=1807 - _globals['_EVENTSTATUSRESULT']._serialized_end=1968 - _globals['_MODELSTATUSRESULT']._serialized_start=1971 - _globals['_MODELSTATUSRESULT']._serialized_end=2132 - _globals['_STATUSRESULT']._serialized_start=2135 - _globals['_STATUSRESULT']._serialized_end=2463 - _globals['_EVENTWRAPPER']._serialized_start=2465 - _globals['_EVENTWRAPPER']._serialized_end=2546 - _globals['_METRICWRAPPER']._serialized_start=2549 - _globals['_METRICWRAPPER']._serialized_end=2744 - _globals['_METRICBATCH']._serialized_start=2747 - _globals['_METRICBATCH']._serialized_end=2954 - _globals['_METRICBATCH_GLOBALTAGSENTRY']._serialized_start=2893 - _globals['_METRICBATCH_GLOBALTAGSENTRY']._serialized_end=2954 - _globals['_COMPACTMETRICERROR']._serialized_start=2956 - _globals['_COMPACTMETRICERROR']._serialized_end=3051 - _globals['_METRICERROR']._serialized_start=3053 - _globals['_METRICERROR']._serialized_end=3134 - _globals['_TAGGEDMETRICERROR']._serialized_start=3136 - _globals['_TAGGEDMETRICERROR']._serialized_end=3229 - _globals['_METRICS']._serialized_start=3232 - _globals['_METRICS']._serialized_end=3468 - _globals['_DATARECEIVERSERVICE']._serialized_start=3699 - _globals['_DATARECEIVERSERVICE']._serialized_end=4163 + _globals['_SEVERITY']._serialized_start=3630 + _globals['_SEVERITY']._serialized_end=3766 + _globals['_STATUS']._serialized_start=3768 + _globals['_STATUS']._serialized_end=3855 + _globals['_COLLECTIONRESULT']._serialized_start=143 + _globals['_COLLECTIONRESULT']._serialized_end=299 + _globals['_VOID']._serialized_start=301 + _globals['_VOID']._serialized_end=307 + _globals['_EVENT']._serialized_start=310 + _globals['_EVENT']._serialized_end=792 + _globals['_EVENT_DIMENSIONSENTRY']._serialized_start=731 + _globals['_EVENT_DIMENSIONSENTRY']._serialized_end=792 + _globals['_EVENTS']._serialized_start=794 + _globals['_EVENTS']._serialized_end=891 + _globals['_EVENTERROR']._serialized_start=893 + _globals['_EVENTERROR']._serialized_end=970 + _globals['_TAGGEDMETRIC']._serialized_start=973 + _globals['_TAGGEDMETRIC']._serialized_end=1178 + _globals['_TAGGEDMETRIC_TAGSENTRY']._serialized_start=1123 + _globals['_TAGGEDMETRIC_TAGSENTRY']._serialized_end=1178 + _globals['_COMPACTMETRIC']._serialized_start=1180 + _globals['_COMPACTMETRIC']._serialized_end=1263 + _globals['_METRIC']._serialized_start=1266 + _globals['_METRIC']._serialized_end=1548 + _globals['_METRIC_DIMENSIONSENTRY']._serialized_start=731 + _globals['_METRIC_DIMENSIONSENTRY']._serialized_end=792 + _globals['_MODEL']._serialized_start=1551 + _globals['_MODEL']._serialized_end=1785 + _globals['_MODEL_DIMENSIONSENTRY']._serialized_start=731 + _globals['_MODEL_DIMENSIONSENTRY']._serialized_end=792 + _globals['_MODELS']._serialized_start=1787 + _globals['_MODELS']._serialized_end=1884 + _globals['_MODELERROR']._serialized_start=1886 + _globals['_MODELERROR']._serialized_end=1963 + _globals['_EVENTSTATUSRESULT']._serialized_start=1966 + _globals['_EVENTSTATUSRESULT']._serialized_end=2127 + _globals['_MODELSTATUSRESULT']._serialized_start=2130 + _globals['_MODELSTATUSRESULT']._serialized_end=2291 + _globals['_STATUSRESULT']._serialized_start=2294 + _globals['_STATUSRESULT']._serialized_end=2622 + _globals['_EVENTWRAPPER']._serialized_start=2624 + _globals['_EVENTWRAPPER']._serialized_end=2705 + _globals['_METRICWRAPPER']._serialized_start=2708 + _globals['_METRICWRAPPER']._serialized_end=2903 + _globals['_METRICBATCH']._serialized_start=2906 + _globals['_METRICBATCH']._serialized_end=3113 + _globals['_METRICBATCH_GLOBALTAGSENTRY']._serialized_start=3052 + _globals['_METRICBATCH_GLOBALTAGSENTRY']._serialized_end=3113 + _globals['_COMPACTMETRICERROR']._serialized_start=3115 + _globals['_COMPACTMETRICERROR']._serialized_end=3210 + _globals['_METRICERROR']._serialized_start=3212 + _globals['_METRICERROR']._serialized_end=3293 + _globals['_TAGGEDMETRICERROR']._serialized_start=3295 + _globals['_TAGGEDMETRICERROR']._serialized_end=3388 + _globals['_METRICS']._serialized_start=3391 + _globals['_METRICS']._serialized_end=3627 + _globals['_DATARECEIVERSERVICE']._serialized_start=3858 + _globals['_DATARECEIVERSERVICE']._serialized_end=4322 # @@protoc_insertion_point(module_scope) diff --git a/python/zenoss/cloud/data_receiver_pb2_grpc.py b/python/zenoss/cloud/data_receiver_pb2_grpc.py index 828fea6..8d5841d 100644 --- a/python/zenoss/cloud/data_receiver_pb2_grpc.py +++ b/python/zenoss/cloud/data_receiver_pb2_grpc.py @@ -113,6 +113,7 @@ def add_DataReceiverServiceServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'zenoss.cloud.DataReceiverService', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('zenoss.cloud.DataReceiverService', rpc_method_handlers) # This class is part of an EXPERIMENTAL API. diff --git a/python/zenoss/cloud/data_registry_pb2.py b/python/zenoss/cloud/data_registry_pb2.py index 2803631..2a8b5f4 100644 --- a/python/zenoss/cloud/data_registry_pb2.py +++ b/python/zenoss/cloud/data_registry_pb2.py @@ -1,12 +1,22 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: zenoss/cloud/data_registry.proto -# Protobuf Python Version: 5.26.1 +# Protobuf Python Version: 5.29.3 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 29, + 3, + '', + 'zenoss/cloud/data_registry.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() diff --git a/python/zenoss/cloud/data_registry_pb2_grpc.py b/python/zenoss/cloud/data_registry_pb2_grpc.py index 13bc5eb..647de1a 100644 --- a/python/zenoss/cloud/data_registry_pb2_grpc.py +++ b/python/zenoss/cloud/data_registry_pb2_grpc.py @@ -122,6 +122,7 @@ def add_DataRegistryServiceServicer_to_server(servicer, server): generic_handler = grpc.method_handlers_generic_handler( 'zenoss.cloud.DataRegistryService', rpc_method_handlers) server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('zenoss.cloud.DataRegistryService', rpc_method_handlers) # This class is part of an EXPERIMENTAL API.