diff --git a/Makefile b/Makefile index 858336e9873..98a68d82cbc 100644 --- a/Makefile +++ b/Makefile @@ -1,43 +1,65 @@ -# Host Makefile. +# Devcontainer Makefile. include Makefile.include -ifeq ($(PROFILES),) -PROFILES := 'pmm' -endif +release-dev-managed: ## Build pmm-managed + make -C managed release-dev -env-up: ## Start devcontainer - COMPOSE_PROFILES=$(PROFILES) \ - docker compose up -d +release-dev-agent: ## Build pmm-agent + make -C agent release-dev -env-up-rebuild: env-update-image ## Rebuild and start devcontainer. Useful for custom $PMM_SERVER_IMAGE - COMPOSE_PROFILES=$(PROFILES) \ - docker compose up --build -d +release-vmproxy: ## Build vmproxy + make -C vmproxy release -env-update-image: ## Pull latest dev image - COMPOSE_PROFILES=$(PROFILES) \ - docker compose pull +# used by host Makefile +_bash: + /bin/bash -env-compose-up: env-update-image - COMPOSE_PROFILES=$(PROFILES) \ - docker compose up --detach --renew-anon-volumes --remove-orphans +PMM_RELEASE_PATH ?= ./bin -env-devcontainer: - docker exec -it --workdir=/root/go/src/github.com/percona/pmm pmm-server .devcontainer/setup.py +run-managed: release-dev-managed ## Replace pmm-managed from build, restart and tail logs + supervisorctl stop pmm-managed + cp $(PMM_RELEASE_PATH)/pmm-managed /usr/sbin/pmm-managed + supervisorctl start pmm-managed & + supervisorctl tail -f pmm-managed -env-down: ## Stop devcontainer - COMPOSE_PROFILES=$(PROFILES) \ - docker compose down --remove-orphans +run-managed-ci: release-dev-managed ## Replace pmm-managed from build, restart (used in CI) + supervisorctl stop pmm-managed + cp $(PMM_RELEASE_PATH)/pmm-managed /usr/sbin/pmm-managed + supervisorctl start pmm-managed -env-remove: - COMPOSE_PROFILES=$(PROFILES) \ - docker compose down --volumes --remove-orphans +run-agent: release-dev-agent ## Replace pmm-agent from build and restart + supervisorctl stop pmm-agent + cp $(PMM_RELEASE_PATH)/pmm-agent /usr/sbin/pmm-agent + supervisorctl start pmm-agent -TARGET ?= _bash +run-vmproxy: release-vmproxy + supervisorctl stop vmproxy + cp $(PMM_RELEASE_PATH)/vmproxy /usr/sbin/vmproxy + supervisorctl start vmproxy -env: ## Run `make TARGET` in devcontainer (`make env TARGET=help`); TARGET defaults to bash - COMPOSE_PROFILES=$(PROFILES) \ - docker exec -it --workdir=/root/go/src/github.com/percona/pmm pmm-server make $(TARGET) +run-all: run-agent run-managed ## Run pmm-managed and pmm-agent -update-dbaas-catalog: ## Update the DBaaS catalog from the latest production branch (percona-platform). - wget https://raw.githubusercontent.com/percona/dbaas-catalog/percona-platform/percona-dbaas-catalog.yaml -O managed/data/crds/olm/percona-dbaas-catalog.yaml +run: ## Deprecated + echo "Deprecated: please use run-all" + +# TODO https://jira.percona.com/browse/PMM-3484, see maincover_test.go +# run-race-cover: install-race ## Run pmm-managed with race detector and collect coverage information. +# go test -coverpkg="github.com/percona/pmm/managed/..." \ +# -tags maincover \ +# $(PMM_LD_FLAGS) \ +# -race -c -o bin/pmm-managed.test +# bin/pmm-managed.test -test.coverprofile=cover.out -test.run=TestMainCover $(RUN_FLAGS) + +psql: ## Open database for the pmm-managed instance in psql shell + env PGPASSWORD=pmm-managed psql -U pmm-managed pmm-managed + +psql-test: ## Open database used in unit tests in psql shell + env psql -U postgres pmm-managed-dev + +dlv/attach: ## Attach Delve to `pmm-managed` + dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient attach $(shell pgrep pmm-managed) + +refresh-swagger: ## Refresh swagger files + cp /root/go/src/github.com/percona/pmm/api/swagger/swagger.json /usr/share/pmm-managed/swagger/swagger.json + cp /root/go/src/github.com/percona/pmm/api/swagger/swagger-dev.json /usr/share/pmm-managed/swagger/swagger-dev.json diff --git a/agent/client/client.go b/agent/client/client.go index c2106072d0d..9c2e43e6391 100644 --- a/agent/client/client.go +++ b/agent/client/client.go @@ -376,6 +376,9 @@ loop: case *agentpb.CheckConnectionRequest: responsePayload = c.connectionChecker.Check(ctx, p, req.ID) + case *agentpb.ServiceInfoRequest: + responsePayload = c.connectionChecker.GetServiceInfo(ctx, p, req.ID) + case *agentpb.StartJobRequest: var resp agentpb.StartJobResponse if err := c.handleStartJobRequest(p); err != nil { diff --git a/agent/client/deps.go b/agent/client/deps.go index 43109314452..51c367186f2 100644 --- a/agent/client/deps.go +++ b/agent/client/deps.go @@ -30,6 +30,7 @@ import ( // We use it instead of real type for testing and to avoid dependency cycle. type connectionChecker interface { Check(ctx context.Context, req *agentpb.CheckConnectionRequest, id uint32) *agentpb.CheckConnectionResponse + GetServiceInfo(ctx context.Context, req *agentpb.ServiceInfoRequest, id uint32) *agentpb.ServiceInfoResponse } // softwareVersioner is a subset of methods of version.Versioner used by this package. diff --git a/agent/client/mock_connection_checker_test.go b/agent/client/mock_connection_checker_test.go index 6ce4cb51a75..ac2ad218eb7 100644 --- a/agent/client/mock_connection_checker_test.go +++ b/agent/client/mock_connection_checker_test.go @@ -31,6 +31,22 @@ func (_m *mockConnectionChecker) Check(ctx context.Context, req *agentpb.CheckCo return r0 } +// GetServiceInfo provides a mock function with given fields: ctx, req, id +func (_m *mockConnectionChecker) GetServiceInfo(ctx context.Context, req *agentpb.ServiceInfoRequest, id uint32) *agentpb.ServiceInfoResponse { + ret := _m.Called(ctx, req, id) + + var r0 *agentpb.ServiceInfoResponse + if rf, ok := ret.Get(0).(func(context.Context, *agentpb.ServiceInfoRequest, uint32) *agentpb.ServiceInfoResponse); ok { + r0 = rf(ctx, req, id) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*agentpb.ServiceInfoResponse) + } + } + + return r0 +} + // newMockConnectionChecker creates a new instance of mockConnectionChecker. 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 newMockConnectionChecker(t interface { diff --git a/agent/connectionchecker/connection_checker.go b/agent/connectionchecker/connection_checker.go index 076b7061791..2852a3ffd7a 100644 --- a/agent/connectionchecker/connection_checker.go +++ b/agent/connectionchecker/connection_checker.go @@ -339,3 +339,226 @@ func (cc *ConnectionChecker) checkExternalConnection(ctx context.Context, uri st return &res } + +// GetServiceInfo gathers information from a service. It returns context cancelation/timeout or driver errors as is. +func (cc *ConnectionChecker) GetServiceInfo(ctx context.Context, msg *agentpb.ServiceInfoRequest, id uint32) *agentpb.ServiceInfoResponse { + timeout := msg.Timeout.AsDuration() + if timeout > 0 { + var cancel context.CancelFunc + ctx, cancel = context.WithTimeout(ctx, timeout) + defer cancel() + } + + switch msg.Type { + case inventorypb.ServiceType_MYSQL_SERVICE: + return cc.getMySQLInfo(ctx, msg.Dsn, msg.TextFiles, msg.TlsSkipVerify, id) + case inventorypb.ServiceType_MONGODB_SERVICE: + return cc.getMongoDBInfo(ctx, msg.Dsn, msg.TextFiles, id) + case inventorypb.ServiceType_POSTGRESQL_SERVICE: + return cc.getPostgreSQLInfo(ctx, msg.Dsn, msg.TextFiles, id) + case inventorypb.ServiceType_PROXYSQL_SERVICE: + return cc.getProxySQLInfo(ctx, msg.Dsn) + // NOTE: inventorypb.ServiceType_EXTERNAL_SERVICE, inventorypb.ServiceType_HAPROXY_SERVICE can't be implemented for now + default: + panic(fmt.Sprintf("unknown service type: %v", msg.Type)) + } +} + +func (cc *ConnectionChecker) getMySQLInfo(ctx context.Context, dsn string, files *agentpb.TextFiles, tlsSkipVerify bool, id uint32) *agentpb.ServiceInfoResponse { //nolint:lll,unparam + var res agentpb.ServiceInfoResponse + var err error + + if files != nil { + err = tlshelpers.RegisterMySQLCerts(files.Files) + if err != nil { + cc.l.Debugf("getMySQLInfo: failed to register cert: %s", err) + res.Error = err.Error() + return &res + } + } + + cfg, err := mysql.ParseDSN(dsn) + if err != nil { + cc.l.Debugf("getMySQLInfo: failed to parse DSN: %s", err) + res.Error = err.Error() + return &res + } + + tempdir := filepath.Join(cc.cfg.Get().Paths.TempDir, strings.ToLower("get-mysql-info"), strconv.Itoa(int(id))) + _, err = templates.RenderDSN(dsn, files, tempdir) + if err != nil { + cc.l.Debugf("getMySQLInfo: failed to Render DSN: %s", err) + res.Error = err.Error() + return &res + } + + connector, err := mysql.NewConnector(cfg) + if err != nil { + cc.l.Debugf("getMySQLInfo: failed to create connector: %s", err) + res.Error = err.Error() + return &res + } + + db := sql.OpenDB(connector) + defer db.Close() //nolint:errcheck + + if err = cc.sqlPing(ctx, db); err != nil { + if errors.As(err, &x509.HostnameError{}) { + res.Error = errors.Wrap(err, + "mysql ssl certificate is misconfigured, make sure the certificate includes the requested hostname/IP in CN or subjectAltName fields").Error() + } else { + res.Error = err.Error() + } + return &res + } + + var count uint64 + if err = db.QueryRowContext(ctx, "SELECT /* agent='connectionchecker' */ COUNT(*) FROM information_schema.tables").Scan(&count); err != nil { + res.Error = err.Error() + return &res + } + + tableCount := int32(count) + if count > math.MaxInt32 { + tableCount = math.MaxInt32 + } + + var version string + if err = db.QueryRowContext(ctx, "SELECT /* agent='connectionchecker' */ VERSION()").Scan(&version); err != nil { + res.Error = err.Error() + return &res + } + + res.TableCount = tableCount + res.Version = version + + return &res +} + +func (cc *ConnectionChecker) getMongoDBInfo(ctx context.Context, dsn string, files *agentpb.TextFiles, id uint32) *agentpb.ServiceInfoResponse { + var res agentpb.ServiceInfoResponse + var err error + + tempdir := filepath.Join(cc.cfg.Get().Paths.TempDir, strings.ToLower("get-mongodb-info"), strconv.Itoa(int(id))) + dsn, err = templates.RenderDSN(dsn, files, tempdir) + if err != nil { + cc.l.Debugf("getMongoDBInfo: failed to Render DSN: %s", err) + res.Error = err.Error() + return &res + } + + opts, err := mongo_fix.ClientOptionsForDSN(dsn) + if err != nil { + cc.l.Debugf("failed to parse DSN: %s", err) + res.Error = err.Error() + return &res + } + + client, err := mongo.Connect(ctx, opts) + if err != nil { + cc.l.Debugf("getMongoDBInfo: failed to Connect: %s", err) + res.Error = err.Error() + return &res + } + defer client.Disconnect(ctx) //nolint:errcheck + + if err = client.Ping(ctx, nil); err != nil { + cc.l.Debugf("getMongoDBInfo: failed to Ping: %s", err) + res.Error = err.Error() + return &res + } + + resp := client.Database("admin").RunCommand(ctx, bson.D{{Key: "getDiagnosticData", Value: 1}}) + if err = resp.Err(); err != nil { + cc.l.Debugf("getMongoDBInfo: failed to runCommand getDiagnosticData: %s", err) + res.Error = err.Error() + return &res + } + + resp = client.Database("admin").RunCommand(ctx, bson.D{{Key: "buildInfo", Value: 1}}) + if err = resp.Err(); err != nil { + res.Error = err.Error() + return &res + } + + buildInfo := struct { + Version string `bson:"version"` + }{} + + if err = resp.Decode(&buildInfo); err != nil { + cc.l.Debugf("getMongoDBInfo: failed to decode buildInfo: %s", err) + return &res + } + + res.Version = buildInfo.Version + + return &res +} + +func (cc *ConnectionChecker) getPostgreSQLInfo(ctx context.Context, dsn string, files *agentpb.TextFiles, id uint32) *agentpb.ServiceInfoResponse { + var res agentpb.ServiceInfoResponse + var err error + + tempdir := filepath.Join(cc.cfg.Get().Paths.TempDir, strings.ToLower("get-postgresql-info"), strconv.Itoa(int(id))) + dsn, err = templates.RenderDSN(dsn, files, tempdir) + if err != nil { + cc.l.Debugf("getPostgreSQLInfo: failed to Render DSN: %s", err) + res.Error = err.Error() + return &res + } + + c, err := pq.NewConnector(dsn) + if err != nil { + res.Error = err.Error() + return &res + } + db := sql.OpenDB(c) + defer db.Close() //nolint:errcheck + + if err = cc.sqlPing(ctx, db); err != nil { + res.Error = err.Error() + } + + var version string + if err = db.QueryRowContext(ctx, "SHOW /* agent='connectionchecker' */ SERVER_VERSION").Scan(&version); err != nil { + res.Error = err.Error() + return &res + } + + res.Version = version + + return &res +} + +func (cc *ConnectionChecker) getProxySQLInfo(ctx context.Context, dsn string) *agentpb.ServiceInfoResponse { + var res agentpb.ServiceInfoResponse + + cfg, err := mysql.ParseDSN(dsn) + if err != nil { + res.Error = err.Error() + return &res + } + + connector, err := mysql.NewConnector(cfg) + if err != nil { + res.Error = err.Error() + return &res + } + + db := sql.OpenDB(connector) + defer db.Close() //nolint:errcheck + + if err = cc.sqlPing(ctx, db); err != nil { + res.Error = err.Error() + } + + var version string + if err := db.QueryRowContext(ctx, "SELECT /* agent='connectionchecker' */ @@GLOBAL.'admin-version'").Scan(&version); err != nil { + res.Error = err.Error() + return &res + } + + res.Version = version + + return &res +} diff --git a/api/agentpb/agent.go b/api/agentpb/agent.go index 4b902974317..9ab21bdb035 100644 --- a/api/agentpb/agent.go +++ b/api/agentpb/agent.go @@ -102,6 +102,10 @@ func (m *CheckConnectionResponse) AgentMessageResponsePayload() isAgentMessage_P return &AgentMessage_CheckConnection{CheckConnection: m} } +func (m *ServiceInfoResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn + return &AgentMessage_ServiceInfo{ServiceInfo: m} +} + func (m *JobStatusResponse) AgentMessageResponsePayload() isAgentMessage_Payload { //nolint:ireturn return &AgentMessage_JobStatus{JobStatus: m} } @@ -198,21 +202,31 @@ func (m *AgentLogsRequest) ServerMessageRequestPayload() isServerMessage_Payload return &ServerMessage_AgentLogs{AgentLogs: m} } +func (m *ServiceInfoRequest) ServerMessageRequestPayload() isServerMessage_Payload { //nolint:ireturn + return &ServerMessage_ServiceInfo{ServiceInfo: m} +} + // in alphabetical order. func (*ActionResultRequest) sealed() {} func (*ActionResultResponse) sealed() {} +func (*AgentLogsRequest) sealed() {} +func (*AgentLogsResponse) sealed() {} func (*CheckConnectionRequest) sealed() {} func (*CheckConnectionResponse) sealed() {} +func (*GetVersionsRequest) sealed() {} +func (*GetVersionsResponse) sealed() {} func (*JobProgress) sealed() {} func (*JobResult) sealed() {} func (*JobStatusRequest) sealed() {} func (*JobStatusResponse) sealed() {} -func (*AgentLogsRequest) sealed() {} -func (*AgentLogsResponse) sealed() {} +func (*PBMSwitchPITRRequest) sealed() {} +func (*PBMSwitchPITRResponse) sealed() {} func (*Ping) sealed() {} func (*Pong) sealed() {} func (*QANCollectRequest) sealed() {} func (*QANCollectResponse) sealed() {} +func (*ServiceInfoRequest) sealed() {} +func (*ServiceInfoResponse) sealed() {} func (*SetStateRequest) sealed() {} func (*SetStateResponse) sealed() {} func (*StartActionRequest) sealed() {} @@ -225,10 +239,6 @@ func (*StopActionRequest) sealed() {} func (*StopActionResponse) sealed() {} func (*StopJobRequest) sealed() {} func (*StopJobResponse) sealed() {} -func (*GetVersionsRequest) sealed() {} -func (*GetVersionsResponse) sealed() {} -func (*PBMSwitchPITRRequest) sealed() {} -func (*PBMSwitchPITRResponse) sealed() {} // check interfaces. var ( @@ -251,6 +261,7 @@ var ( _ AgentResponsePayload = (*JobStatusResponse)(nil) _ AgentResponsePayload = (*GetVersionsResponse)(nil) _ AgentResponsePayload = (*AgentLogsResponse)(nil) + _ AgentResponsePayload = (*ServiceInfoResponse)(nil) // A list of ServerMessage response payloads. _ ServerResponsePayload = (*Pong)(nil) @@ -270,6 +281,7 @@ var ( _ ServerRequestPayload = (*GetVersionsRequest)(nil) _ ServerRequestPayload = (*PBMSwitchPITRRequest)(nil) _ ServerRequestPayload = (*AgentLogsRequest)(nil) + _ ServerRequestPayload = (*ServiceInfoRequest)(nil) ) //go-sumtype:decl AgentParams diff --git a/api/agentpb/agent.pb.go b/api/agentpb/agent.pb.go index 9d78af1412d..96b6e04bb11 100644 --- a/api/agentpb/agent.pb.go +++ b/api/agentpb/agent.pb.go @@ -1921,7 +1921,7 @@ func (x *CheckConnectionRequest) GetTlsSkipVerify() bool { return false } -// CheckConnectionResponse is an AgentMessage containing a result of connection check. +// CheckConnectionResponse is an AgentMessage containing the result of a connection check. type CheckConnectionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1978,6 +1978,158 @@ func (x *CheckConnectionResponse) GetStats() *CheckConnectionResponse_Stats { return nil } +// ServiceInfoRequest is a ServerMessage asking pmm-agent fo service stats. +type ServiceInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Service type. + Type inventorypb.ServiceType `protobuf:"varint,1,opt,name=type,proto3,enum=inventory.ServiceType" json:"type,omitempty"` + // DSN for the service. May contain connection (dial) timeout. + Dsn string `protobuf:"bytes,2,opt,name=dsn,proto3" json:"dsn,omitempty"` + // Timeout for the whole request. + Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"` + // Contains files and their contents which can be used in DSN. + TextFiles *TextFiles `protobuf:"bytes,4,opt,name=text_files,json=textFiles,proto3" json:"text_files,omitempty"` + // TLS certificate wont be verified. + TlsSkipVerify bool `protobuf:"varint,5,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty"` +} + +func (x *ServiceInfoRequest) Reset() { + *x = ServiceInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_agentpb_agent_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceInfoRequest) ProtoMessage() {} + +func (x *ServiceInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_agentpb_agent_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceInfoRequest.ProtoReflect.Descriptor instead. +func (*ServiceInfoRequest) Descriptor() ([]byte, []int) { + return file_agentpb_agent_proto_rawDescGZIP(), []int{26} +} + +func (x *ServiceInfoRequest) GetType() inventorypb.ServiceType { + if x != nil { + return x.Type + } + return inventorypb.ServiceType(0) +} + +func (x *ServiceInfoRequest) GetDsn() string { + if x != nil { + return x.Dsn + } + return "" +} + +func (x *ServiceInfoRequest) GetTimeout() *durationpb.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *ServiceInfoRequest) GetTextFiles() *TextFiles { + if x != nil { + return x.TextFiles + } + return nil +} + +func (x *ServiceInfoRequest) GetTlsSkipVerify() bool { + if x != nil { + return x.TlsSkipVerify + } + return false +} + +// ServiceInfoResponse is an AgentMessage containing information gathered from a service. +type ServiceInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Error message if the request failed. + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + // A number of MySQL tables, 0 if unknown. + TableCount int32 `protobuf:"varint,2,opt,name=table_count,json=tableCount,proto3" json:"table_count,omitempty"` + // Database server version. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *ServiceInfoResponse) Reset() { + *x = ServiceInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_agentpb_agent_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceInfoResponse) ProtoMessage() {} + +func (x *ServiceInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_agentpb_agent_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceInfoResponse.ProtoReflect.Descriptor instead. +func (*ServiceInfoResponse) Descriptor() ([]byte, []int) { + return file_agentpb_agent_proto_rawDescGZIP(), []int{27} +} + +func (x *ServiceInfoResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *ServiceInfoResponse) GetTableCount() int32 { + if x != nil { + return x.TableCount + } + return 0 +} + +func (x *ServiceInfoResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + // JobStatusRequest is a ServerMessage asking pmm-agent for job status. type JobStatusRequest struct { state protoimpl.MessageState @@ -1990,7 +2142,7 @@ type JobStatusRequest struct { func (x *JobStatusRequest) Reset() { *x = JobStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[26] + mi := &file_agentpb_agent_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2003,7 +2155,7 @@ func (x *JobStatusRequest) String() string { func (*JobStatusRequest) ProtoMessage() {} func (x *JobStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[26] + mi := &file_agentpb_agent_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2016,7 +2168,7 @@ func (x *JobStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use JobStatusRequest.ProtoReflect.Descriptor instead. func (*JobStatusRequest) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{26} + return file_agentpb_agent_proto_rawDescGZIP(), []int{28} } func (x *JobStatusRequest) GetJobId() string { @@ -2038,7 +2190,7 @@ type JobStatusResponse struct { func (x *JobStatusResponse) Reset() { *x = JobStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[27] + mi := &file_agentpb_agent_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2051,7 +2203,7 @@ func (x *JobStatusResponse) String() string { func (*JobStatusResponse) ProtoMessage() {} func (x *JobStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[27] + mi := &file_agentpb_agent_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2064,7 +2216,7 @@ func (x *JobStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use JobStatusResponse.ProtoReflect.Descriptor instead. func (*JobStatusResponse) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{27} + return file_agentpb_agent_proto_rawDescGZIP(), []int{29} } func (x *JobStatusResponse) GetAlive() bool { @@ -2090,7 +2242,7 @@ type S3LocationConfig struct { func (x *S3LocationConfig) Reset() { *x = S3LocationConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[28] + mi := &file_agentpb_agent_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2103,7 +2255,7 @@ func (x *S3LocationConfig) String() string { func (*S3LocationConfig) ProtoMessage() {} func (x *S3LocationConfig) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[28] + mi := &file_agentpb_agent_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2116,7 +2268,7 @@ func (x *S3LocationConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use S3LocationConfig.ProtoReflect.Descriptor instead. func (*S3LocationConfig) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{28} + return file_agentpb_agent_proto_rawDescGZIP(), []int{30} } func (x *S3LocationConfig) GetEndpoint() string { @@ -2166,7 +2318,7 @@ type FilesystemLocationConfig struct { func (x *FilesystemLocationConfig) Reset() { *x = FilesystemLocationConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[29] + mi := &file_agentpb_agent_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2179,7 +2331,7 @@ func (x *FilesystemLocationConfig) String() string { func (*FilesystemLocationConfig) ProtoMessage() {} func (x *FilesystemLocationConfig) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[29] + mi := &file_agentpb_agent_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2192,7 +2344,7 @@ func (x *FilesystemLocationConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use FilesystemLocationConfig.ProtoReflect.Descriptor instead. func (*FilesystemLocationConfig) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{29} + return file_agentpb_agent_proto_rawDescGZIP(), []int{31} } func (x *FilesystemLocationConfig) GetPath() string { @@ -2223,7 +2375,7 @@ type StartJobRequest struct { func (x *StartJobRequest) Reset() { *x = StartJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[30] + mi := &file_agentpb_agent_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2236,7 +2388,7 @@ func (x *StartJobRequest) String() string { func (*StartJobRequest) ProtoMessage() {} func (x *StartJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[30] + mi := &file_agentpb_agent_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2249,7 +2401,7 @@ func (x *StartJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartJobRequest.ProtoReflect.Descriptor instead. func (*StartJobRequest) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{30} + return file_agentpb_agent_proto_rawDescGZIP(), []int{32} } func (x *StartJobRequest) GetJobId() string { @@ -2341,7 +2493,7 @@ type StartJobResponse struct { func (x *StartJobResponse) Reset() { *x = StartJobResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[31] + mi := &file_agentpb_agent_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2354,7 +2506,7 @@ func (x *StartJobResponse) String() string { func (*StartJobResponse) ProtoMessage() {} func (x *StartJobResponse) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[31] + mi := &file_agentpb_agent_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2367,7 +2519,7 @@ func (x *StartJobResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StartJobResponse.ProtoReflect.Descriptor instead. func (*StartJobResponse) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{31} + return file_agentpb_agent_proto_rawDescGZIP(), []int{33} } func (x *StartJobResponse) GetError() string { @@ -2389,7 +2541,7 @@ type StopJobRequest struct { func (x *StopJobRequest) Reset() { *x = StopJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[32] + mi := &file_agentpb_agent_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2402,7 +2554,7 @@ func (x *StopJobRequest) String() string { func (*StopJobRequest) ProtoMessage() {} func (x *StopJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[32] + mi := &file_agentpb_agent_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2415,7 +2567,7 @@ func (x *StopJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopJobRequest.ProtoReflect.Descriptor instead. func (*StopJobRequest) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{32} + return file_agentpb_agent_proto_rawDescGZIP(), []int{34} } func (x *StopJobRequest) GetJobId() string { @@ -2435,7 +2587,7 @@ type StopJobResponse struct { func (x *StopJobResponse) Reset() { *x = StopJobResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[33] + mi := &file_agentpb_agent_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2448,7 +2600,7 @@ func (x *StopJobResponse) String() string { func (*StopJobResponse) ProtoMessage() {} func (x *StopJobResponse) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[33] + mi := &file_agentpb_agent_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2461,7 +2613,7 @@ func (x *StopJobResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StopJobResponse.ProtoReflect.Descriptor instead. func (*StopJobResponse) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{33} + return file_agentpb_agent_proto_rawDescGZIP(), []int{35} } // JobResult represents job result. @@ -2485,7 +2637,7 @@ type JobResult struct { func (x *JobResult) Reset() { *x = JobResult{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[34] + mi := &file_agentpb_agent_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2498,7 +2650,7 @@ func (x *JobResult) String() string { func (*JobResult) ProtoMessage() {} func (x *JobResult) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[34] + mi := &file_agentpb_agent_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2511,7 +2663,7 @@ func (x *JobResult) ProtoReflect() protoreflect.Message { // Deprecated: Use JobResult.ProtoReflect.Descriptor instead. func (*JobResult) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{34} + return file_agentpb_agent_proto_rawDescGZIP(), []int{36} } func (x *JobResult) GetJobId() string { @@ -2623,7 +2775,7 @@ type JobProgress struct { func (x *JobProgress) Reset() { *x = JobProgress{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[35] + mi := &file_agentpb_agent_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2636,7 +2788,7 @@ func (x *JobProgress) String() string { func (*JobProgress) ProtoMessage() {} func (x *JobProgress) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[35] + mi := &file_agentpb_agent_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2649,7 +2801,7 @@ func (x *JobProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use JobProgress.ProtoReflect.Descriptor instead. func (*JobProgress) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{35} + return file_agentpb_agent_proto_rawDescGZIP(), []int{37} } func (x *JobProgress) GetJobId() string { @@ -2728,7 +2880,7 @@ type GetVersionsRequest struct { func (x *GetVersionsRequest) Reset() { *x = GetVersionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[36] + mi := &file_agentpb_agent_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2741,7 +2893,7 @@ func (x *GetVersionsRequest) String() string { func (*GetVersionsRequest) ProtoMessage() {} func (x *GetVersionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[36] + mi := &file_agentpb_agent_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2754,7 +2906,7 @@ func (x *GetVersionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest.ProtoReflect.Descriptor instead. func (*GetVersionsRequest) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38} } func (x *GetVersionsRequest) GetSoftwares() []*GetVersionsRequest_Software { @@ -2776,7 +2928,7 @@ type GetVersionsResponse struct { func (x *GetVersionsResponse) Reset() { *x = GetVersionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[37] + mi := &file_agentpb_agent_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2789,7 +2941,7 @@ func (x *GetVersionsResponse) String() string { func (*GetVersionsResponse) ProtoMessage() {} func (x *GetVersionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[37] + mi := &file_agentpb_agent_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2802,7 +2954,7 @@ func (x *GetVersionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsResponse.ProtoReflect.Descriptor instead. func (*GetVersionsResponse) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{37} + return file_agentpb_agent_proto_rawDescGZIP(), []int{39} } func (x *GetVersionsResponse) GetVersions() []*GetVersionsResponse_Version { @@ -2843,13 +2995,14 @@ type AgentMessage struct { // *AgentMessage_GetVersions // *AgentMessage_PbmSwitchPitr // *AgentMessage_AgentLogs + // *AgentMessage_ServiceInfo Payload isAgentMessage_Payload `protobuf_oneof:"payload"` } func (x *AgentMessage) Reset() { *x = AgentMessage{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[38] + mi := &file_agentpb_agent_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2862,7 +3015,7 @@ func (x *AgentMessage) String() string { func (*AgentMessage) ProtoMessage() {} func (x *AgentMessage) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[38] + mi := &file_agentpb_agent_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2875,7 +3028,7 @@ func (x *AgentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentMessage.ProtoReflect.Descriptor instead. func (*AgentMessage) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{38} + return file_agentpb_agent_proto_rawDescGZIP(), []int{40} } func (x *AgentMessage) GetId() uint32 { @@ -3018,6 +3171,13 @@ func (x *AgentMessage) GetAgentLogs() *AgentLogsResponse { return nil } +func (x *AgentMessage) GetServiceInfo() *ServiceInfoResponse { + if x, ok := x.GetPayload().(*AgentMessage_ServiceInfo); ok { + return x.ServiceInfo + } + return nil +} + type isAgentMessage_Payload interface { isAgentMessage_Payload() } @@ -3092,6 +3252,10 @@ type AgentMessage_AgentLogs struct { AgentLogs *AgentLogsResponse `protobuf:"bytes,21,opt,name=agent_logs,json=agentLogs,proto3,oneof"` } +type AgentMessage_ServiceInfo struct { + ServiceInfo *ServiceInfoResponse `protobuf:"bytes,22,opt,name=service_info,json=serviceInfo,proto3,oneof"` +} + func (*AgentMessage_Ping) isAgentMessage_Payload() {} func (*AgentMessage_StateChanged) isAgentMessage_Payload() {} @@ -3126,6 +3290,8 @@ func (*AgentMessage_PbmSwitchPitr) isAgentMessage_Payload() {} func (*AgentMessage_AgentLogs) isAgentMessage_Payload() {} +func (*AgentMessage_ServiceInfo) isAgentMessage_Payload() {} + type ServerMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3155,13 +3321,14 @@ type ServerMessage struct { // *ServerMessage_GetVersions // *ServerMessage_PbmSwitchPitr // *ServerMessage_AgentLogs + // *ServerMessage_ServiceInfo Payload isServerMessage_Payload `protobuf_oneof:"payload"` } func (x *ServerMessage) Reset() { *x = ServerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[39] + mi := &file_agentpb_agent_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3174,7 +3341,7 @@ func (x *ServerMessage) String() string { func (*ServerMessage) ProtoMessage() {} func (x *ServerMessage) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[39] + mi := &file_agentpb_agent_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3187,7 +3354,7 @@ func (x *ServerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMessage.ProtoReflect.Descriptor instead. func (*ServerMessage) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{39} + return file_agentpb_agent_proto_rawDescGZIP(), []int{41} } func (x *ServerMessage) GetId() uint32 { @@ -3316,6 +3483,13 @@ func (x *ServerMessage) GetAgentLogs() *AgentLogsRequest { return nil } +func (x *ServerMessage) GetServiceInfo() *ServiceInfoRequest { + if x, ok := x.GetPayload().(*ServerMessage_ServiceInfo); ok { + return x.ServiceInfo + } + return nil +} + type isServerMessage_Payload interface { isServerMessage_Payload() } @@ -3382,6 +3556,10 @@ type ServerMessage_AgentLogs struct { AgentLogs *AgentLogsRequest `protobuf:"bytes,19,opt,name=agent_logs,json=agentLogs,proto3,oneof"` } +type ServerMessage_ServiceInfo struct { + ServiceInfo *ServiceInfoRequest `protobuf:"bytes,20,opt,name=service_info,json=serviceInfo,proto3,oneof"` +} + func (*ServerMessage_Pong) isServerMessage_Payload() {} func (*ServerMessage_StateChanged) isServerMessage_Payload() {} @@ -3412,6 +3590,8 @@ func (*ServerMessage_PbmSwitchPitr) isServerMessage_Payload() {} func (*ServerMessage_AgentLogs) isServerMessage_Payload() {} +func (*ServerMessage_ServiceInfo) isServerMessage_Payload() {} + // AgentProcess describes desired configuration of a single agent process started by pmm-agent. type SetStateRequest_AgentProcess struct { state protoimpl.MessageState @@ -3430,7 +3610,7 @@ type SetStateRequest_AgentProcess struct { func (x *SetStateRequest_AgentProcess) Reset() { *x = SetStateRequest_AgentProcess{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[41] + mi := &file_agentpb_agent_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3443,7 +3623,7 @@ func (x *SetStateRequest_AgentProcess) String() string { func (*SetStateRequest_AgentProcess) ProtoMessage() {} func (x *SetStateRequest_AgentProcess) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[41] + mi := &file_agentpb_agent_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3535,7 +3715,7 @@ type SetStateRequest_BuiltinAgent struct { func (x *SetStateRequest_BuiltinAgent) Reset() { *x = SetStateRequest_BuiltinAgent{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[43] + mi := &file_agentpb_agent_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3548,7 +3728,7 @@ func (x *SetStateRequest_BuiltinAgent) String() string { func (*SetStateRequest_BuiltinAgent) ProtoMessage() {} func (x *SetStateRequest_BuiltinAgent) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[43] + mi := &file_agentpb_agent_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3648,7 +3828,7 @@ type StartActionRequest_MySQLExplainParams struct { func (x *StartActionRequest_MySQLExplainParams) Reset() { *x = StartActionRequest_MySQLExplainParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[47] + mi := &file_agentpb_agent_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3661,7 +3841,7 @@ func (x *StartActionRequest_MySQLExplainParams) String() string { func (*StartActionRequest_MySQLExplainParams) ProtoMessage() {} func (x *StartActionRequest_MySQLExplainParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[47] + mi := &file_agentpb_agent_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3744,7 +3924,7 @@ type StartActionRequest_MySQLShowCreateTableParams struct { func (x *StartActionRequest_MySQLShowCreateTableParams) Reset() { *x = StartActionRequest_MySQLShowCreateTableParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[48] + mi := &file_agentpb_agent_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3757,7 +3937,7 @@ func (x *StartActionRequest_MySQLShowCreateTableParams) String() string { func (*StartActionRequest_MySQLShowCreateTableParams) ProtoMessage() {} func (x *StartActionRequest_MySQLShowCreateTableParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[48] + mi := &file_agentpb_agent_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3819,7 +3999,7 @@ type StartActionRequest_MySQLShowTableStatusParams struct { func (x *StartActionRequest_MySQLShowTableStatusParams) Reset() { *x = StartActionRequest_MySQLShowTableStatusParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[49] + mi := &file_agentpb_agent_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3832,7 +4012,7 @@ func (x *StartActionRequest_MySQLShowTableStatusParams) String() string { func (*StartActionRequest_MySQLShowTableStatusParams) ProtoMessage() {} func (x *StartActionRequest_MySQLShowTableStatusParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[49] + mi := &file_agentpb_agent_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3894,7 +4074,7 @@ type StartActionRequest_MySQLShowIndexParams struct { func (x *StartActionRequest_MySQLShowIndexParams) Reset() { *x = StartActionRequest_MySQLShowIndexParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[50] + mi := &file_agentpb_agent_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3907,7 +4087,7 @@ func (x *StartActionRequest_MySQLShowIndexParams) String() string { func (*StartActionRequest_MySQLShowIndexParams) ProtoMessage() {} func (x *StartActionRequest_MySQLShowIndexParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[50] + mi := &file_agentpb_agent_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3969,7 +4149,7 @@ type StartActionRequest_PostgreSQLShowCreateTableParams struct { func (x *StartActionRequest_PostgreSQLShowCreateTableParams) Reset() { *x = StartActionRequest_PostgreSQLShowCreateTableParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[51] + mi := &file_agentpb_agent_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3982,7 +4162,7 @@ func (x *StartActionRequest_PostgreSQLShowCreateTableParams) String() string { func (*StartActionRequest_PostgreSQLShowCreateTableParams) ProtoMessage() {} func (x *StartActionRequest_PostgreSQLShowCreateTableParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[51] + mi := &file_agentpb_agent_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4044,7 +4224,7 @@ type StartActionRequest_PostgreSQLShowIndexParams struct { func (x *StartActionRequest_PostgreSQLShowIndexParams) Reset() { *x = StartActionRequest_PostgreSQLShowIndexParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[52] + mi := &file_agentpb_agent_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4057,7 +4237,7 @@ func (x *StartActionRequest_PostgreSQLShowIndexParams) String() string { func (*StartActionRequest_PostgreSQLShowIndexParams) ProtoMessage() {} func (x *StartActionRequest_PostgreSQLShowIndexParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[52] + mi := &file_agentpb_agent_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4118,7 +4298,7 @@ type StartActionRequest_MongoDBExplainParams struct { func (x *StartActionRequest_MongoDBExplainParams) Reset() { *x = StartActionRequest_MongoDBExplainParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[53] + mi := &file_agentpb_agent_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4131,7 +4311,7 @@ func (x *StartActionRequest_MongoDBExplainParams) String() string { func (*StartActionRequest_MongoDBExplainParams) ProtoMessage() {} func (x *StartActionRequest_MongoDBExplainParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[53] + mi := &file_agentpb_agent_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4178,7 +4358,7 @@ type StartActionRequest_PTSummaryParams struct { func (x *StartActionRequest_PTSummaryParams) Reset() { *x = StartActionRequest_PTSummaryParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[54] + mi := &file_agentpb_agent_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4191,7 +4371,7 @@ func (x *StartActionRequest_PTSummaryParams) String() string { func (*StartActionRequest_PTSummaryParams) ProtoMessage() {} func (x *StartActionRequest_PTSummaryParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[54] + mi := &file_agentpb_agent_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4222,7 +4402,7 @@ type StartActionRequest_PTPgSummaryParams struct { func (x *StartActionRequest_PTPgSummaryParams) Reset() { *x = StartActionRequest_PTPgSummaryParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[55] + mi := &file_agentpb_agent_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4235,7 +4415,7 @@ func (x *StartActionRequest_PTPgSummaryParams) String() string { func (*StartActionRequest_PTPgSummaryParams) ProtoMessage() {} func (x *StartActionRequest_PTPgSummaryParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[55] + mi := &file_agentpb_agent_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4294,7 +4474,7 @@ type StartActionRequest_PTMongoDBSummaryParams struct { func (x *StartActionRequest_PTMongoDBSummaryParams) Reset() { *x = StartActionRequest_PTMongoDBSummaryParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[56] + mi := &file_agentpb_agent_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4307,7 +4487,7 @@ func (x *StartActionRequest_PTMongoDBSummaryParams) String() string { func (*StartActionRequest_PTMongoDBSummaryParams) ProtoMessage() {} func (x *StartActionRequest_PTMongoDBSummaryParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[56] + mi := &file_agentpb_agent_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4367,7 +4547,7 @@ type StartActionRequest_PTMySQLSummaryParams struct { func (x *StartActionRequest_PTMySQLSummaryParams) Reset() { *x = StartActionRequest_PTMySQLSummaryParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[57] + mi := &file_agentpb_agent_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4380,7 +4560,7 @@ func (x *StartActionRequest_PTMySQLSummaryParams) String() string { func (*StartActionRequest_PTMySQLSummaryParams) ProtoMessage() {} func (x *StartActionRequest_PTMySQLSummaryParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[57] + mi := &file_agentpb_agent_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4450,7 +4630,7 @@ type StartActionRequest_MySQLQueryShowParams struct { func (x *StartActionRequest_MySQLQueryShowParams) Reset() { *x = StartActionRequest_MySQLQueryShowParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[58] + mi := &file_agentpb_agent_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4463,7 +4643,7 @@ func (x *StartActionRequest_MySQLQueryShowParams) String() string { func (*StartActionRequest_MySQLQueryShowParams) ProtoMessage() {} func (x *StartActionRequest_MySQLQueryShowParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[58] + mi := &file_agentpb_agent_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4526,7 +4706,7 @@ type StartActionRequest_MySQLQuerySelectParams struct { func (x *StartActionRequest_MySQLQuerySelectParams) Reset() { *x = StartActionRequest_MySQLQuerySelectParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[59] + mi := &file_agentpb_agent_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4539,7 +4719,7 @@ func (x *StartActionRequest_MySQLQuerySelectParams) String() string { func (*StartActionRequest_MySQLQuerySelectParams) ProtoMessage() {} func (x *StartActionRequest_MySQLQuerySelectParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[59] + mi := &file_agentpb_agent_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4600,7 +4780,7 @@ type StartActionRequest_PostgreSQLQueryShowParams struct { func (x *StartActionRequest_PostgreSQLQueryShowParams) Reset() { *x = StartActionRequest_PostgreSQLQueryShowParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[60] + mi := &file_agentpb_agent_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4613,7 +4793,7 @@ func (x *StartActionRequest_PostgreSQLQueryShowParams) String() string { func (*StartActionRequest_PostgreSQLQueryShowParams) ProtoMessage() {} func (x *StartActionRequest_PostgreSQLQueryShowParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[60] + mi := &file_agentpb_agent_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4669,7 +4849,7 @@ type StartActionRequest_PostgreSQLQuerySelectParams struct { func (x *StartActionRequest_PostgreSQLQuerySelectParams) Reset() { *x = StartActionRequest_PostgreSQLQuerySelectParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[61] + mi := &file_agentpb_agent_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4682,7 +4862,7 @@ func (x *StartActionRequest_PostgreSQLQuerySelectParams) String() string { func (*StartActionRequest_PostgreSQLQuerySelectParams) ProtoMessage() {} func (x *StartActionRequest_PostgreSQLQuerySelectParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[61] + mi := &file_agentpb_agent_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4742,7 +4922,7 @@ type StartActionRequest_MongoDBQueryGetParameterParams struct { func (x *StartActionRequest_MongoDBQueryGetParameterParams) Reset() { *x = StartActionRequest_MongoDBQueryGetParameterParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[62] + mi := &file_agentpb_agent_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4755,7 +4935,7 @@ func (x *StartActionRequest_MongoDBQueryGetParameterParams) String() string { func (*StartActionRequest_MongoDBQueryGetParameterParams) ProtoMessage() {} func (x *StartActionRequest_MongoDBQueryGetParameterParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[62] + mi := &file_agentpb_agent_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4801,7 +4981,7 @@ type StartActionRequest_MongoDBQueryBuildInfoParams struct { func (x *StartActionRequest_MongoDBQueryBuildInfoParams) Reset() { *x = StartActionRequest_MongoDBQueryBuildInfoParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[63] + mi := &file_agentpb_agent_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4814,7 +4994,7 @@ func (x *StartActionRequest_MongoDBQueryBuildInfoParams) String() string { func (*StartActionRequest_MongoDBQueryBuildInfoParams) ProtoMessage() {} func (x *StartActionRequest_MongoDBQueryBuildInfoParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[63] + mi := &file_agentpb_agent_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4860,7 +5040,7 @@ type StartActionRequest_MongoDBQueryGetCmdLineOptsParams struct { func (x *StartActionRequest_MongoDBQueryGetCmdLineOptsParams) Reset() { *x = StartActionRequest_MongoDBQueryGetCmdLineOptsParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[64] + mi := &file_agentpb_agent_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4873,7 +5053,7 @@ func (x *StartActionRequest_MongoDBQueryGetCmdLineOptsParams) String() string { func (*StartActionRequest_MongoDBQueryGetCmdLineOptsParams) ProtoMessage() {} func (x *StartActionRequest_MongoDBQueryGetCmdLineOptsParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[64] + mi := &file_agentpb_agent_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4919,7 +5099,7 @@ type StartActionRequest_MongoDBQueryReplSetGetStatusParams struct { func (x *StartActionRequest_MongoDBQueryReplSetGetStatusParams) Reset() { *x = StartActionRequest_MongoDBQueryReplSetGetStatusParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[65] + mi := &file_agentpb_agent_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4932,7 +5112,7 @@ func (x *StartActionRequest_MongoDBQueryReplSetGetStatusParams) String() string func (*StartActionRequest_MongoDBQueryReplSetGetStatusParams) ProtoMessage() {} func (x *StartActionRequest_MongoDBQueryReplSetGetStatusParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[65] + mi := &file_agentpb_agent_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4978,7 +5158,7 @@ type StartActionRequest_MongoDBQueryGetDiagnosticDataParams struct { func (x *StartActionRequest_MongoDBQueryGetDiagnosticDataParams) Reset() { *x = StartActionRequest_MongoDBQueryGetDiagnosticDataParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[66] + mi := &file_agentpb_agent_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4991,7 +5171,7 @@ func (x *StartActionRequest_MongoDBQueryGetDiagnosticDataParams) String() string func (*StartActionRequest_MongoDBQueryGetDiagnosticDataParams) ProtoMessage() {} func (x *StartActionRequest_MongoDBQueryGetDiagnosticDataParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[66] + mi := &file_agentpb_agent_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5033,7 +5213,7 @@ type StartActionRequest_RestartSystemServiceParams struct { func (x *StartActionRequest_RestartSystemServiceParams) Reset() { *x = StartActionRequest_RestartSystemServiceParams{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[67] + mi := &file_agentpb_agent_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5046,7 +5226,7 @@ func (x *StartActionRequest_RestartSystemServiceParams) String() string { func (*StartActionRequest_RestartSystemServiceParams) ProtoMessage() {} func (x *StartActionRequest_RestartSystemServiceParams) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[67] + mi := &file_agentpb_agent_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5083,7 +5263,7 @@ type CheckConnectionResponse_Stats struct { func (x *CheckConnectionResponse_Stats) Reset() { *x = CheckConnectionResponse_Stats{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[68] + mi := &file_agentpb_agent_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5096,7 +5276,7 @@ func (x *CheckConnectionResponse_Stats) String() string { func (*CheckConnectionResponse_Stats) ProtoMessage() {} func (x *CheckConnectionResponse_Stats) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[68] + mi := &file_agentpb_agent_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5157,7 +5337,7 @@ type StartJobRequest_MySQLBackup struct { func (x *StartJobRequest_MySQLBackup) Reset() { *x = StartJobRequest_MySQLBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[69] + mi := &file_agentpb_agent_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5170,7 +5350,7 @@ func (x *StartJobRequest_MySQLBackup) String() string { func (*StartJobRequest_MySQLBackup) ProtoMessage() {} func (x *StartJobRequest_MySQLBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[69] + mi := &file_agentpb_agent_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5183,7 +5363,7 @@ func (x *StartJobRequest_MySQLBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use StartJobRequest_MySQLBackup.ProtoReflect.Descriptor instead. func (*StartJobRequest_MySQLBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{30, 0} + return file_agentpb_agent_proto_rawDescGZIP(), []int{32, 0} } func (x *StartJobRequest_MySQLBackup) GetUser() string { @@ -5282,7 +5462,7 @@ type StartJobRequest_MySQLRestoreBackup struct { func (x *StartJobRequest_MySQLRestoreBackup) Reset() { *x = StartJobRequest_MySQLRestoreBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[70] + mi := &file_agentpb_agent_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5295,7 +5475,7 @@ func (x *StartJobRequest_MySQLRestoreBackup) String() string { func (*StartJobRequest_MySQLRestoreBackup) ProtoMessage() {} func (x *StartJobRequest_MySQLRestoreBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[70] + mi := &file_agentpb_agent_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5308,7 +5488,7 @@ func (x *StartJobRequest_MySQLRestoreBackup) ProtoReflect() protoreflect.Message // Deprecated: Use StartJobRequest_MySQLRestoreBackup.ProtoReflect.Descriptor instead. func (*StartJobRequest_MySQLRestoreBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{30, 1} + return file_agentpb_agent_proto_rawDescGZIP(), []int{32, 1} } func (x *StartJobRequest_MySQLRestoreBackup) GetServiceId() string { @@ -5408,7 +5588,7 @@ type StartJobRequest_MongoDBBackup struct { func (x *StartJobRequest_MongoDBBackup) Reset() { *x = StartJobRequest_MongoDBBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[71] + mi := &file_agentpb_agent_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5421,7 +5601,7 @@ func (x *StartJobRequest_MongoDBBackup) String() string { func (*StartJobRequest_MongoDBBackup) ProtoMessage() {} func (x *StartJobRequest_MongoDBBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[71] + mi := &file_agentpb_agent_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5434,7 +5614,7 @@ func (x *StartJobRequest_MongoDBBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use StartJobRequest_MongoDBBackup.ProtoReflect.Descriptor instead. func (*StartJobRequest_MongoDBBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{30, 2} + return file_agentpb_agent_proto_rawDescGZIP(), []int{32, 2} } // Deprecated: Marked as deprecated in agentpb/agent.proto. @@ -5608,7 +5788,7 @@ type StartJobRequest_MongoDBRestoreBackup struct { func (x *StartJobRequest_MongoDBRestoreBackup) Reset() { *x = StartJobRequest_MongoDBRestoreBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[72] + mi := &file_agentpb_agent_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5621,7 +5801,7 @@ func (x *StartJobRequest_MongoDBRestoreBackup) String() string { func (*StartJobRequest_MongoDBRestoreBackup) ProtoMessage() {} func (x *StartJobRequest_MongoDBRestoreBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[72] + mi := &file_agentpb_agent_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5634,7 +5814,7 @@ func (x *StartJobRequest_MongoDBRestoreBackup) ProtoReflect() protoreflect.Messa // Deprecated: Use StartJobRequest_MongoDBRestoreBackup.ProtoReflect.Descriptor instead. func (*StartJobRequest_MongoDBRestoreBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{30, 3} + return file_agentpb_agent_proto_rawDescGZIP(), []int{32, 3} } // Deprecated: Marked as deprecated in agentpb/agent.proto. @@ -5770,7 +5950,7 @@ type JobResult_Error struct { func (x *JobResult_Error) Reset() { *x = JobResult_Error{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[73] + mi := &file_agentpb_agent_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5783,7 +5963,7 @@ func (x *JobResult_Error) String() string { func (*JobResult_Error) ProtoMessage() {} func (x *JobResult_Error) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[73] + mi := &file_agentpb_agent_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5796,7 +5976,7 @@ func (x *JobResult_Error) ProtoReflect() protoreflect.Message { // Deprecated: Use JobResult_Error.ProtoReflect.Descriptor instead. func (*JobResult_Error) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{34, 0} + return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 0} } func (x *JobResult_Error) GetMessage() string { @@ -5820,7 +6000,7 @@ type JobResult_MongoDBBackup struct { func (x *JobResult_MongoDBBackup) Reset() { *x = JobResult_MongoDBBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[74] + mi := &file_agentpb_agent_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5833,7 +6013,7 @@ func (x *JobResult_MongoDBBackup) String() string { func (*JobResult_MongoDBBackup) ProtoMessage() {} func (x *JobResult_MongoDBBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[74] + mi := &file_agentpb_agent_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5846,7 +6026,7 @@ func (x *JobResult_MongoDBBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use JobResult_MongoDBBackup.ProtoReflect.Descriptor instead. func (*JobResult_MongoDBBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{34, 1} + return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 1} } func (x *JobResult_MongoDBBackup) GetIsShardedCluster() bool { @@ -5876,7 +6056,7 @@ type JobResult_MySQLBackup struct { func (x *JobResult_MySQLBackup) Reset() { *x = JobResult_MySQLBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[75] + mi := &file_agentpb_agent_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5889,7 +6069,7 @@ func (x *JobResult_MySQLBackup) String() string { func (*JobResult_MySQLBackup) ProtoMessage() {} func (x *JobResult_MySQLBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[75] + mi := &file_agentpb_agent_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5902,7 +6082,7 @@ func (x *JobResult_MySQLBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use JobResult_MySQLBackup.ProtoReflect.Descriptor instead. func (*JobResult_MySQLBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{34, 2} + return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 2} } func (x *JobResult_MySQLBackup) GetMetadata() *backup.Metadata { @@ -5922,7 +6102,7 @@ type JobResult_MySQLRestoreBackup struct { func (x *JobResult_MySQLRestoreBackup) Reset() { *x = JobResult_MySQLRestoreBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[76] + mi := &file_agentpb_agent_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5935,7 +6115,7 @@ func (x *JobResult_MySQLRestoreBackup) String() string { func (*JobResult_MySQLRestoreBackup) ProtoMessage() {} func (x *JobResult_MySQLRestoreBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[76] + mi := &file_agentpb_agent_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5948,7 +6128,7 @@ func (x *JobResult_MySQLRestoreBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use JobResult_MySQLRestoreBackup.ProtoReflect.Descriptor instead. func (*JobResult_MySQLRestoreBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{34, 3} + return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 3} } // MongoDBRestoreBackup contains result for MongoDB restore backup job. @@ -5961,7 +6141,7 @@ type JobResult_MongoDBRestoreBackup struct { func (x *JobResult_MongoDBRestoreBackup) Reset() { *x = JobResult_MongoDBRestoreBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[77] + mi := &file_agentpb_agent_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5974,7 +6154,7 @@ func (x *JobResult_MongoDBRestoreBackup) String() string { func (*JobResult_MongoDBRestoreBackup) ProtoMessage() {} func (x *JobResult_MongoDBRestoreBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[77] + mi := &file_agentpb_agent_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5987,7 +6167,7 @@ func (x *JobResult_MongoDBRestoreBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use JobResult_MongoDBRestoreBackup.ProtoReflect.Descriptor instead. func (*JobResult_MongoDBRestoreBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{34, 4} + return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 4} } // MySQLBackup contains backup job status update. @@ -6000,7 +6180,7 @@ type JobProgress_MySQLBackup struct { func (x *JobProgress_MySQLBackup) Reset() { *x = JobProgress_MySQLBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[78] + mi := &file_agentpb_agent_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6013,7 +6193,7 @@ func (x *JobProgress_MySQLBackup) String() string { func (*JobProgress_MySQLBackup) ProtoMessage() {} func (x *JobProgress_MySQLBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[78] + mi := &file_agentpb_agent_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6026,7 +6206,7 @@ func (x *JobProgress_MySQLBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use JobProgress_MySQLBackup.ProtoReflect.Descriptor instead. func (*JobProgress_MySQLBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{35, 0} + return file_agentpb_agent_proto_rawDescGZIP(), []int{37, 0} } // MySQLRestoreBackup contains restore backup job status update. @@ -6039,7 +6219,7 @@ type JobProgress_MySQLRestoreBackup struct { func (x *JobProgress_MySQLRestoreBackup) Reset() { *x = JobProgress_MySQLRestoreBackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[79] + mi := &file_agentpb_agent_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6052,7 +6232,7 @@ func (x *JobProgress_MySQLRestoreBackup) String() string { func (*JobProgress_MySQLRestoreBackup) ProtoMessage() {} func (x *JobProgress_MySQLRestoreBackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[79] + mi := &file_agentpb_agent_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6065,7 +6245,7 @@ func (x *JobProgress_MySQLRestoreBackup) ProtoReflect() protoreflect.Message { // Deprecated: Use JobProgress_MySQLRestoreBackup.ProtoReflect.Descriptor instead. func (*JobProgress_MySQLRestoreBackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{35, 1} + return file_agentpb_agent_proto_rawDescGZIP(), []int{37, 1} } // Logs contains generic logs from job. @@ -6082,7 +6262,7 @@ type JobProgress_Logs struct { func (x *JobProgress_Logs) Reset() { *x = JobProgress_Logs{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[80] + mi := &file_agentpb_agent_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6095,7 +6275,7 @@ func (x *JobProgress_Logs) String() string { func (*JobProgress_Logs) ProtoMessage() {} func (x *JobProgress_Logs) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[80] + mi := &file_agentpb_agent_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6108,7 +6288,7 @@ func (x *JobProgress_Logs) ProtoReflect() protoreflect.Message { // Deprecated: Use JobProgress_Logs.ProtoReflect.Descriptor instead. func (*JobProgress_Logs) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{35, 2} + return file_agentpb_agent_proto_rawDescGZIP(), []int{37, 2} } func (x *JobProgress_Logs) GetChunkId() uint32 { @@ -6142,7 +6322,7 @@ type GetVersionsRequest_MySQLd struct { func (x *GetVersionsRequest_MySQLd) Reset() { *x = GetVersionsRequest_MySQLd{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[81] + mi := &file_agentpb_agent_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6155,7 +6335,7 @@ func (x *GetVersionsRequest_MySQLd) String() string { func (*GetVersionsRequest_MySQLd) ProtoMessage() {} func (x *GetVersionsRequest_MySQLd) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[81] + mi := &file_agentpb_agent_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6168,7 +6348,7 @@ func (x *GetVersionsRequest_MySQLd) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_MySQLd.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_MySQLd) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 0} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 0} } // Xtrabackup is used for xtrabackup binary version retrieving. @@ -6181,7 +6361,7 @@ type GetVersionsRequest_Xtrabackup struct { func (x *GetVersionsRequest_Xtrabackup) Reset() { *x = GetVersionsRequest_Xtrabackup{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[82] + mi := &file_agentpb_agent_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6194,7 +6374,7 @@ func (x *GetVersionsRequest_Xtrabackup) String() string { func (*GetVersionsRequest_Xtrabackup) ProtoMessage() {} func (x *GetVersionsRequest_Xtrabackup) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[82] + mi := &file_agentpb_agent_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6207,7 +6387,7 @@ func (x *GetVersionsRequest_Xtrabackup) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_Xtrabackup.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_Xtrabackup) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 1} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 1} } // Xbcloud is used for xbcloud binary version retrieving. @@ -6220,7 +6400,7 @@ type GetVersionsRequest_Xbcloud struct { func (x *GetVersionsRequest_Xbcloud) Reset() { *x = GetVersionsRequest_Xbcloud{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[83] + mi := &file_agentpb_agent_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6233,7 +6413,7 @@ func (x *GetVersionsRequest_Xbcloud) String() string { func (*GetVersionsRequest_Xbcloud) ProtoMessage() {} func (x *GetVersionsRequest_Xbcloud) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[83] + mi := &file_agentpb_agent_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6246,7 +6426,7 @@ func (x *GetVersionsRequest_Xbcloud) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_Xbcloud.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_Xbcloud) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 2} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 2} } // Qpress is used for qpress binary version retrieving. @@ -6259,7 +6439,7 @@ type GetVersionsRequest_Qpress struct { func (x *GetVersionsRequest_Qpress) Reset() { *x = GetVersionsRequest_Qpress{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[84] + mi := &file_agentpb_agent_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6272,7 +6452,7 @@ func (x *GetVersionsRequest_Qpress) String() string { func (*GetVersionsRequest_Qpress) ProtoMessage() {} func (x *GetVersionsRequest_Qpress) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[84] + mi := &file_agentpb_agent_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6285,7 +6465,7 @@ func (x *GetVersionsRequest_Qpress) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_Qpress.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_Qpress) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 3} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 3} } // MongoDB is used for mongod binary version retrieving. @@ -6298,7 +6478,7 @@ type GetVersionsRequest_MongoDB struct { func (x *GetVersionsRequest_MongoDB) Reset() { *x = GetVersionsRequest_MongoDB{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[85] + mi := &file_agentpb_agent_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6311,7 +6491,7 @@ func (x *GetVersionsRequest_MongoDB) String() string { func (*GetVersionsRequest_MongoDB) ProtoMessage() {} func (x *GetVersionsRequest_MongoDB) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[85] + mi := &file_agentpb_agent_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6324,7 +6504,7 @@ func (x *GetVersionsRequest_MongoDB) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_MongoDB.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_MongoDB) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 4} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 4} } // PBM is used for pbm (Percona Backup for MongoDB) binary version retrieving. @@ -6337,7 +6517,7 @@ type GetVersionsRequest_PBM struct { func (x *GetVersionsRequest_PBM) Reset() { *x = GetVersionsRequest_PBM{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[86] + mi := &file_agentpb_agent_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6350,7 +6530,7 @@ func (x *GetVersionsRequest_PBM) String() string { func (*GetVersionsRequest_PBM) ProtoMessage() {} func (x *GetVersionsRequest_PBM) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[86] + mi := &file_agentpb_agent_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6363,7 +6543,7 @@ func (x *GetVersionsRequest_PBM) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_PBM.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_PBM) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 5} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 5} } // Software is used to select software for which retrieve version. @@ -6386,7 +6566,7 @@ type GetVersionsRequest_Software struct { func (x *GetVersionsRequest_Software) Reset() { *x = GetVersionsRequest_Software{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[87] + mi := &file_agentpb_agent_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6399,7 +6579,7 @@ func (x *GetVersionsRequest_Software) String() string { func (*GetVersionsRequest_Software) ProtoMessage() {} func (x *GetVersionsRequest_Software) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[87] + mi := &file_agentpb_agent_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6412,7 +6592,7 @@ func (x *GetVersionsRequest_Software) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsRequest_Software.ProtoReflect.Descriptor instead. func (*GetVersionsRequest_Software) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{36, 6} + return file_agentpb_agent_proto_rawDescGZIP(), []int{38, 6} } func (m *GetVersionsRequest_Software) GetSoftware() isGetVersionsRequest_Software_Software { @@ -6518,7 +6698,7 @@ type GetVersionsResponse_Version struct { func (x *GetVersionsResponse_Version) Reset() { *x = GetVersionsResponse_Version{} if protoimpl.UnsafeEnabled { - mi := &file_agentpb_agent_proto_msgTypes[88] + mi := &file_agentpb_agent_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6531,7 +6711,7 @@ func (x *GetVersionsResponse_Version) String() string { func (*GetVersionsResponse_Version) ProtoMessage() {} func (x *GetVersionsResponse_Version) ProtoReflect() protoreflect.Message { - mi := &file_agentpb_agent_proto_msgTypes[88] + mi := &file_agentpb_agent_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6544,7 +6724,7 @@ func (x *GetVersionsResponse_Version) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionsResponse_Version.ProtoReflect.Descriptor instead. func (*GetVersionsResponse_Version) Descriptor() ([]byte, []int) { - return file_agentpb_agent_proto_rawDescGZIP(), []int{37, 0} + return file_agentpb_agent_proto_rawDescGZIP(), []int{39, 0} } func (x *GetVersionsResponse_Version) GetVersion() string { @@ -7148,426 +7328,455 @@ var file_agentpb_agent_proto_rawDesc = []byte{ 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x10, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x29, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, - 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, - 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, - 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x18, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xc3, 0x0f, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe0, 0x01, 0x0a, 0x12, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x16, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x64, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x6e, 0x12, + 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, + 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x74, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x66, 0x0a, + 0x13, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, - 0x00, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x5d, - 0x0a, 0x14, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x79, 0x73, 0x71, 0x6c, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x4d, 0x0a, - 0x0e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, - 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x6d, - 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x63, 0x0a, 0x16, - 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x52, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x6f, 0x6e, - 0x67, 0x6f, 0x64, 0x62, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x1a, 0x93, 0x02, 0x0a, 0x0b, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x73, - 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x33, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, - 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc3, 0x01, 0x0a, 0x12, 0x4d, 0x79, 0x53, 0x51, - 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x33, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, - 0x08, 0x73, 0x33, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, - 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x11, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf9, 0x03, - 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, - 0x16, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, - 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x74, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x74, 0x72, 0x12, 0x33, - 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x08, 0x73, 0x33, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x11, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, - 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x73, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x64, 0x73, 0x6e, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x74, 0x65, 0x78, - 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xa8, 0x04, 0x0a, 0x14, 0x4d, 0x6f, - 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x12, 0x16, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x1a, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x69, 0x74, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x70, 0x69, 0x74, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x08, 0x73, 0x33, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x11, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, - 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x70, 0x62, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x62, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x0b, 0x70, 0x62, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, - 0x0a, 0x03, 0x64, 0x73, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x6e, - 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0f, + 0x22, 0x29, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x10, + 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x22, 0x2e, 0x0a, 0x18, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x22, 0xc3, 0x0f, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x47, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, + 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x79, + 0x73, 0x71, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x5d, 0x0a, 0x14, 0x6d, 0x79, 0x73, + 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x6d, 0x6f, 0x6e, 0x67, + 0x6f, 0x64, 0x62, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, + 0x62, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x63, 0x0a, 0x16, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, + 0x64, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x93, 0x02, 0x0a, + 0x0b, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x33, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, + 0x11, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x1a, 0xc3, 0x01, 0x0a, 0x12, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x09, + 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x33, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x11, 0x0a, 0x0f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, + 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x52, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xf9, 0x03, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, + 0x67, 0x6f, 0x44, 0x42, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x16, 0x0a, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x75, 0x73, + 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x16, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x74, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x74, 0x72, 0x12, 0x33, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, + 0x0a, 0x09, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x33, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x10, + 0x0a, 0x03, 0x64, 0x73, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x6e, + 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x28, 0x0a, 0x10, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x11, - 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xdb, 0x05, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x2e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x12, 0x57, 0x0a, 0x14, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x47, 0x0a, 0x0e, - 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x5d, 0x0a, 0x16, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, - 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x52, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x14, - 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x21, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x6e, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, - 0x44, 0x42, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x73, - 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3e, 0x0a, 0x0b, 0x4d, 0x79, 0x53, 0x51, 0x4c, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x14, 0x0a, 0x12, 0x4d, 0x79, 0x53, 0x51, 0x4c, - 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x16, 0x0a, - 0x14, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0xa7, 0x03, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x43, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x59, 0x0a, 0x14, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x79, - 0x73, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xa8, 0x04, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x16, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x73, + 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x70, + 0x69, 0x74, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0d, 0x70, 0x69, 0x74, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, + 0x0a, 0x09, 0x73, 0x33, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x33, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x73, 0x33, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x39, + 0x0a, 0x0c, 0x70, 0x62, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x62, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x62, + 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x73, 0x6e, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x6e, 0x12, 0x2f, 0x0a, 0x0a, 0x74, + 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x05, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x28, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x27, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x74, 0x6f, + 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdb, 0x05, 0x0a, + 0x09, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2e, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0c, 0x6d, + 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, + 0x00, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x57, + 0x0a, 0x14, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, + 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x47, 0x0a, 0x0e, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, + 0x64, 0x62, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, + 0x00, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x12, 0x5d, 0x0a, 0x16, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, + 0x64, 0x62, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, + 0x21, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x1a, 0x6e, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x65, + 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x3e, 0x0a, 0x0b, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x14, 0x0a, 0x12, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x16, 0x0a, 0x14, 0x4d, 0x6f, 0x6e, 0x67, + 0x6f, 0x44, 0x42, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa7, 0x03, 0x0a, 0x0b, 0x4a, + 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x6d, + 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x12, 0x59, 0x0a, 0x14, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, - 0x0d, 0x0a, 0x0b, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x14, - 0x0a, 0x12, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x49, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x42, - 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9d, 0x04, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x40, 0x0a, 0x09, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, - 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x52, 0x09, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, - 0x65, 0x73, 0x1a, 0x08, 0x0a, 0x06, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, - 0x58, 0x74, 0x72, 0x61, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x09, 0x0a, 0x07, 0x58, 0x62, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x1a, 0x08, 0x0a, 0x06, 0x51, 0x70, 0x72, 0x65, 0x73, 0x73, 0x1a, - 0x09, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x1a, 0x05, 0x0a, 0x03, 0x50, 0x42, - 0x4d, 0x1a, 0x85, 0x03, 0x0a, 0x08, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x3a, - 0x0a, 0x06, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x73, 0x73, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x04, 0x6c, + 0x6f, 0x67, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4c, 0x6f, + 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, 0x4d, 0x79, + 0x53, 0x51, 0x4c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x14, 0x0a, 0x12, 0x4d, 0x79, 0x53, + 0x51, 0x4c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, + 0x49, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x75, 0x6e, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x75, 0x6e, 0x6b, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9d, 0x04, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x09, 0x73, + 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x64, - 0x48, 0x00, 0x52, 0x06, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x78, 0x74, - 0x72, 0x61, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, + 0x72, 0x65, 0x52, 0x09, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x73, 0x1a, 0x08, 0x0a, + 0x06, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, 0x58, 0x74, 0x72, 0x61, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x09, 0x0a, 0x07, 0x58, 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x1a, 0x08, 0x0a, 0x06, 0x51, 0x70, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x09, 0x0a, 0x07, 0x4d, 0x6f, + 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x1a, 0x05, 0x0a, 0x03, 0x50, 0x42, 0x4d, 0x1a, 0x85, 0x03, 0x0a, + 0x08, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6d, 0x79, 0x73, + 0x71, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x64, 0x48, 0x00, 0x52, 0x06, 0x6d, + 0x79, 0x73, 0x71, 0x6c, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x78, 0x74, 0x72, 0x61, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x74, 0x72, 0x61, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, + 0x00, 0x52, 0x0a, 0x78, 0x74, 0x72, 0x61, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x3d, 0x0a, + 0x07, 0x78, 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x74, 0x72, 0x61, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x78, 0x74, 0x72, 0x61, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x12, 0x3d, 0x0a, 0x07, 0x78, 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, - 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x48, 0x00, 0x52, 0x07, 0x78, 0x62, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x12, 0x3a, 0x0a, 0x06, 0x71, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x06, 0x71, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, - 0x06, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, - 0x48, 0x00, 0x52, 0x06, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x70, 0x62, - 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x50, 0x42, 0x4d, 0x48, 0x00, 0x52, 0x03, 0x70, 0x62, 0x6d, 0x42, 0x0a, 0x0a, - 0x08, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x39, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xbb, 0x08, 0x0a, - 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, - 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x12, 0x3b, 0x0a, 0x0b, 0x71, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x41, - 0x4e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x71, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x41, 0x0a, - 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x31, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, - 0x0b, 0x6a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x04, - 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, - 0x36, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x62, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x48, 0x00, 0x52, 0x07, 0x78, 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x3a, 0x0a, 0x06, + 0x71, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x70, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, + 0x52, 0x06, 0x71, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x6d, 0x6f, 0x6e, 0x67, + 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x42, 0x48, 0x00, 0x52, 0x06, 0x6d, + 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x70, 0x62, 0x6d, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x42, + 0x4d, 0x48, 0x00, 0x52, 0x03, 0x70, 0x62, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x6f, 0x66, 0x74, + 0x77, 0x61, 0x72, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x07, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xfc, 0x08, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, + 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x71, + 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x41, 0x4e, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x71, 0x61, + 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x41, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x0a, 0x6a, + 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x48, 0x00, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, + 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, + 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x65, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, + 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x33, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6a, + 0x6f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x39, 0x0a, 0x0a, 0x6a, + 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x70, 0x62, 0x6d, 0x5f, 0x73, + 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x69, 0x74, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x42, 0x4d, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x50, 0x49, 0x54, 0x52, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x0d, 0x70, 0x62, 0x6d, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x69, 0x74, 0x72, 0x12, + 0x39, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, + 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x89, 0x08, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6f, 0x6e, 0x67, + 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0b, + 0x71, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x41, 0x4e, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, + 0x71, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x21, + 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, + 0x67, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, + 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, - 0x00, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x33, 0x0a, 0x08, 0x73, - 0x74, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, - 0x12, 0x39, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, - 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x67, - 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, - 0x0b, 0x67, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0f, - 0x70, 0x62, 0x6d, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x69, 0x74, 0x72, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x42, - 0x4d, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x49, 0x54, 0x52, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x62, 0x6d, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x50, 0x69, 0x74, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, - 0x67, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x42, - 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc9, 0x07, 0x0a, 0x0d, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x6f, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x0d, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x12, 0x3c, 0x0a, 0x0b, 0x71, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x41, - 0x4e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x0a, 0x71, 0x61, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x42, - 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x0c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, - 0x74, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x10, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, - 0x6f, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x0a, 0x08, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, - 0x12, 0x38, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x67, 0x65, - 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x70, 0x62, - 0x6d, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x69, 0x74, 0x72, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x42, 0x4d, 0x53, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x49, 0x54, 0x52, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0d, 0x70, 0x62, 0x6d, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x69, 0x74, - 0x72, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, - 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2a, 0xc4, 0x01, 0x0a, 0x18, 0x4d, 0x79, 0x73, 0x71, 0x6c, - 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, - 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, - 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, - 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x55, - 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x45, - 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, - 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x4d, - 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x55, 0x54, - 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x49, - 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x03, 0x32, 0x41, 0x0a, - 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x12, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, - 0x42, 0x6f, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x22, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, - 0x70, 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x70, 0x62, 0xa2, - 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0xca, 0x02, 0x05, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0xe2, 0x02, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x38, 0x0a, 0x0a, + 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x6a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x70, 0x62, 0x6d, 0x5f, 0x73, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x69, 0x74, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x42, 0x4d, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x50, 0x49, 0x54, 0x52, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, + 0x70, 0x62, 0x6d, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x69, 0x74, 0x72, 0x12, 0x38, 0x0a, + 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, + 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2a, 0xc4, 0x01, 0x0a, 0x18, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x27, 0x0a, 0x23, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, + 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x59, 0x53, 0x51, + 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, + 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, + 0x01, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, + 0x49, 0x4e, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, + 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x4d, 0x59, 0x53, 0x51, 0x4c, + 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x41, 0x4c, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x03, 0x32, 0x41, 0x0a, 0x05, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x13, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x1a, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x6f, 0x0a, 0x09, + 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x41, 0x58, + 0x58, 0xaa, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0xca, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0xe2, 0x02, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7584,7 +7793,7 @@ func file_agentpb_agent_proto_rawDescGZIP() []byte { var ( file_agentpb_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 2) - file_agentpb_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 89) + file_agentpb_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 91) file_agentpb_agent_proto_goTypes = []interface{}{ (MysqlExplainOutputFormat)(0), // 0: agent.MysqlExplainOutputFormat (StartActionRequest_RestartSystemServiceParams_SystemService)(0), // 1: agent.StartActionRequest.RestartSystemServiceParams.SystemService @@ -7614,226 +7823,233 @@ var ( (*AgentLogsResponse)(nil), // 25: agent.AgentLogsResponse (*CheckConnectionRequest)(nil), // 26: agent.CheckConnectionRequest (*CheckConnectionResponse)(nil), // 27: agent.CheckConnectionResponse - (*JobStatusRequest)(nil), // 28: agent.JobStatusRequest - (*JobStatusResponse)(nil), // 29: agent.JobStatusResponse - (*S3LocationConfig)(nil), // 30: agent.S3LocationConfig - (*FilesystemLocationConfig)(nil), // 31: agent.FilesystemLocationConfig - (*StartJobRequest)(nil), // 32: agent.StartJobRequest - (*StartJobResponse)(nil), // 33: agent.StartJobResponse - (*StopJobRequest)(nil), // 34: agent.StopJobRequest - (*StopJobResponse)(nil), // 35: agent.StopJobResponse - (*JobResult)(nil), // 36: agent.JobResult - (*JobProgress)(nil), // 37: agent.JobProgress - (*GetVersionsRequest)(nil), // 38: agent.GetVersionsRequest - (*GetVersionsResponse)(nil), // 39: agent.GetVersionsResponse - (*AgentMessage)(nil), // 40: agent.AgentMessage - (*ServerMessage)(nil), // 41: agent.ServerMessage - nil, // 42: agent.TextFiles.FilesEntry - (*SetStateRequest_AgentProcess)(nil), // 43: agent.SetStateRequest.AgentProcess - nil, // 44: agent.SetStateRequest.AgentProcessesEntry - (*SetStateRequest_BuiltinAgent)(nil), // 45: agent.SetStateRequest.BuiltinAgent - nil, // 46: agent.SetStateRequest.BuiltinAgentsEntry - nil, // 47: agent.SetStateRequest.AgentProcess.TextFilesEntry - nil, // 48: agent.QueryActionMap.MapEntry - (*StartActionRequest_MySQLExplainParams)(nil), // 49: agent.StartActionRequest.MySQLExplainParams - (*StartActionRequest_MySQLShowCreateTableParams)(nil), // 50: agent.StartActionRequest.MySQLShowCreateTableParams - (*StartActionRequest_MySQLShowTableStatusParams)(nil), // 51: agent.StartActionRequest.MySQLShowTableStatusParams - (*StartActionRequest_MySQLShowIndexParams)(nil), // 52: agent.StartActionRequest.MySQLShowIndexParams - (*StartActionRequest_PostgreSQLShowCreateTableParams)(nil), // 53: agent.StartActionRequest.PostgreSQLShowCreateTableParams - (*StartActionRequest_PostgreSQLShowIndexParams)(nil), // 54: agent.StartActionRequest.PostgreSQLShowIndexParams - (*StartActionRequest_MongoDBExplainParams)(nil), // 55: agent.StartActionRequest.MongoDBExplainParams - (*StartActionRequest_PTSummaryParams)(nil), // 56: agent.StartActionRequest.PTSummaryParams - (*StartActionRequest_PTPgSummaryParams)(nil), // 57: agent.StartActionRequest.PTPgSummaryParams - (*StartActionRequest_PTMongoDBSummaryParams)(nil), // 58: agent.StartActionRequest.PTMongoDBSummaryParams - (*StartActionRequest_PTMySQLSummaryParams)(nil), // 59: agent.StartActionRequest.PTMySQLSummaryParams - (*StartActionRequest_MySQLQueryShowParams)(nil), // 60: agent.StartActionRequest.MySQLQueryShowParams - (*StartActionRequest_MySQLQuerySelectParams)(nil), // 61: agent.StartActionRequest.MySQLQuerySelectParams - (*StartActionRequest_PostgreSQLQueryShowParams)(nil), // 62: agent.StartActionRequest.PostgreSQLQueryShowParams - (*StartActionRequest_PostgreSQLQuerySelectParams)(nil), // 63: agent.StartActionRequest.PostgreSQLQuerySelectParams - (*StartActionRequest_MongoDBQueryGetParameterParams)(nil), // 64: agent.StartActionRequest.MongoDBQueryGetParameterParams - (*StartActionRequest_MongoDBQueryBuildInfoParams)(nil), // 65: agent.StartActionRequest.MongoDBQueryBuildInfoParams - (*StartActionRequest_MongoDBQueryGetCmdLineOptsParams)(nil), // 66: agent.StartActionRequest.MongoDBQueryGetCmdLineOptsParams - (*StartActionRequest_MongoDBQueryReplSetGetStatusParams)(nil), // 67: agent.StartActionRequest.MongoDBQueryReplSetGetStatusParams - (*StartActionRequest_MongoDBQueryGetDiagnosticDataParams)(nil), // 68: agent.StartActionRequest.MongoDBQueryGetDiagnosticDataParams - (*StartActionRequest_RestartSystemServiceParams)(nil), // 69: agent.StartActionRequest.RestartSystemServiceParams - (*CheckConnectionResponse_Stats)(nil), // 70: agent.CheckConnectionResponse.Stats - (*StartJobRequest_MySQLBackup)(nil), // 71: agent.StartJobRequest.MySQLBackup - (*StartJobRequest_MySQLRestoreBackup)(nil), // 72: agent.StartJobRequest.MySQLRestoreBackup - (*StartJobRequest_MongoDBBackup)(nil), // 73: agent.StartJobRequest.MongoDBBackup - (*StartJobRequest_MongoDBRestoreBackup)(nil), // 74: agent.StartJobRequest.MongoDBRestoreBackup - (*JobResult_Error)(nil), // 75: agent.JobResult.Error - (*JobResult_MongoDBBackup)(nil), // 76: agent.JobResult.MongoDBBackup - (*JobResult_MySQLBackup)(nil), // 77: agent.JobResult.MySQLBackup - (*JobResult_MySQLRestoreBackup)(nil), // 78: agent.JobResult.MySQLRestoreBackup - (*JobResult_MongoDBRestoreBackup)(nil), // 79: agent.JobResult.MongoDBRestoreBackup - (*JobProgress_MySQLBackup)(nil), // 80: agent.JobProgress.MySQLBackup - (*JobProgress_MySQLRestoreBackup)(nil), // 81: agent.JobProgress.MySQLRestoreBackup - (*JobProgress_Logs)(nil), // 82: agent.JobProgress.Logs - (*GetVersionsRequest_MySQLd)(nil), // 83: agent.GetVersionsRequest.MySQLd - (*GetVersionsRequest_Xtrabackup)(nil), // 84: agent.GetVersionsRequest.Xtrabackup - (*GetVersionsRequest_Xbcloud)(nil), // 85: agent.GetVersionsRequest.Xbcloud - (*GetVersionsRequest_Qpress)(nil), // 86: agent.GetVersionsRequest.Qpress - (*GetVersionsRequest_MongoDB)(nil), // 87: agent.GetVersionsRequest.MongoDB - (*GetVersionsRequest_PBM)(nil), // 88: agent.GetVersionsRequest.PBM - (*GetVersionsRequest_Software)(nil), // 89: agent.GetVersionsRequest.Software - (*GetVersionsResponse_Version)(nil), // 90: agent.GetVersionsResponse.Version - (*timestamppb.Timestamp)(nil), // 91: google.protobuf.Timestamp - (*MetricsBucket)(nil), // 92: agent.MetricsBucket - (inventorypb.AgentStatus)(0), // 93: inventory.AgentStatus - (*durationpb.Duration)(nil), // 94: google.protobuf.Duration - (inventorypb.ServiceType)(0), // 95: inventory.ServiceType - (*status.Status)(nil), // 96: google.rpc.Status - (inventorypb.AgentType)(0), // 97: inventory.AgentType - (backup.DataModel)(0), // 98: backup.v1.DataModel - (*backup.PbmMetadata)(nil), // 99: backup.v1.PbmMetadata - (*backup.Metadata)(nil), // 100: backup.v1.Metadata + (*ServiceInfoRequest)(nil), // 28: agent.ServiceInfoRequest + (*ServiceInfoResponse)(nil), // 29: agent.ServiceInfoResponse + (*JobStatusRequest)(nil), // 30: agent.JobStatusRequest + (*JobStatusResponse)(nil), // 31: agent.JobStatusResponse + (*S3LocationConfig)(nil), // 32: agent.S3LocationConfig + (*FilesystemLocationConfig)(nil), // 33: agent.FilesystemLocationConfig + (*StartJobRequest)(nil), // 34: agent.StartJobRequest + (*StartJobResponse)(nil), // 35: agent.StartJobResponse + (*StopJobRequest)(nil), // 36: agent.StopJobRequest + (*StopJobResponse)(nil), // 37: agent.StopJobResponse + (*JobResult)(nil), // 38: agent.JobResult + (*JobProgress)(nil), // 39: agent.JobProgress + (*GetVersionsRequest)(nil), // 40: agent.GetVersionsRequest + (*GetVersionsResponse)(nil), // 41: agent.GetVersionsResponse + (*AgentMessage)(nil), // 42: agent.AgentMessage + (*ServerMessage)(nil), // 43: agent.ServerMessage + nil, // 44: agent.TextFiles.FilesEntry + (*SetStateRequest_AgentProcess)(nil), // 45: agent.SetStateRequest.AgentProcess + nil, // 46: agent.SetStateRequest.AgentProcessesEntry + (*SetStateRequest_BuiltinAgent)(nil), // 47: agent.SetStateRequest.BuiltinAgent + nil, // 48: agent.SetStateRequest.BuiltinAgentsEntry + nil, // 49: agent.SetStateRequest.AgentProcess.TextFilesEntry + nil, // 50: agent.QueryActionMap.MapEntry + (*StartActionRequest_MySQLExplainParams)(nil), // 51: agent.StartActionRequest.MySQLExplainParams + (*StartActionRequest_MySQLShowCreateTableParams)(nil), // 52: agent.StartActionRequest.MySQLShowCreateTableParams + (*StartActionRequest_MySQLShowTableStatusParams)(nil), // 53: agent.StartActionRequest.MySQLShowTableStatusParams + (*StartActionRequest_MySQLShowIndexParams)(nil), // 54: agent.StartActionRequest.MySQLShowIndexParams + (*StartActionRequest_PostgreSQLShowCreateTableParams)(nil), // 55: agent.StartActionRequest.PostgreSQLShowCreateTableParams + (*StartActionRequest_PostgreSQLShowIndexParams)(nil), // 56: agent.StartActionRequest.PostgreSQLShowIndexParams + (*StartActionRequest_MongoDBExplainParams)(nil), // 57: agent.StartActionRequest.MongoDBExplainParams + (*StartActionRequest_PTSummaryParams)(nil), // 58: agent.StartActionRequest.PTSummaryParams + (*StartActionRequest_PTPgSummaryParams)(nil), // 59: agent.StartActionRequest.PTPgSummaryParams + (*StartActionRequest_PTMongoDBSummaryParams)(nil), // 60: agent.StartActionRequest.PTMongoDBSummaryParams + (*StartActionRequest_PTMySQLSummaryParams)(nil), // 61: agent.StartActionRequest.PTMySQLSummaryParams + (*StartActionRequest_MySQLQueryShowParams)(nil), // 62: agent.StartActionRequest.MySQLQueryShowParams + (*StartActionRequest_MySQLQuerySelectParams)(nil), // 63: agent.StartActionRequest.MySQLQuerySelectParams + (*StartActionRequest_PostgreSQLQueryShowParams)(nil), // 64: agent.StartActionRequest.PostgreSQLQueryShowParams + (*StartActionRequest_PostgreSQLQuerySelectParams)(nil), // 65: agent.StartActionRequest.PostgreSQLQuerySelectParams + (*StartActionRequest_MongoDBQueryGetParameterParams)(nil), // 66: agent.StartActionRequest.MongoDBQueryGetParameterParams + (*StartActionRequest_MongoDBQueryBuildInfoParams)(nil), // 67: agent.StartActionRequest.MongoDBQueryBuildInfoParams + (*StartActionRequest_MongoDBQueryGetCmdLineOptsParams)(nil), // 68: agent.StartActionRequest.MongoDBQueryGetCmdLineOptsParams + (*StartActionRequest_MongoDBQueryReplSetGetStatusParams)(nil), // 69: agent.StartActionRequest.MongoDBQueryReplSetGetStatusParams + (*StartActionRequest_MongoDBQueryGetDiagnosticDataParams)(nil), // 70: agent.StartActionRequest.MongoDBQueryGetDiagnosticDataParams + (*StartActionRequest_RestartSystemServiceParams)(nil), // 71: agent.StartActionRequest.RestartSystemServiceParams + (*CheckConnectionResponse_Stats)(nil), // 72: agent.CheckConnectionResponse.Stats + (*StartJobRequest_MySQLBackup)(nil), // 73: agent.StartJobRequest.MySQLBackup + (*StartJobRequest_MySQLRestoreBackup)(nil), // 74: agent.StartJobRequest.MySQLRestoreBackup + (*StartJobRequest_MongoDBBackup)(nil), // 75: agent.StartJobRequest.MongoDBBackup + (*StartJobRequest_MongoDBRestoreBackup)(nil), // 76: agent.StartJobRequest.MongoDBRestoreBackup + (*JobResult_Error)(nil), // 77: agent.JobResult.Error + (*JobResult_MongoDBBackup)(nil), // 78: agent.JobResult.MongoDBBackup + (*JobResult_MySQLBackup)(nil), // 79: agent.JobResult.MySQLBackup + (*JobResult_MySQLRestoreBackup)(nil), // 80: agent.JobResult.MySQLRestoreBackup + (*JobResult_MongoDBRestoreBackup)(nil), // 81: agent.JobResult.MongoDBRestoreBackup + (*JobProgress_MySQLBackup)(nil), // 82: agent.JobProgress.MySQLBackup + (*JobProgress_MySQLRestoreBackup)(nil), // 83: agent.JobProgress.MySQLRestoreBackup + (*JobProgress_Logs)(nil), // 84: agent.JobProgress.Logs + (*GetVersionsRequest_MySQLd)(nil), // 85: agent.GetVersionsRequest.MySQLd + (*GetVersionsRequest_Xtrabackup)(nil), // 86: agent.GetVersionsRequest.Xtrabackup + (*GetVersionsRequest_Xbcloud)(nil), // 87: agent.GetVersionsRequest.Xbcloud + (*GetVersionsRequest_Qpress)(nil), // 88: agent.GetVersionsRequest.Qpress + (*GetVersionsRequest_MongoDB)(nil), // 89: agent.GetVersionsRequest.MongoDB + (*GetVersionsRequest_PBM)(nil), // 90: agent.GetVersionsRequest.PBM + (*GetVersionsRequest_Software)(nil), // 91: agent.GetVersionsRequest.Software + (*GetVersionsResponse_Version)(nil), // 92: agent.GetVersionsResponse.Version + (*timestamppb.Timestamp)(nil), // 93: google.protobuf.Timestamp + (*MetricsBucket)(nil), // 94: agent.MetricsBucket + (inventorypb.AgentStatus)(0), // 95: inventory.AgentStatus + (*durationpb.Duration)(nil), // 96: google.protobuf.Duration + (inventorypb.ServiceType)(0), // 97: inventory.ServiceType + (*status.Status)(nil), // 98: google.rpc.Status + (inventorypb.AgentType)(0), // 99: inventory.AgentType + (backup.DataModel)(0), // 100: backup.v1.DataModel + (*backup.PbmMetadata)(nil), // 101: backup.v1.PbmMetadata + (*backup.Metadata)(nil), // 102: backup.v1.Metadata } ) var file_agentpb_agent_proto_depIdxs = []int32{ - 42, // 0: agent.TextFiles.files:type_name -> agent.TextFiles.FilesEntry - 91, // 1: agent.Pong.current_time:type_name -> google.protobuf.Timestamp - 92, // 2: agent.QANCollectRequest.metrics_bucket:type_name -> agent.MetricsBucket - 93, // 3: agent.StateChangedRequest.status:type_name -> inventory.AgentStatus - 44, // 4: agent.SetStateRequest.agent_processes:type_name -> agent.SetStateRequest.AgentProcessesEntry - 46, // 5: agent.SetStateRequest.builtin_agents:type_name -> agent.SetStateRequest.BuiltinAgentsEntry - 91, // 6: agent.QueryActionValue.timestamp:type_name -> google.protobuf.Timestamp + 44, // 0: agent.TextFiles.files:type_name -> agent.TextFiles.FilesEntry + 93, // 1: agent.Pong.current_time:type_name -> google.protobuf.Timestamp + 94, // 2: agent.QANCollectRequest.metrics_bucket:type_name -> agent.MetricsBucket + 95, // 3: agent.StateChangedRequest.status:type_name -> inventory.AgentStatus + 46, // 4: agent.SetStateRequest.agent_processes:type_name -> agent.SetStateRequest.AgentProcessesEntry + 48, // 5: agent.SetStateRequest.builtin_agents:type_name -> agent.SetStateRequest.BuiltinAgentsEntry + 93, // 6: agent.QueryActionValue.timestamp:type_name -> google.protobuf.Timestamp 12, // 7: agent.QueryActionValue.slice:type_name -> agent.QueryActionSlice 13, // 8: agent.QueryActionValue.map:type_name -> agent.QueryActionMap 14, // 9: agent.QueryActionValue.binary:type_name -> agent.QueryActionBinary 11, // 10: agent.QueryActionSlice.slice:type_name -> agent.QueryActionValue - 48, // 11: agent.QueryActionMap.map:type_name -> agent.QueryActionMap.MapEntry + 50, // 11: agent.QueryActionMap.map:type_name -> agent.QueryActionMap.MapEntry 12, // 12: agent.QueryActionResult.rows:type_name -> agent.QueryActionSlice 13, // 13: agent.QueryActionResult.docs:type_name -> agent.QueryActionMap - 49, // 14: agent.StartActionRequest.mysql_explain_params:type_name -> agent.StartActionRequest.MySQLExplainParams - 50, // 15: agent.StartActionRequest.mysql_show_create_table_params:type_name -> agent.StartActionRequest.MySQLShowCreateTableParams - 51, // 16: agent.StartActionRequest.mysql_show_table_status_params:type_name -> agent.StartActionRequest.MySQLShowTableStatusParams - 52, // 17: agent.StartActionRequest.mysql_show_index_params:type_name -> agent.StartActionRequest.MySQLShowIndexParams - 53, // 18: agent.StartActionRequest.postgresql_show_create_table_params:type_name -> agent.StartActionRequest.PostgreSQLShowCreateTableParams - 54, // 19: agent.StartActionRequest.postgresql_show_index_params:type_name -> agent.StartActionRequest.PostgreSQLShowIndexParams - 55, // 20: agent.StartActionRequest.mongodb_explain_params:type_name -> agent.StartActionRequest.MongoDBExplainParams - 56, // 21: agent.StartActionRequest.pt_summary_params:type_name -> agent.StartActionRequest.PTSummaryParams - 57, // 22: agent.StartActionRequest.pt_pg_summary_params:type_name -> agent.StartActionRequest.PTPgSummaryParams - 58, // 23: agent.StartActionRequest.pt_mongodb_summary_params:type_name -> agent.StartActionRequest.PTMongoDBSummaryParams - 59, // 24: agent.StartActionRequest.pt_mysql_summary_params:type_name -> agent.StartActionRequest.PTMySQLSummaryParams - 60, // 25: agent.StartActionRequest.mysql_query_show_params:type_name -> agent.StartActionRequest.MySQLQueryShowParams - 61, // 26: agent.StartActionRequest.mysql_query_select_params:type_name -> agent.StartActionRequest.MySQLQuerySelectParams - 62, // 27: agent.StartActionRequest.postgresql_query_show_params:type_name -> agent.StartActionRequest.PostgreSQLQueryShowParams - 63, // 28: agent.StartActionRequest.postgresql_query_select_params:type_name -> agent.StartActionRequest.PostgreSQLQuerySelectParams - 64, // 29: agent.StartActionRequest.mongodb_query_getparameter_params:type_name -> agent.StartActionRequest.MongoDBQueryGetParameterParams - 65, // 30: agent.StartActionRequest.mongodb_query_buildinfo_params:type_name -> agent.StartActionRequest.MongoDBQueryBuildInfoParams - 66, // 31: agent.StartActionRequest.mongodb_query_getcmdlineopts_params:type_name -> agent.StartActionRequest.MongoDBQueryGetCmdLineOptsParams - 67, // 32: agent.StartActionRequest.mongodb_query_replsetgetstatus_params:type_name -> agent.StartActionRequest.MongoDBQueryReplSetGetStatusParams - 68, // 33: agent.StartActionRequest.mongodb_query_getdiagnosticdata_params:type_name -> agent.StartActionRequest.MongoDBQueryGetDiagnosticDataParams - 69, // 34: agent.StartActionRequest.restart_sys_service_params:type_name -> agent.StartActionRequest.RestartSystemServiceParams - 94, // 35: agent.StartActionRequest.timeout:type_name -> google.protobuf.Duration + 51, // 14: agent.StartActionRequest.mysql_explain_params:type_name -> agent.StartActionRequest.MySQLExplainParams + 52, // 15: agent.StartActionRequest.mysql_show_create_table_params:type_name -> agent.StartActionRequest.MySQLShowCreateTableParams + 53, // 16: agent.StartActionRequest.mysql_show_table_status_params:type_name -> agent.StartActionRequest.MySQLShowTableStatusParams + 54, // 17: agent.StartActionRequest.mysql_show_index_params:type_name -> agent.StartActionRequest.MySQLShowIndexParams + 55, // 18: agent.StartActionRequest.postgresql_show_create_table_params:type_name -> agent.StartActionRequest.PostgreSQLShowCreateTableParams + 56, // 19: agent.StartActionRequest.postgresql_show_index_params:type_name -> agent.StartActionRequest.PostgreSQLShowIndexParams + 57, // 20: agent.StartActionRequest.mongodb_explain_params:type_name -> agent.StartActionRequest.MongoDBExplainParams + 58, // 21: agent.StartActionRequest.pt_summary_params:type_name -> agent.StartActionRequest.PTSummaryParams + 59, // 22: agent.StartActionRequest.pt_pg_summary_params:type_name -> agent.StartActionRequest.PTPgSummaryParams + 60, // 23: agent.StartActionRequest.pt_mongodb_summary_params:type_name -> agent.StartActionRequest.PTMongoDBSummaryParams + 61, // 24: agent.StartActionRequest.pt_mysql_summary_params:type_name -> agent.StartActionRequest.PTMySQLSummaryParams + 62, // 25: agent.StartActionRequest.mysql_query_show_params:type_name -> agent.StartActionRequest.MySQLQueryShowParams + 63, // 26: agent.StartActionRequest.mysql_query_select_params:type_name -> agent.StartActionRequest.MySQLQuerySelectParams + 64, // 27: agent.StartActionRequest.postgresql_query_show_params:type_name -> agent.StartActionRequest.PostgreSQLQueryShowParams + 65, // 28: agent.StartActionRequest.postgresql_query_select_params:type_name -> agent.StartActionRequest.PostgreSQLQuerySelectParams + 66, // 29: agent.StartActionRequest.mongodb_query_getparameter_params:type_name -> agent.StartActionRequest.MongoDBQueryGetParameterParams + 67, // 30: agent.StartActionRequest.mongodb_query_buildinfo_params:type_name -> agent.StartActionRequest.MongoDBQueryBuildInfoParams + 68, // 31: agent.StartActionRequest.mongodb_query_getcmdlineopts_params:type_name -> agent.StartActionRequest.MongoDBQueryGetCmdLineOptsParams + 69, // 32: agent.StartActionRequest.mongodb_query_replsetgetstatus_params:type_name -> agent.StartActionRequest.MongoDBQueryReplSetGetStatusParams + 70, // 33: agent.StartActionRequest.mongodb_query_getdiagnosticdata_params:type_name -> agent.StartActionRequest.MongoDBQueryGetDiagnosticDataParams + 71, // 34: agent.StartActionRequest.restart_sys_service_params:type_name -> agent.StartActionRequest.RestartSystemServiceParams + 96, // 35: agent.StartActionRequest.timeout:type_name -> google.protobuf.Duration 2, // 36: agent.PBMSwitchPITRRequest.text_files:type_name -> agent.TextFiles - 95, // 37: agent.CheckConnectionRequest.type:type_name -> inventory.ServiceType - 94, // 38: agent.CheckConnectionRequest.timeout:type_name -> google.protobuf.Duration + 97, // 37: agent.CheckConnectionRequest.type:type_name -> inventory.ServiceType + 96, // 38: agent.CheckConnectionRequest.timeout:type_name -> google.protobuf.Duration 2, // 39: agent.CheckConnectionRequest.text_files:type_name -> agent.TextFiles - 70, // 40: agent.CheckConnectionResponse.stats:type_name -> agent.CheckConnectionResponse.Stats - 94, // 41: agent.StartJobRequest.timeout:type_name -> google.protobuf.Duration - 71, // 42: agent.StartJobRequest.mysql_backup:type_name -> agent.StartJobRequest.MySQLBackup - 72, // 43: agent.StartJobRequest.mysql_restore_backup:type_name -> agent.StartJobRequest.MySQLRestoreBackup - 73, // 44: agent.StartJobRequest.mongodb_backup:type_name -> agent.StartJobRequest.MongoDBBackup - 74, // 45: agent.StartJobRequest.mongodb_restore_backup:type_name -> agent.StartJobRequest.MongoDBRestoreBackup - 91, // 46: agent.JobResult.timestamp:type_name -> google.protobuf.Timestamp - 75, // 47: agent.JobResult.error:type_name -> agent.JobResult.Error - 77, // 48: agent.JobResult.mysql_backup:type_name -> agent.JobResult.MySQLBackup - 78, // 49: agent.JobResult.mysql_restore_backup:type_name -> agent.JobResult.MySQLRestoreBackup - 76, // 50: agent.JobResult.mongodb_backup:type_name -> agent.JobResult.MongoDBBackup - 79, // 51: agent.JobResult.mongodb_restore_backup:type_name -> agent.JobResult.MongoDBRestoreBackup - 91, // 52: agent.JobProgress.timestamp:type_name -> google.protobuf.Timestamp - 80, // 53: agent.JobProgress.mysql_backup:type_name -> agent.JobProgress.MySQLBackup - 81, // 54: agent.JobProgress.mysql_restore_backup:type_name -> agent.JobProgress.MySQLRestoreBackup - 82, // 55: agent.JobProgress.logs:type_name -> agent.JobProgress.Logs - 89, // 56: agent.GetVersionsRequest.softwares:type_name -> agent.GetVersionsRequest.Software - 90, // 57: agent.GetVersionsResponse.versions:type_name -> agent.GetVersionsResponse.Version - 96, // 58: agent.AgentMessage.status:type_name -> google.rpc.Status - 3, // 59: agent.AgentMessage.ping:type_name -> agent.Ping - 7, // 60: agent.AgentMessage.state_changed:type_name -> agent.StateChangedRequest - 5, // 61: agent.AgentMessage.qan_collect:type_name -> agent.QANCollectRequest - 20, // 62: agent.AgentMessage.action_result:type_name -> agent.ActionResultRequest - 36, // 63: agent.AgentMessage.job_result:type_name -> agent.JobResult - 37, // 64: agent.AgentMessage.job_progress:type_name -> agent.JobProgress - 4, // 65: agent.AgentMessage.pong:type_name -> agent.Pong - 10, // 66: agent.AgentMessage.set_state:type_name -> agent.SetStateResponse - 17, // 67: agent.AgentMessage.start_action:type_name -> agent.StartActionResponse - 19, // 68: agent.AgentMessage.stop_action:type_name -> agent.StopActionResponse - 27, // 69: agent.AgentMessage.check_connection:type_name -> agent.CheckConnectionResponse - 33, // 70: agent.AgentMessage.start_job:type_name -> agent.StartJobResponse - 35, // 71: agent.AgentMessage.stop_job:type_name -> agent.StopJobResponse - 29, // 72: agent.AgentMessage.job_status:type_name -> agent.JobStatusResponse - 39, // 73: agent.AgentMessage.get_versions:type_name -> agent.GetVersionsResponse - 23, // 74: agent.AgentMessage.pbm_switch_pitr:type_name -> agent.PBMSwitchPITRResponse - 25, // 75: agent.AgentMessage.agent_logs:type_name -> agent.AgentLogsResponse - 96, // 76: agent.ServerMessage.status:type_name -> google.rpc.Status - 4, // 77: agent.ServerMessage.pong:type_name -> agent.Pong - 8, // 78: agent.ServerMessage.state_changed:type_name -> agent.StateChangedResponse - 6, // 79: agent.ServerMessage.qan_collect:type_name -> agent.QANCollectResponse - 21, // 80: agent.ServerMessage.action_result:type_name -> agent.ActionResultResponse - 3, // 81: agent.ServerMessage.ping:type_name -> agent.Ping - 9, // 82: agent.ServerMessage.set_state:type_name -> agent.SetStateRequest - 16, // 83: agent.ServerMessage.start_action:type_name -> agent.StartActionRequest - 18, // 84: agent.ServerMessage.stop_action:type_name -> agent.StopActionRequest - 26, // 85: agent.ServerMessage.check_connection:type_name -> agent.CheckConnectionRequest - 32, // 86: agent.ServerMessage.start_job:type_name -> agent.StartJobRequest - 34, // 87: agent.ServerMessage.stop_job:type_name -> agent.StopJobRequest - 28, // 88: agent.ServerMessage.job_status:type_name -> agent.JobStatusRequest - 38, // 89: agent.ServerMessage.get_versions:type_name -> agent.GetVersionsRequest - 22, // 90: agent.ServerMessage.pbm_switch_pitr:type_name -> agent.PBMSwitchPITRRequest - 24, // 91: agent.ServerMessage.agent_logs:type_name -> agent.AgentLogsRequest - 97, // 92: agent.SetStateRequest.AgentProcess.type:type_name -> inventory.AgentType - 47, // 93: agent.SetStateRequest.AgentProcess.text_files:type_name -> agent.SetStateRequest.AgentProcess.TextFilesEntry - 43, // 94: agent.SetStateRequest.AgentProcessesEntry.value:type_name -> agent.SetStateRequest.AgentProcess - 97, // 95: agent.SetStateRequest.BuiltinAgent.type:type_name -> inventory.AgentType - 2, // 96: agent.SetStateRequest.BuiltinAgent.text_files:type_name -> agent.TextFiles - 45, // 97: agent.SetStateRequest.BuiltinAgentsEntry.value:type_name -> agent.SetStateRequest.BuiltinAgent - 11, // 98: agent.QueryActionMap.MapEntry.value:type_name -> agent.QueryActionValue - 0, // 99: agent.StartActionRequest.MySQLExplainParams.output_format:type_name -> agent.MysqlExplainOutputFormat - 2, // 100: agent.StartActionRequest.MySQLExplainParams.tls_files:type_name -> agent.TextFiles - 2, // 101: agent.StartActionRequest.MySQLShowCreateTableParams.tls_files:type_name -> agent.TextFiles - 2, // 102: agent.StartActionRequest.MySQLShowTableStatusParams.tls_files:type_name -> agent.TextFiles - 2, // 103: agent.StartActionRequest.MySQLShowIndexParams.tls_files:type_name -> agent.TextFiles - 2, // 104: agent.StartActionRequest.PostgreSQLShowCreateTableParams.tls_files:type_name -> agent.TextFiles - 2, // 105: agent.StartActionRequest.PostgreSQLShowIndexParams.tls_files:type_name -> agent.TextFiles - 2, // 106: agent.StartActionRequest.MongoDBExplainParams.text_files:type_name -> agent.TextFiles - 2, // 107: agent.StartActionRequest.MySQLQueryShowParams.tls_files:type_name -> agent.TextFiles - 2, // 108: agent.StartActionRequest.MySQLQuerySelectParams.tls_files:type_name -> agent.TextFiles - 2, // 109: agent.StartActionRequest.PostgreSQLQueryShowParams.tls_files:type_name -> agent.TextFiles - 2, // 110: agent.StartActionRequest.PostgreSQLQuerySelectParams.tls_files:type_name -> agent.TextFiles - 2, // 111: agent.StartActionRequest.MongoDBQueryGetParameterParams.text_files:type_name -> agent.TextFiles - 2, // 112: agent.StartActionRequest.MongoDBQueryBuildInfoParams.text_files:type_name -> agent.TextFiles - 2, // 113: agent.StartActionRequest.MongoDBQueryGetCmdLineOptsParams.text_files:type_name -> agent.TextFiles - 2, // 114: agent.StartActionRequest.MongoDBQueryReplSetGetStatusParams.text_files:type_name -> agent.TextFiles - 2, // 115: agent.StartActionRequest.MongoDBQueryGetDiagnosticDataParams.text_files:type_name -> agent.TextFiles - 1, // 116: agent.StartActionRequest.RestartSystemServiceParams.system_service:type_name -> agent.StartActionRequest.RestartSystemServiceParams.SystemService - 30, // 117: agent.StartJobRequest.MySQLBackup.s3_config:type_name -> agent.S3LocationConfig - 30, // 118: agent.StartJobRequest.MySQLRestoreBackup.s3_config:type_name -> agent.S3LocationConfig - 98, // 119: agent.StartJobRequest.MongoDBBackup.data_model:type_name -> backup.v1.DataModel - 30, // 120: agent.StartJobRequest.MongoDBBackup.s3_config:type_name -> agent.S3LocationConfig - 31, // 121: agent.StartJobRequest.MongoDBBackup.filesystem_config:type_name -> agent.FilesystemLocationConfig - 2, // 122: agent.StartJobRequest.MongoDBBackup.text_files:type_name -> agent.TextFiles - 91, // 123: agent.StartJobRequest.MongoDBRestoreBackup.pitr_timestamp:type_name -> google.protobuf.Timestamp - 30, // 124: agent.StartJobRequest.MongoDBRestoreBackup.s3_config:type_name -> agent.S3LocationConfig - 31, // 125: agent.StartJobRequest.MongoDBRestoreBackup.filesystem_config:type_name -> agent.FilesystemLocationConfig - 99, // 126: agent.StartJobRequest.MongoDBRestoreBackup.pbm_metadata:type_name -> backup.v1.PbmMetadata - 2, // 127: agent.StartJobRequest.MongoDBRestoreBackup.text_files:type_name -> agent.TextFiles - 100, // 128: agent.JobResult.MongoDBBackup.metadata:type_name -> backup.v1.Metadata - 100, // 129: agent.JobResult.MySQLBackup.metadata:type_name -> backup.v1.Metadata - 83, // 130: agent.GetVersionsRequest.Software.mysqld:type_name -> agent.GetVersionsRequest.MySQLd - 84, // 131: agent.GetVersionsRequest.Software.xtrabackup:type_name -> agent.GetVersionsRequest.Xtrabackup - 85, // 132: agent.GetVersionsRequest.Software.xbcloud:type_name -> agent.GetVersionsRequest.Xbcloud - 86, // 133: agent.GetVersionsRequest.Software.qpress:type_name -> agent.GetVersionsRequest.Qpress - 87, // 134: agent.GetVersionsRequest.Software.mongod:type_name -> agent.GetVersionsRequest.MongoDB - 88, // 135: agent.GetVersionsRequest.Software.pbm:type_name -> agent.GetVersionsRequest.PBM - 40, // 136: agent.Agent.Connect:input_type -> agent.AgentMessage - 41, // 137: agent.Agent.Connect:output_type -> agent.ServerMessage - 137, // [137:138] is the sub-list for method output_type - 136, // [136:137] is the sub-list for method input_type - 136, // [136:136] is the sub-list for extension type_name - 136, // [136:136] is the sub-list for extension extendee - 0, // [0:136] is the sub-list for field type_name + 72, // 40: agent.CheckConnectionResponse.stats:type_name -> agent.CheckConnectionResponse.Stats + 97, // 41: agent.ServiceInfoRequest.type:type_name -> inventory.ServiceType + 96, // 42: agent.ServiceInfoRequest.timeout:type_name -> google.protobuf.Duration + 2, // 43: agent.ServiceInfoRequest.text_files:type_name -> agent.TextFiles + 96, // 44: agent.StartJobRequest.timeout:type_name -> google.protobuf.Duration + 73, // 45: agent.StartJobRequest.mysql_backup:type_name -> agent.StartJobRequest.MySQLBackup + 74, // 46: agent.StartJobRequest.mysql_restore_backup:type_name -> agent.StartJobRequest.MySQLRestoreBackup + 75, // 47: agent.StartJobRequest.mongodb_backup:type_name -> agent.StartJobRequest.MongoDBBackup + 76, // 48: agent.StartJobRequest.mongodb_restore_backup:type_name -> agent.StartJobRequest.MongoDBRestoreBackup + 93, // 49: agent.JobResult.timestamp:type_name -> google.protobuf.Timestamp + 77, // 50: agent.JobResult.error:type_name -> agent.JobResult.Error + 79, // 51: agent.JobResult.mysql_backup:type_name -> agent.JobResult.MySQLBackup + 80, // 52: agent.JobResult.mysql_restore_backup:type_name -> agent.JobResult.MySQLRestoreBackup + 78, // 53: agent.JobResult.mongodb_backup:type_name -> agent.JobResult.MongoDBBackup + 81, // 54: agent.JobResult.mongodb_restore_backup:type_name -> agent.JobResult.MongoDBRestoreBackup + 93, // 55: agent.JobProgress.timestamp:type_name -> google.protobuf.Timestamp + 82, // 56: agent.JobProgress.mysql_backup:type_name -> agent.JobProgress.MySQLBackup + 83, // 57: agent.JobProgress.mysql_restore_backup:type_name -> agent.JobProgress.MySQLRestoreBackup + 84, // 58: agent.JobProgress.logs:type_name -> agent.JobProgress.Logs + 91, // 59: agent.GetVersionsRequest.softwares:type_name -> agent.GetVersionsRequest.Software + 92, // 60: agent.GetVersionsResponse.versions:type_name -> agent.GetVersionsResponse.Version + 98, // 61: agent.AgentMessage.status:type_name -> google.rpc.Status + 3, // 62: agent.AgentMessage.ping:type_name -> agent.Ping + 7, // 63: agent.AgentMessage.state_changed:type_name -> agent.StateChangedRequest + 5, // 64: agent.AgentMessage.qan_collect:type_name -> agent.QANCollectRequest + 20, // 65: agent.AgentMessage.action_result:type_name -> agent.ActionResultRequest + 38, // 66: agent.AgentMessage.job_result:type_name -> agent.JobResult + 39, // 67: agent.AgentMessage.job_progress:type_name -> agent.JobProgress + 4, // 68: agent.AgentMessage.pong:type_name -> agent.Pong + 10, // 69: agent.AgentMessage.set_state:type_name -> agent.SetStateResponse + 17, // 70: agent.AgentMessage.start_action:type_name -> agent.StartActionResponse + 19, // 71: agent.AgentMessage.stop_action:type_name -> agent.StopActionResponse + 27, // 72: agent.AgentMessage.check_connection:type_name -> agent.CheckConnectionResponse + 35, // 73: agent.AgentMessage.start_job:type_name -> agent.StartJobResponse + 37, // 74: agent.AgentMessage.stop_job:type_name -> agent.StopJobResponse + 31, // 75: agent.AgentMessage.job_status:type_name -> agent.JobStatusResponse + 41, // 76: agent.AgentMessage.get_versions:type_name -> agent.GetVersionsResponse + 23, // 77: agent.AgentMessage.pbm_switch_pitr:type_name -> agent.PBMSwitchPITRResponse + 25, // 78: agent.AgentMessage.agent_logs:type_name -> agent.AgentLogsResponse + 29, // 79: agent.AgentMessage.service_info:type_name -> agent.ServiceInfoResponse + 98, // 80: agent.ServerMessage.status:type_name -> google.rpc.Status + 4, // 81: agent.ServerMessage.pong:type_name -> agent.Pong + 8, // 82: agent.ServerMessage.state_changed:type_name -> agent.StateChangedResponse + 6, // 83: agent.ServerMessage.qan_collect:type_name -> agent.QANCollectResponse + 21, // 84: agent.ServerMessage.action_result:type_name -> agent.ActionResultResponse + 3, // 85: agent.ServerMessage.ping:type_name -> agent.Ping + 9, // 86: agent.ServerMessage.set_state:type_name -> agent.SetStateRequest + 16, // 87: agent.ServerMessage.start_action:type_name -> agent.StartActionRequest + 18, // 88: agent.ServerMessage.stop_action:type_name -> agent.StopActionRequest + 26, // 89: agent.ServerMessage.check_connection:type_name -> agent.CheckConnectionRequest + 34, // 90: agent.ServerMessage.start_job:type_name -> agent.StartJobRequest + 36, // 91: agent.ServerMessage.stop_job:type_name -> agent.StopJobRequest + 30, // 92: agent.ServerMessage.job_status:type_name -> agent.JobStatusRequest + 40, // 93: agent.ServerMessage.get_versions:type_name -> agent.GetVersionsRequest + 22, // 94: agent.ServerMessage.pbm_switch_pitr:type_name -> agent.PBMSwitchPITRRequest + 24, // 95: agent.ServerMessage.agent_logs:type_name -> agent.AgentLogsRequest + 28, // 96: agent.ServerMessage.service_info:type_name -> agent.ServiceInfoRequest + 99, // 97: agent.SetStateRequest.AgentProcess.type:type_name -> inventory.AgentType + 49, // 98: agent.SetStateRequest.AgentProcess.text_files:type_name -> agent.SetStateRequest.AgentProcess.TextFilesEntry + 45, // 99: agent.SetStateRequest.AgentProcessesEntry.value:type_name -> agent.SetStateRequest.AgentProcess + 99, // 100: agent.SetStateRequest.BuiltinAgent.type:type_name -> inventory.AgentType + 2, // 101: agent.SetStateRequest.BuiltinAgent.text_files:type_name -> agent.TextFiles + 47, // 102: agent.SetStateRequest.BuiltinAgentsEntry.value:type_name -> agent.SetStateRequest.BuiltinAgent + 11, // 103: agent.QueryActionMap.MapEntry.value:type_name -> agent.QueryActionValue + 0, // 104: agent.StartActionRequest.MySQLExplainParams.output_format:type_name -> agent.MysqlExplainOutputFormat + 2, // 105: agent.StartActionRequest.MySQLExplainParams.tls_files:type_name -> agent.TextFiles + 2, // 106: agent.StartActionRequest.MySQLShowCreateTableParams.tls_files:type_name -> agent.TextFiles + 2, // 107: agent.StartActionRequest.MySQLShowTableStatusParams.tls_files:type_name -> agent.TextFiles + 2, // 108: agent.StartActionRequest.MySQLShowIndexParams.tls_files:type_name -> agent.TextFiles + 2, // 109: agent.StartActionRequest.PostgreSQLShowCreateTableParams.tls_files:type_name -> agent.TextFiles + 2, // 110: agent.StartActionRequest.PostgreSQLShowIndexParams.tls_files:type_name -> agent.TextFiles + 2, // 111: agent.StartActionRequest.MongoDBExplainParams.text_files:type_name -> agent.TextFiles + 2, // 112: agent.StartActionRequest.MySQLQueryShowParams.tls_files:type_name -> agent.TextFiles + 2, // 113: agent.StartActionRequest.MySQLQuerySelectParams.tls_files:type_name -> agent.TextFiles + 2, // 114: agent.StartActionRequest.PostgreSQLQueryShowParams.tls_files:type_name -> agent.TextFiles + 2, // 115: agent.StartActionRequest.PostgreSQLQuerySelectParams.tls_files:type_name -> agent.TextFiles + 2, // 116: agent.StartActionRequest.MongoDBQueryGetParameterParams.text_files:type_name -> agent.TextFiles + 2, // 117: agent.StartActionRequest.MongoDBQueryBuildInfoParams.text_files:type_name -> agent.TextFiles + 2, // 118: agent.StartActionRequest.MongoDBQueryGetCmdLineOptsParams.text_files:type_name -> agent.TextFiles + 2, // 119: agent.StartActionRequest.MongoDBQueryReplSetGetStatusParams.text_files:type_name -> agent.TextFiles + 2, // 120: agent.StartActionRequest.MongoDBQueryGetDiagnosticDataParams.text_files:type_name -> agent.TextFiles + 1, // 121: agent.StartActionRequest.RestartSystemServiceParams.system_service:type_name -> agent.StartActionRequest.RestartSystemServiceParams.SystemService + 32, // 122: agent.StartJobRequest.MySQLBackup.s3_config:type_name -> agent.S3LocationConfig + 32, // 123: agent.StartJobRequest.MySQLRestoreBackup.s3_config:type_name -> agent.S3LocationConfig + 100, // 124: agent.StartJobRequest.MongoDBBackup.data_model:type_name -> backup.v1.DataModel + 32, // 125: agent.StartJobRequest.MongoDBBackup.s3_config:type_name -> agent.S3LocationConfig + 33, // 126: agent.StartJobRequest.MongoDBBackup.filesystem_config:type_name -> agent.FilesystemLocationConfig + 2, // 127: agent.StartJobRequest.MongoDBBackup.text_files:type_name -> agent.TextFiles + 93, // 128: agent.StartJobRequest.MongoDBRestoreBackup.pitr_timestamp:type_name -> google.protobuf.Timestamp + 32, // 129: agent.StartJobRequest.MongoDBRestoreBackup.s3_config:type_name -> agent.S3LocationConfig + 33, // 130: agent.StartJobRequest.MongoDBRestoreBackup.filesystem_config:type_name -> agent.FilesystemLocationConfig + 101, // 131: agent.StartJobRequest.MongoDBRestoreBackup.pbm_metadata:type_name -> backup.v1.PbmMetadata + 2, // 132: agent.StartJobRequest.MongoDBRestoreBackup.text_files:type_name -> agent.TextFiles + 102, // 133: agent.JobResult.MongoDBBackup.metadata:type_name -> backup.v1.Metadata + 102, // 134: agent.JobResult.MySQLBackup.metadata:type_name -> backup.v1.Metadata + 85, // 135: agent.GetVersionsRequest.Software.mysqld:type_name -> agent.GetVersionsRequest.MySQLd + 86, // 136: agent.GetVersionsRequest.Software.xtrabackup:type_name -> agent.GetVersionsRequest.Xtrabackup + 87, // 137: agent.GetVersionsRequest.Software.xbcloud:type_name -> agent.GetVersionsRequest.Xbcloud + 88, // 138: agent.GetVersionsRequest.Software.qpress:type_name -> agent.GetVersionsRequest.Qpress + 89, // 139: agent.GetVersionsRequest.Software.mongod:type_name -> agent.GetVersionsRequest.MongoDB + 90, // 140: agent.GetVersionsRequest.Software.pbm:type_name -> agent.GetVersionsRequest.PBM + 42, // 141: agent.Agent.Connect:input_type -> agent.AgentMessage + 43, // 142: agent.Agent.Connect:output_type -> agent.ServerMessage + 142, // [142:143] is the sub-list for method output_type + 141, // [141:142] is the sub-list for method input_type + 141, // [141:141] is the sub-list for extension type_name + 141, // [141:141] is the sub-list for extension extendee + 0, // [0:141] is the sub-list for field type_name } func init() { file_agentpb_agent_proto_init() } @@ -8156,7 +8372,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobStatusRequest); i { + switch v := v.(*ServiceInfoRequest); i { case 0: return &v.state case 1: @@ -8168,7 +8384,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobStatusResponse); i { + switch v := v.(*ServiceInfoResponse); i { case 0: return &v.state case 1: @@ -8180,7 +8396,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*S3LocationConfig); i { + switch v := v.(*JobStatusRequest); i { case 0: return &v.state case 1: @@ -8192,7 +8408,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilesystemLocationConfig); i { + switch v := v.(*JobStatusResponse); i { case 0: return &v.state case 1: @@ -8204,7 +8420,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartJobRequest); i { + switch v := v.(*S3LocationConfig); i { case 0: return &v.state case 1: @@ -8216,7 +8432,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartJobResponse); i { + switch v := v.(*FilesystemLocationConfig); i { case 0: return &v.state case 1: @@ -8228,7 +8444,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopJobRequest); i { + switch v := v.(*StartJobRequest); i { case 0: return &v.state case 1: @@ -8240,7 +8456,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopJobResponse); i { + switch v := v.(*StartJobResponse); i { case 0: return &v.state case 1: @@ -8252,7 +8468,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobResult); i { + switch v := v.(*StopJobRequest); i { case 0: return &v.state case 1: @@ -8264,7 +8480,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobProgress); i { + switch v := v.(*StopJobResponse); i { case 0: return &v.state case 1: @@ -8276,7 +8492,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionsRequest); i { + switch v := v.(*JobResult); i { case 0: return &v.state case 1: @@ -8288,7 +8504,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionsResponse); i { + switch v := v.(*JobProgress); i { case 0: return &v.state case 1: @@ -8300,7 +8516,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgentMessage); i { + switch v := v.(*GetVersionsRequest); i { case 0: return &v.state case 1: @@ -8312,7 +8528,19 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerMessage); i { + switch v := v.(*GetVersionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agentpb_agent_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AgentMessage); i { case 0: return &v.state case 1: @@ -8324,7 +8552,7 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetStateRequest_AgentProcess); i { + switch v := v.(*ServerMessage); i { case 0: return &v.state case 1: @@ -8336,6 +8564,18 @@ func file_agentpb_agent_proto_init() { } } file_agentpb_agent_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetStateRequest_AgentProcess); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agentpb_agent_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetStateRequest_BuiltinAgent); i { case 0: return &v.state @@ -8347,7 +8587,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MySQLExplainParams); i { case 0: return &v.state @@ -8359,7 +8599,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MySQLShowCreateTableParams); i { case 0: return &v.state @@ -8371,7 +8611,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MySQLShowTableStatusParams); i { case 0: return &v.state @@ -8383,7 +8623,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MySQLShowIndexParams); i { case 0: return &v.state @@ -8395,7 +8635,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PostgreSQLShowCreateTableParams); i { case 0: return &v.state @@ -8407,7 +8647,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PostgreSQLShowIndexParams); i { case 0: return &v.state @@ -8419,7 +8659,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MongoDBExplainParams); i { case 0: return &v.state @@ -8431,7 +8671,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PTSummaryParams); i { case 0: return &v.state @@ -8443,7 +8683,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PTPgSummaryParams); i { case 0: return &v.state @@ -8455,7 +8695,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PTMongoDBSummaryParams); i { case 0: return &v.state @@ -8467,7 +8707,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PTMySQLSummaryParams); i { case 0: return &v.state @@ -8479,7 +8719,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MySQLQueryShowParams); i { case 0: return &v.state @@ -8491,7 +8731,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MySQLQuerySelectParams); i { case 0: return &v.state @@ -8503,7 +8743,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PostgreSQLQueryShowParams); i { case 0: return &v.state @@ -8515,7 +8755,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_PostgreSQLQuerySelectParams); i { case 0: return &v.state @@ -8527,7 +8767,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MongoDBQueryGetParameterParams); i { case 0: return &v.state @@ -8539,7 +8779,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MongoDBQueryBuildInfoParams); i { case 0: return &v.state @@ -8551,7 +8791,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MongoDBQueryGetCmdLineOptsParams); i { case 0: return &v.state @@ -8563,7 +8803,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MongoDBQueryReplSetGetStatusParams); i { case 0: return &v.state @@ -8575,7 +8815,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_MongoDBQueryGetDiagnosticDataParams); i { case 0: return &v.state @@ -8587,7 +8827,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartActionRequest_RestartSystemServiceParams); i { case 0: return &v.state @@ -8599,7 +8839,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckConnectionResponse_Stats); i { case 0: return &v.state @@ -8611,7 +8851,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartJobRequest_MySQLBackup); i { case 0: return &v.state @@ -8623,7 +8863,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartJobRequest_MySQLRestoreBackup); i { case 0: return &v.state @@ -8635,7 +8875,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartJobRequest_MongoDBBackup); i { case 0: return &v.state @@ -8647,7 +8887,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartJobRequest_MongoDBRestoreBackup); i { case 0: return &v.state @@ -8659,7 +8899,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobResult_Error); i { case 0: return &v.state @@ -8671,7 +8911,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobResult_MongoDBBackup); i { case 0: return &v.state @@ -8683,7 +8923,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobResult_MySQLBackup); i { case 0: return &v.state @@ -8695,7 +8935,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobResult_MySQLRestoreBackup); i { case 0: return &v.state @@ -8707,7 +8947,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobResult_MongoDBRestoreBackup); i { case 0: return &v.state @@ -8719,7 +8959,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobProgress_MySQLBackup); i { case 0: return &v.state @@ -8731,7 +8971,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobProgress_MySQLRestoreBackup); i { case 0: return &v.state @@ -8743,7 +8983,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobProgress_Logs); i { case 0: return &v.state @@ -8755,7 +8995,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_MySQLd); i { case 0: return &v.state @@ -8767,7 +9007,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_Xtrabackup); i { case 0: return &v.state @@ -8779,7 +9019,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_Xbcloud); i { case 0: return &v.state @@ -8791,7 +9031,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_Qpress); i { case 0: return &v.state @@ -8803,7 +9043,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_MongoDB); i { case 0: return &v.state @@ -8815,7 +9055,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_PBM); i { case 0: return &v.state @@ -8827,7 +9067,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsRequest_Software); i { case 0: return &v.state @@ -8839,7 +9079,7 @@ func file_agentpb_agent_proto_init() { return nil } } - file_agentpb_agent_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_agentpb_agent_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionsResponse_Version); i { case 0: return &v.state @@ -8887,25 +9127,25 @@ func file_agentpb_agent_proto_init() { (*StartActionRequest_MongodbQueryGetdiagnosticdataParams)(nil), (*StartActionRequest_RestartSysServiceParams)(nil), } - file_agentpb_agent_proto_msgTypes[30].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[32].OneofWrappers = []interface{}{ (*StartJobRequest_MysqlBackup)(nil), (*StartJobRequest_MysqlRestoreBackup)(nil), (*StartJobRequest_MongodbBackup)(nil), (*StartJobRequest_MongodbRestoreBackup)(nil), } - file_agentpb_agent_proto_msgTypes[34].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[36].OneofWrappers = []interface{}{ (*JobResult_Error_)(nil), (*JobResult_MysqlBackup)(nil), (*JobResult_MysqlRestoreBackup)(nil), (*JobResult_MongodbBackup)(nil), (*JobResult_MongodbRestoreBackup)(nil), } - file_agentpb_agent_proto_msgTypes[35].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[37].OneofWrappers = []interface{}{ (*JobProgress_MysqlBackup)(nil), (*JobProgress_MysqlRestoreBackup)(nil), (*JobProgress_Logs_)(nil), } - file_agentpb_agent_proto_msgTypes[38].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[40].OneofWrappers = []interface{}{ (*AgentMessage_Ping)(nil), (*AgentMessage_StateChanged)(nil), (*AgentMessage_QanCollect)(nil), @@ -8923,8 +9163,9 @@ func file_agentpb_agent_proto_init() { (*AgentMessage_GetVersions)(nil), (*AgentMessage_PbmSwitchPitr)(nil), (*AgentMessage_AgentLogs)(nil), + (*AgentMessage_ServiceInfo)(nil), } - file_agentpb_agent_proto_msgTypes[39].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[41].OneofWrappers = []interface{}{ (*ServerMessage_Pong)(nil), (*ServerMessage_StateChanged)(nil), (*ServerMessage_QanCollect)(nil), @@ -8940,22 +9181,23 @@ func file_agentpb_agent_proto_init() { (*ServerMessage_GetVersions)(nil), (*ServerMessage_PbmSwitchPitr)(nil), (*ServerMessage_AgentLogs)(nil), + (*ServerMessage_ServiceInfo)(nil), } - file_agentpb_agent_proto_msgTypes[69].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[71].OneofWrappers = []interface{}{ (*StartJobRequest_MySQLBackup_S3Config)(nil), } - file_agentpb_agent_proto_msgTypes[70].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[72].OneofWrappers = []interface{}{ (*StartJobRequest_MySQLRestoreBackup_S3Config)(nil), } - file_agentpb_agent_proto_msgTypes[71].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[73].OneofWrappers = []interface{}{ (*StartJobRequest_MongoDBBackup_S3Config)(nil), (*StartJobRequest_MongoDBBackup_FilesystemConfig)(nil), } - file_agentpb_agent_proto_msgTypes[72].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[74].OneofWrappers = []interface{}{ (*StartJobRequest_MongoDBRestoreBackup_S3Config)(nil), (*StartJobRequest_MongoDBRestoreBackup_FilesystemConfig)(nil), } - file_agentpb_agent_proto_msgTypes[87].OneofWrappers = []interface{}{ + file_agentpb_agent_proto_msgTypes[89].OneofWrappers = []interface{}{ (*GetVersionsRequest_Software_Mysqld)(nil), (*GetVersionsRequest_Software_Xtrabackup)(nil), (*GetVersionsRequest_Software_Xbcloud)(nil), @@ -8969,7 +9211,7 @@ func file_agentpb_agent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_agentpb_agent_proto_rawDesc, NumEnums: 2, - NumMessages: 89, + NumMessages: 91, NumExtensions: 0, NumServices: 1, }, diff --git a/api/agentpb/agent.pb.validate.go b/api/agentpb/agent.pb.validate.go index aef60523afd..069d003037a 100644 --- a/api/agentpb/agent.pb.validate.go +++ b/api/agentpb/agent.pb.validate.go @@ -4278,6 +4278,280 @@ var _ interface { ErrorName() string } = CheckConnectionResponseValidationError{} +// Validate checks the field values on ServiceInfoRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ServiceInfoRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ServiceInfoRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ServiceInfoRequestMultiError, or nil if none found. +func (m *ServiceInfoRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ServiceInfoRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Type + + // no validation rules for Dsn + + if all { + switch v := interface{}(m.GetTimeout()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ServiceInfoRequestValidationError{ + field: "Timeout", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ServiceInfoRequestValidationError{ + field: "Timeout", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ServiceInfoRequestValidationError{ + field: "Timeout", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetTextFiles()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ServiceInfoRequestValidationError{ + field: "TextFiles", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ServiceInfoRequestValidationError{ + field: "TextFiles", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTextFiles()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ServiceInfoRequestValidationError{ + field: "TextFiles", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for TlsSkipVerify + + if len(errors) > 0 { + return ServiceInfoRequestMultiError(errors) + } + + return nil +} + +// ServiceInfoRequestMultiError is an error wrapping multiple validation errors +// returned by ServiceInfoRequest.ValidateAll() if the designated constraints +// aren't met. +type ServiceInfoRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ServiceInfoRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ServiceInfoRequestMultiError) AllErrors() []error { return m } + +// ServiceInfoRequestValidationError is the validation error returned by +// ServiceInfoRequest.Validate if the designated constraints aren't met. +type ServiceInfoRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ServiceInfoRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ServiceInfoRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ServiceInfoRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ServiceInfoRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ServiceInfoRequestValidationError) ErrorName() string { + return "ServiceInfoRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ServiceInfoRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sServiceInfoRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ServiceInfoRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ServiceInfoRequestValidationError{} + +// Validate checks the field values on ServiceInfoResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ServiceInfoResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ServiceInfoResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ServiceInfoResponseMultiError, or nil if none found. +func (m *ServiceInfoResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ServiceInfoResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Error + + // no validation rules for TableCount + + // no validation rules for Version + + if len(errors) > 0 { + return ServiceInfoResponseMultiError(errors) + } + + return nil +} + +// ServiceInfoResponseMultiError is an error wrapping multiple validation +// errors returned by ServiceInfoResponse.ValidateAll() if the designated +// constraints aren't met. +type ServiceInfoResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ServiceInfoResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ServiceInfoResponseMultiError) AllErrors() []error { return m } + +// ServiceInfoResponseValidationError is the validation error returned by +// ServiceInfoResponse.Validate if the designated constraints aren't met. +type ServiceInfoResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ServiceInfoResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ServiceInfoResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ServiceInfoResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ServiceInfoResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ServiceInfoResponseValidationError) ErrorName() string { + return "ServiceInfoResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ServiceInfoResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sServiceInfoResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ServiceInfoResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ServiceInfoResponseValidationError{} + // Validate checks the field values on JobStatusRequest with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. @@ -6923,6 +7197,47 @@ func (m *AgentMessage) validate(all bool) error { } } + case *AgentMessage_ServiceInfo: + if v == nil { + err := AgentMessageValidationError{ + field: "Payload", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetServiceInfo()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, AgentMessageValidationError{ + field: "ServiceInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, AgentMessageValidationError{ + field: "ServiceInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetServiceInfo()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AgentMessageValidationError{ + field: "ServiceInfo", + reason: "embedded message failed validation", + cause: err, + } + } + } + default: _ = v // ensures v is used } @@ -7673,6 +7988,47 @@ func (m *ServerMessage) validate(all bool) error { } } + case *ServerMessage_ServiceInfo: + if v == nil { + err := ServerMessageValidationError{ + field: "Payload", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetServiceInfo()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ServerMessageValidationError{ + field: "ServiceInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ServerMessageValidationError{ + field: "ServiceInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetServiceInfo()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ServerMessageValidationError{ + field: "ServiceInfo", + reason: "embedded message failed validation", + cause: err, + } + } + } + default: _ = v // ensures v is used } diff --git a/api/agentpb/agent.proto b/api/agentpb/agent.proto index d6efed77b2e..a57107b0484 100644 --- a/api/agentpb/agent.proto +++ b/api/agentpb/agent.proto @@ -451,8 +451,8 @@ message CheckConnectionResponse { Stats stats = 2; } -// GetServiceStatsRequest is a ServerMessage asking pmm-agent fo service stats. -message ServiceStatsRequest { +// ServiceInfoRequest is a ServerMessage asking pmm-agent fo service stats. +message ServiceInfoRequest { // Service type. inventory.ServiceType type = 1; // DSN for the service. May contain connection (dial) timeout. @@ -465,14 +465,14 @@ message ServiceStatsRequest { bool tls_skip_verify = 5; } -// ServiceStatsResponse is an AgentMessage containing the result of service stats. -message ServiceStatsResponse { - // Error message if connection check failed. +// ServiceInfoResponse is an AgentMessage containing information gathered from a service. +message ServiceInfoResponse { + // Error message if the request failed. string error = 1; // A number of MySQL tables, 0 if unknown. int32 table_count = 2; // Database server version. - string version = 2; + string version = 3; } // JobStatusRequest is a ServerMessage asking pmm-agent for job status. @@ -764,6 +764,7 @@ message AgentMessage { GetVersionsResponse get_versions = 18; PBMSwitchPITRResponse pbm_switch_pitr = 19; AgentLogsResponse agent_logs = 21; + ServiceInfoResponse service_info = 22; } } @@ -795,6 +796,7 @@ message ServerMessage { GetVersionsRequest get_versions = 16; PBMSwitchPITRRequest pbm_switch_pitr = 17; AgentLogsRequest agent_logs = 19; + ServiceInfoRequest service_info = 20; } } diff --git a/managed/services/inventory/agents.go b/managed/services/inventory/agents.go index 6e35a6c371e..78f6b8c3f38 100644 --- a/managed/services/inventory/agents.go +++ b/managed/services/inventory/agents.go @@ -259,17 +259,22 @@ func (as *AgentsService) AddMySQLdExporter(ctx context.Context, req *inventorypb if err != nil { return err } - if !req.SkipConnectionCheck { - service, err := models.FindServiceByID(tx.Querier, req.ServiceId) - if err != nil { - return err - } + service, err := models.FindServiceByID(tx.Querier, req.ServiceId) + if err != nil { + return err + } + + if !req.SkipConnectionCheck { if err = as.cc.CheckConnectionToService(ctx, tx.Querier, service, row); err != nil { return err } } + if err = as.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err @@ -319,17 +324,22 @@ func (as *AgentsService) AddMongoDBExporter(ctx context.Context, req *inventoryp if err != nil { return err } - if !req.SkipConnectionCheck { - service, err := models.FindServiceByID(tx.Querier, req.ServiceId) - if err != nil { - return err - } + service, err := models.FindServiceByID(tx.Querier, req.ServiceId) + if err != nil { + return err + } + + if !req.SkipConnectionCheck { if err = as.cc.CheckConnectionToService(ctx, tx.Querier, service, row); err != nil { return err } } + if err = as.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err @@ -508,17 +518,22 @@ func (as *AgentsService) AddPostgresExporter(ctx context.Context, req *inventory if err != nil { return err } - if !req.SkipConnectionCheck { - service, err := models.FindServiceByID(tx.Querier, req.ServiceId) - if err != nil { - return err - } + service, err := models.FindServiceByID(tx.Querier, req.ServiceId) + if err != nil { + return err + } + + if !req.SkipConnectionCheck { if err = as.cc.CheckConnectionToService(ctx, tx.Querier, service, row); err != nil { return err } } + if err = as.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err @@ -631,17 +646,22 @@ func (as *AgentsService) AddProxySQLExporter(ctx context.Context, req *inventory if err != nil { return err } - if !req.SkipConnectionCheck { - service, err := models.FindServiceByID(tx.Querier, req.ServiceId) - if err != nil { - return err - } + service, err := models.FindServiceByID(tx.Querier, req.ServiceId) + if err != nil { + return err + } + + if !req.SkipConnectionCheck { if err = as.cc.CheckConnectionToService(ctx, tx.Querier, service, row); err != nil { return err } } + if err = as.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err diff --git a/managed/services/inventory/deps.go b/managed/services/inventory/deps.go index a1471ea79ca..e7a0b3acc64 100644 --- a/managed/services/inventory/deps.go +++ b/managed/services/inventory/deps.go @@ -62,6 +62,7 @@ type prometheusService interface { // We use it instead of real type for testing and to avoid dependency cycle. type connectionChecker interface { CheckConnectionToService(ctx context.Context, q *reform.Querier, service *models.Service, agent *models.Agent) error + GetInfoFromService(ctx context.Context, q *reform.Querier, service *models.Service, agent *models.Agent) error } // versionCache is a subset of methods of versioncache.Service used by this package. diff --git a/managed/services/management/deps.go b/managed/services/management/deps.go index b87ae574e3f..d9dae2f9d1c 100644 --- a/managed/services/management/deps.go +++ b/managed/services/management/deps.go @@ -89,6 +89,7 @@ type jobsService interface { //nolint:unused // We use it instead of real type for testing and to avoid dependency cycle. type connectionChecker interface { CheckConnectionToService(ctx context.Context, q *reform.Querier, service *models.Service, agent *models.Agent) error + GetInfoFromService(ctx context.Context, q *reform.Querier, service *models.Service, agent *models.Agent) error } // versionCache is a subset of methods of versioncache.Service used by this package. diff --git a/managed/services/management/mongodb.go b/managed/services/management/mongodb.go index de7d063415c..5ae325cfe32 100644 --- a/managed/services/management/mongodb.go +++ b/managed/services/management/mongodb.go @@ -105,6 +105,10 @@ func (s *MongoDBService) Add(ctx context.Context, req *managementpb.AddMongoDBRe } } + if err = s.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err diff --git a/managed/services/management/mysql.go b/managed/services/management/mysql.go index 5493bbdffb1..d079167fa93 100644 --- a/managed/services/management/mysql.go +++ b/managed/services/management/mysql.go @@ -129,6 +129,10 @@ func (s *MySQLService) Add(ctx context.Context, req *managementpb.AddMySQLReques res.TableCount = *row.TableCount } + if err = s.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err diff --git a/managed/services/management/postgresql.go b/managed/services/management/postgresql.go index dfdf559fa45..f86da59de7d 100644 --- a/managed/services/management/postgresql.go +++ b/managed/services/management/postgresql.go @@ -103,6 +103,10 @@ func (s *PostgreSQLService) Add(ctx context.Context, req *managementpb.AddPostgr } } + if err = s.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err diff --git a/managed/services/management/proxysql.go b/managed/services/management/proxysql.go index 88b883bfff0..c7b8e5cd05e 100644 --- a/managed/services/management/proxysql.go +++ b/managed/services/management/proxysql.go @@ -100,6 +100,10 @@ func (s *ProxySQLService) Add(ctx context.Context, req *managementpb.AddProxySQL } } + if err = s.cc.GetInfoFromService(ctx, tx.Querier, service, row); err != nil { + return err + } + agent, err := services.ToAPIAgent(tx.Querier, row) if err != nil { return err