diff --git a/client/clientimpl_test.go b/client/clientimpl_test.go index 1af68c61..c4f92b5b 100644 --- a/client/clientimpl_test.go +++ b/client/clientimpl_test.go @@ -343,7 +343,7 @@ func TestFirstStatusReport(t *testing.T) { atomic.AddInt64(&remoteConfigReceived, 1) }, }, - Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig, } settings.OpAMPServerURL = "ws://" + srv.Endpoint startClient(t, settings, client) @@ -442,7 +442,7 @@ func TestSetEffectiveConfig(t *testing.T) { return sendConfig, nil }, }, - Capabilities: protobufs.AgentCapabilities_ReportsEffectiveConfig, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig, } settings.OpAMPServerURL = "ws://" + srv.Endpoint prepareClient(t, &settings, client) @@ -668,11 +668,11 @@ func TestConnectionSettings(t *testing.T) { return nil }, }, - Capabilities: protobufs.AgentCapabilities_ReportsOwnTraces | - protobufs.AgentCapabilities_ReportsOwnMetrics | - protobufs.AgentCapabilities_ReportsOwnLogs | - protobufs.AgentCapabilities_AcceptsOtherConnectionSettings | - protobufs.AgentCapabilities_AcceptsOpAMPConnectionSettings, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnTraces | + protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics | + protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnLogs | + protobufs.AgentCapabilities_AgentCapabilities_AcceptsOtherConnectionSettings | + protobufs.AgentCapabilities_AgentCapabilities_AcceptsOpAMPConnectionSettings, } settings.OpAMPServerURL = "ws://" + srv.Endpoint prepareClient(t, &settings, client) @@ -703,7 +703,7 @@ func TestReportAgentDescription(t *testing.T) { // Start a client. settings := types.StartSettings{ OpAMPServerURL: "ws://" + srv.Endpoint, - Capabilities: protobufs.AgentCapabilities_ReportsEffectiveConfig, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig, } prepareClient(t, &settings, client) @@ -732,7 +732,7 @@ func TestReportAgentDescription(t *testing.T) { // Ask client for full AgentDescription. return &protobufs.ServerToAgent{ InstanceUid: msg.InstanceUid, - Flags: protobufs.ServerToAgent_ReportFullState, + Flags: protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState, } }) @@ -766,7 +766,8 @@ func TestReportAgentHealth(t *testing.T) { // Start a client. settings := types.StartSettings{ OpAMPServerURL: "ws://" + srv.Endpoint, - Capabilities: protobufs.AgentCapabilities_ReportsEffectiveConfig | protobufs.AgentCapabilities_ReportsHealth, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig | + protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth, } prepareClient(t, &settings, client) @@ -804,7 +805,7 @@ func TestReportAgentHealth(t *testing.T) { // Ask client for full AgentDescription. return &protobufs.ServerToAgent{ InstanceUid: msg.InstanceUid, - Flags: protobufs.ServerToAgent_ReportFullState, + Flags: protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState, } }) @@ -873,7 +874,7 @@ func TestReportEffectiveConfig(t *testing.T) { // Ask client for full AgentDescription. return &protobufs.ServerToAgent{ InstanceUid: msg.InstanceUid, - Flags: protobufs.ServerToAgent_ReportFullState, + Flags: protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState, } }) @@ -913,20 +914,20 @@ func verifyRemoteConfigUpdate(t *testing.T, successCase bool, expectStatus *prot client.SetRemoteConfigStatus( &protobufs.RemoteConfigStatus{ LastRemoteConfigHash: msg.RemoteConfig.ConfigHash, - Status: protobufs.RemoteConfigStatus_APPLIED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED, }) } else { client.SetRemoteConfigStatus( &protobufs.RemoteConfigStatus{ LastRemoteConfigHash: msg.RemoteConfig.ConfigHash, - Status: protobufs.RemoteConfigStatus_FAILED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED, ErrorMessage: "cannot update remote config", }) } } }, }, - Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig, } prepareClient(t, &settings, client) @@ -977,7 +978,7 @@ func verifyRemoteConfigUpdate(t *testing.T, successCase bool, expectStatus *prot return &protobufs.ServerToAgent{ InstanceUid: msg.InstanceUid, // Ask client to report full status. - Flags: protobufs.ServerToAgent_ReportFullState, + Flags: protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState, } }) @@ -1011,7 +1012,7 @@ func TestRemoteConfigUpdate(t *testing.T) { name: "success", success: true, expectedStatus: &protobufs.RemoteConfigStatus{ - Status: protobufs.RemoteConfigStatus_APPLIED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED, ErrorMessage: "", }, }, @@ -1019,7 +1020,7 @@ func TestRemoteConfigUpdate(t *testing.T) { name: "fail", success: false, expectedStatus: &protobufs.RemoteConfigStatus{ - Status: protobufs.RemoteConfigStatus_FAILED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED, ErrorMessage: "cannot update remote config", }, }, @@ -1077,7 +1078,8 @@ func verifyUpdatePackages(t *testing.T, testCase packageTestCase) { OnMessageFunc: onMessageFunc, }, PackagesStateProvider: localPackageState, - Capabilities: protobufs.AgentCapabilities_AcceptsPackages | protobufs.AgentCapabilities_ReportsPackageStatuses, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages | + protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses, } prepareClient(t, &settings, client) @@ -1120,10 +1122,10 @@ func verifyUpdatePackages(t *testing.T, testCase packageTestCase) { continue } switch pkgStatus.Status { - case protobufs.PackageStatus_InstallFailed: + case protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed: assert.Contains(t, pkgStatus.ErrorMessage, pkgExpected.ErrorMessage) - case protobufs.PackageStatus_Installed: + case protobufs.PackageStatusEnum_PackageStatusEnum_Installed: assert.EqualValues(t, pkgExpected.AgentHasHash, pkgStatus.AgentHasHash) assert.EqualValues(t, pkgExpected.AgentHasVersion, pkgStatus.AgentHasVersion) assert.Empty(t, pkgStatus.ErrorMessage) @@ -1166,7 +1168,7 @@ func verifyUpdatePackages(t *testing.T, testCase packageTestCase) { if compressedReceived { // Ask for full report again. - response.Flags = protobufs.ServerToAgent_ReportFullState + response.Flags = protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState } else { // Keep triggering status report by setting AgentDescription // until the compressed PackageStatuses arrives. @@ -1218,7 +1220,7 @@ func createPackageTestCase(name string, downloadSrv *httptest.Server) packageTes available: &protobufs.PackagesAvailable{ Packages: map[string]*protobufs.PackageAvailable{ "package1": { - Type: protobufs.PackageAvailable_TopLevelPackage, + Type: protobufs.PackageType_PackageType_TopLevel, Version: "1.0.0", File: &protobufs.DownloadableFile{ DownloadUrl: downloadSrv.URL + packageFileURL, @@ -1238,7 +1240,7 @@ func createPackageTestCase(name string, downloadSrv *httptest.Server) packageTes AgentHasHash: []byte{1, 2, 3}, ServerOfferedVersion: "1.0.0", ServerOfferedHash: []byte{1, 2, 3}, - Status: protobufs.PackageStatus_Installed, + Status: protobufs.PackageStatusEnum_PackageStatusEnum_Installed, ErrorMessage: "", }, }, @@ -1263,7 +1265,7 @@ func TestUpdatePackages(t *testing.T) { // A case when downloading the file fails because the URL is incorrect. notFound := createPackageTestCase("downloadable file not found", downloadSrv) notFound.available.Packages["package1"].File.DownloadUrl = downloadSrv.URL + "/notfound" - notFound.expectedStatus.Packages["package1"].Status = protobufs.PackageStatus_InstallFailed + notFound.expectedStatus.Packages["package1"].Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed notFound.expectedStatus.Packages["package1"].ErrorMessage = "cannot download" tests = append(tests, notFound) @@ -1359,8 +1361,9 @@ func TestMissingPackagesStateProvider(t *testing.T) { testClients(t, func(t *testing.T, client OpAMPClient) { // Start a client. settings := types.StartSettings{ - Callbacks: types.CallbacksStruct{}, - Capabilities: protobufs.AgentCapabilities_AcceptsPackages | protobufs.AgentCapabilities_ReportsPackageStatuses, + Callbacks: types.CallbacksStruct{}, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages | + protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses, } prepareClient(t, &settings, client) @@ -1371,7 +1374,7 @@ func TestMissingPackagesStateProvider(t *testing.T) { settings = types.StartSettings{ Callbacks: types.CallbacksStruct{}, PackagesStateProvider: localPackageState, - Capabilities: protobufs.AgentCapabilities_AcceptsPackages, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages, } prepareClient(t, &settings, client) @@ -1381,7 +1384,7 @@ func TestMissingPackagesStateProvider(t *testing.T) { settings = types.StartSettings{ Callbacks: types.CallbacksStruct{}, PackagesStateProvider: localPackageState, - Capabilities: protobufs.AgentCapabilities_ReportsPackageStatuses, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses, } prepareClient(t, &settings, client) diff --git a/client/internal/clientcommon.go b/client/internal/clientcommon.go index bc8211f5..c4823328 100644 --- a/client/internal/clientcommon.go +++ b/client/internal/clientcommon.go @@ -75,13 +75,13 @@ func (c *ClientCommon) PrepareStart( c.Capabilities = settings.Capabilities // According to OpAMP spec this capability MUST be set, since all Agents MUST report status. - c.Capabilities |= protobufs.AgentCapabilities_ReportsStatus + c.Capabilities |= protobufs.AgentCapabilities_AgentCapabilities_ReportsStatus if c.ClientSyncedState.AgentDescription() == nil { return ErrAgentDescriptionMissing } - if c.Capabilities&protobufs.AgentCapabilities_ReportsHealth != 0 && c.ClientSyncedState.Health() == nil { + if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth != 0 && c.ClientSyncedState.Health() == nil { return ErrAgentHealthMissing } @@ -89,7 +89,7 @@ func (c *ClientCommon) PrepareStart( if settings.RemoteConfigStatus == nil { // RemoteConfigStatus is not provided. Start with empty. settings.RemoteConfigStatus = &protobufs.RemoteConfigStatus{ - Status: protobufs.RemoteConfigStatus_UNSET, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_UNSET, } } @@ -101,8 +101,8 @@ func (c *ClientCommon) PrepareStart( c.PackagesStateProvider = settings.PackagesStateProvider var packageStatuses *protobufs.PackageStatuses if settings.PackagesStateProvider != nil { - if c.Capabilities&protobufs.AgentCapabilities_AcceptsPackages == 0 || - c.Capabilities&protobufs.AgentCapabilities_ReportsPackageStatuses == 0 { + if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages == 0 || + c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses == 0 { return ErrAcceptsPackagesNotSet } @@ -113,8 +113,8 @@ func (c *ClientCommon) PrepareStart( return err } } else { - if c.Capabilities&protobufs.AgentCapabilities_AcceptsPackages != 0 || - c.Capabilities&protobufs.AgentCapabilities_ReportsPackageStatuses != 0 { + if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages != 0 || + c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses != 0 { return ErrPackagesStateProviderNotSet } } @@ -262,7 +262,7 @@ func (c *ClientCommon) SetHealth(health *protobufs.AgentHealth) error { // UpdateEffectiveConfig fetches the current local effective config using // GetEffectiveConfig callback and sends it to the Server using provided Sender. func (c *ClientCommon) UpdateEffectiveConfig(ctx context.Context) error { - if c.Capabilities&protobufs.AgentCapabilities_ReportsEffectiveConfig == 0 { + if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig == 0 { return ErrReportsEffectiveConfigNotSet } @@ -324,7 +324,7 @@ func (c *ClientCommon) SetRemoteConfigStatus(status *protobufs.RemoteConfigStatu // It also remembers the new PackageStatuses in the client state so that it can be // sent to the Server when the Server asks for it. func (c *ClientCommon) SetPackageStatuses(statuses *protobufs.PackageStatuses) error { - if c.Capabilities&protobufs.AgentCapabilities_ReportsPackageStatuses == 0 { + if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses == 0 { return errReportsPackageStatusesNotSet } diff --git a/client/internal/inmempackagestore.go b/client/internal/inmempackagestore.go index ae995ca6..9f85773b 100644 --- a/client/internal/inmempackagestore.go +++ b/client/internal/inmempackagestore.go @@ -46,7 +46,7 @@ func (l *InMemPackagesStore) PackageState(packageName string) (state types.Packa return types.PackageState{Exists: false}, nil } -func (l *InMemPackagesStore) CreatePackage(packageName string, typ protobufs.PackageAvailable_PackageType) error { +func (l *InMemPackagesStore) CreatePackage(packageName string, typ protobufs.PackageType) error { l.pkgState[packageName] = types.PackageState{ Exists: true, Type: typ, diff --git a/client/internal/packagessyncer.go b/client/internal/packagessyncer.go index 8f76a2cc..f138baa3 100644 --- a/client/internal/packagessyncer.go +++ b/client/internal/packagessyncer.go @@ -172,7 +172,7 @@ func (s *packagesSyncer) syncPackage( // Package is of wrong type. Need to re-create it. So, delete it. if err := s.localState.DeletePackage(pkgName); err != nil { err = fmt.Errorf("cannot delete existing version of package %s: %v", pkgName, err) - status.Status = protobufs.PackageStatus_InstallFailed + status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed status.ErrorMessage = err.Error() return err } @@ -182,7 +182,7 @@ func (s *packagesSyncer) syncPackage( } // Report that we are beginning to install it. - status.Status = protobufs.PackageStatus_Installing + status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_Installing _ = s.reportStatuses(true) if mustCreate { @@ -190,7 +190,7 @@ func (s *packagesSyncer) syncPackage( err = s.localState.CreatePackage(pkgName, pkgAvail.Type) if err != nil { err = fmt.Errorf("cannot create package %s: %v", pkgName, err) - status.Status = protobufs.PackageStatus_InstallFailed + status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed status.ErrorMessage = err.Error() return err } @@ -203,14 +203,14 @@ func (s *packagesSyncer) syncPackage( pkgLocal.Hash = pkgAvail.Hash pkgLocal.Version = pkgAvail.Version if err := s.localState.SetPackageState(pkgName, pkgLocal); err == nil { - status.Status = protobufs.PackageStatus_Installed + status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_Installed status.AgentHasHash = pkgAvail.Hash status.AgentHasVersion = pkgAvail.Version } } if err != nil { - status.Status = protobufs.PackageStatus_InstallFailed + status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed status.ErrorMessage = err.Error() } _ = s.reportStatuses(true) diff --git a/client/internal/receivedprocessor.go b/client/internal/receivedprocessor.go index f8d6184c..b9d9ad03 100644 --- a/client/internal/receivedprocessor.go +++ b/client/internal/receivedprocessor.go @@ -65,7 +65,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro msgData := &types.MessageData{} if msg.RemoteConfig != nil { - if r.hasCapability(protobufs.AgentCapabilities_AcceptsRemoteConfig) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig) { msgData.RemoteConfig = msg.RemoteConfig } else { r.logger.Debugf("Ignoring RemoteConfig, agent does not have AcceptsRemoteConfig capability") @@ -74,7 +74,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro if msg.ConnectionSettings != nil { if msg.ConnectionSettings.OwnMetrics != nil { - if r.hasCapability(protobufs.AgentCapabilities_ReportsOwnMetrics) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics) { msgData.OwnMetricsConnSettings = msg.ConnectionSettings.OwnMetrics } else { r.logger.Debugf("Ignoring OwnMetrics, agent does not have ReportsOwnMetrics capability") @@ -82,7 +82,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro } if msg.ConnectionSettings.OwnTraces != nil { - if r.hasCapability(protobufs.AgentCapabilities_ReportsOwnTraces) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnTraces) { msgData.OwnTracesConnSettings = msg.ConnectionSettings.OwnTraces } else { r.logger.Debugf("Ignoring OwnTraces, agent does not have ReportsOwnTraces capability") @@ -90,7 +90,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro } if msg.ConnectionSettings.OwnLogs != nil { - if r.hasCapability(protobufs.AgentCapabilities_ReportsOwnLogs) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnLogs) { msgData.OwnLogsConnSettings = msg.ConnectionSettings.OwnLogs } else { r.logger.Debugf("Ignoring OwnLogs, agent does not have ReportsOwnLogs capability") @@ -98,7 +98,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro } if msg.ConnectionSettings.OtherConnections != nil { - if r.hasCapability(protobufs.AgentCapabilities_AcceptsOtherConnectionSettings) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsOtherConnectionSettings) { msgData.OtherConnSettings = msg.ConnectionSettings.OtherConnections } else { r.logger.Debugf("Ignoring OtherConnections, agent does not have AcceptsOtherConnectionSettings capability") @@ -107,7 +107,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro } if msg.PackagesAvailable != nil { - if r.hasCapability(protobufs.AgentCapabilities_AcceptsPackages) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages) { msgData.PackagesAvailable = msg.PackagesAvailable msgData.PackageSyncer = NewPackagesSyncer( r.logger, @@ -149,12 +149,12 @@ func (r *receivedProcessor) hasCapability(capability protobufs.AgentCapabilities func (r *receivedProcessor) rcvFlags( ctx context.Context, - flags protobufs.ServerToAgent_Flags, + flags protobufs.ServerToAgentFlags, ) (scheduleSend bool, err error) { // If the Server asks to report data we fetch it from the client state storage and // send to the Server. - if flags&protobufs.ServerToAgent_ReportFullState != 0 { + if flags&protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState != 0 { cfg, err := r.callbacks.GetEffectiveConfig(ctx) if err != nil { r.logger.Errorf("Cannot GetEffectiveConfig: %v", err) @@ -185,7 +185,7 @@ func (r *receivedProcessor) rcvOpampConnectionSettings(ctx context.Context, sett return } - if r.hasCapability(protobufs.AgentCapabilities_AcceptsOpAMPConnectionSettings) { + if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsOpAMPConnectionSettings) { err := r.callbacks.OnOpampConnectionSettings(ctx, settings.Opamp) if err == nil { // TODO: verify connection using new settings. diff --git a/client/internal/wsreceiver_test.go b/client/internal/wsreceiver_test.go index 4319aad0..f1595a0c 100644 --- a/client/internal/wsreceiver_test.go +++ b/client/internal/wsreceiver_test.go @@ -41,7 +41,7 @@ func TestServerToAgentCommand(t *testing.T) { }, { command: &protobufs.ServerToAgentCommand{ - Type: protobufs.ServerToAgentCommand_Restart, + Type: protobufs.CommandType_CommandType_Restart, }, action: restart, message: "A Restart command should result in a restart", @@ -62,7 +62,7 @@ func TestServerToAgentCommand(t *testing.T) { callbacks := types.CallbacksStruct{ OnCommandFunc: func(command *protobufs.ServerToAgentCommand) error { switch command.Type { - case protobufs.ServerToAgentCommand_Restart: + case protobufs.CommandType_CommandType_Restart: action = restart default: action = unknown @@ -100,7 +100,7 @@ func TestServerToAgentCommandExclusive(t *testing.T) { receiver := NewWSReceiver(TestLogger{t}, callbacks, nil, nil, &clientSyncedState, nil, 0) receiver.processor.ProcessReceivedMessage(context.Background(), &protobufs.ServerToAgent{ Command: &protobufs.ServerToAgentCommand{ - Type: protobufs.ServerToAgentCommand_Restart, + Type: protobufs.CommandType_CommandType_Restart, }, RemoteConfig: &protobufs.AgentRemoteConfig{}, }) diff --git a/client/types/packagessyncer.go b/client/types/packagessyncer.go index 4a6e1b87..f2857b44 100644 --- a/client/types/packagessyncer.go +++ b/client/types/packagessyncer.go @@ -29,7 +29,7 @@ type PackageState struct { // must be ignored if this field is false. Exists bool - Type protobufs.PackageAvailable_PackageType + Type protobufs.PackageType Hash []byte Version string } @@ -64,7 +64,7 @@ type PackagesStateProvider interface { // CreatePackage creates the package locally. If the package existed must return an error. // If the package did not exist its hash should be set to nil. - CreatePackage(packageName string, typ protobufs.PackageAvailable_PackageType) error + CreatePackage(packageName string, typ protobufs.PackageType) error // FileContentHash returns the content hash of the package file that exists locally. // Returns (nil,nil) if package or package file is not found. diff --git a/internal/examples/agent/agent/agent.go b/internal/examples/agent/agent/agent.go index fbfc2741..fc55d397 100644 --- a/internal/examples/agent/agent/agent.go +++ b/internal/examples/agent/agent/agent.go @@ -103,9 +103,9 @@ func (agent *Agent) start() error { OnMessageFunc: agent.onMessage, }, RemoteConfigStatus: agent.remoteConfigStatus, - Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig | - protobufs.AgentCapabilities_ReportsEffectiveConfig | - protobufs.AgentCapabilities_ReportsOwnMetrics, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig | + protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig | + protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics, } err := agent.opampClient.SetAgentDescription(agent.agentDescription) if err != nil { @@ -323,13 +323,13 @@ func (agent *Agent) onMessage(ctx context.Context, msg *types.MessageData) { if err != nil { agent.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{ LastRemoteConfigHash: msg.RemoteConfig.ConfigHash, - Status: protobufs.RemoteConfigStatus_FAILED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED, ErrorMessage: err.Error(), }) } else { agent.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{ LastRemoteConfigHash: msg.RemoteConfig.ConfigHash, - Status: protobufs.RemoteConfigStatus_APPLIED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED, }) } } diff --git a/internal/examples/server/data/agent.go b/internal/examples/server/data/agent.go index f684632f..c80d8639 100644 --- a/internal/examples/server/data/agent.go +++ b/internal/examples/server/data/agent.go @@ -209,10 +209,17 @@ func (agent *Agent) processStatusUpdate( agentDescrChanged := agent.updateStatusField(newStatus) // Check if any fields were omitted in the status report. - effectiveConfigOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsEffectiveConfig) && newStatus.EffectiveConfig == nil - packageStatusesOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsPackageStatuses) && newStatus.PackageStatuses == nil - remoteConfigStatusOmitted := agent.hasCapability(protobufs.AgentCapabilities_AcceptsRemoteConfig) && newStatus.RemoteConfigStatus == nil - healthOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsHealth) && newStatus.Health == nil + effectiveConfigOmitted := agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig) && + newStatus.EffectiveConfig == nil + + packageStatusesOmitted := agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses) && + newStatus.PackageStatuses == nil + + remoteConfigStatusOmitted := agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig) && + newStatus.RemoteConfigStatus == nil + + healthOmitted := agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth) && + newStatus.Health == nil // True if the status was not fully reported. statusIsCompressed := effectiveConfigOmitted || packageStatusesOmitted || remoteConfigStatusOmitted || healthOmitted @@ -220,7 +227,7 @@ func (agent *Agent) processStatusUpdate( if statusIsCompressed && lostPreviousUpdate { // The status message is not fully set in the message that we received, but we lost the previous // status update. Request full status update from the agent. - response.Flags |= protobufs.ServerToAgent_ReportFullState + response.Flags |= protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState } configChanged := false diff --git a/internal/examples/supervisor/supervisor/supervisor.go b/internal/examples/supervisor/supervisor/supervisor.go index 161e1a48..a4bd97b5 100644 --- a/internal/examples/supervisor/supervisor/supervisor.go +++ b/internal/examples/supervisor/supervisor/supervisor.go @@ -151,10 +151,10 @@ func (s *Supervisor) startOpAMP() error { }, OnMessageFunc: s.onMessage, }, - Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig | - protobufs.AgentCapabilities_ReportsEffectiveConfig | - protobufs.AgentCapabilities_ReportsOwnMetrics | - protobufs.AgentCapabilities_ReportsHealth, + Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig | + protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig | + protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics | + protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth, } err := s.opampClient.SetAgentDescription(s.createAgentDescription()) if err != nil { @@ -472,13 +472,13 @@ func (s *Supervisor) onMessage(ctx context.Context, msg *types.MessageData) { if err != nil { s.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{ LastRemoteConfigHash: msg.RemoteConfig.ConfigHash, - Status: protobufs.RemoteConfigStatus_FAILED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED, ErrorMessage: err.Error(), }) } else { s.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{ LastRemoteConfigHash: msg.RemoteConfig.ConfigHash, - Status: protobufs.RemoteConfigStatus_APPLIED, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED, }) } } diff --git a/internal/proto/opamp.proto b/internal/proto/opamp.proto index 851a7e78..f8e30a53 100644 --- a/internal/proto/opamp.proto +++ b/internal/proto/opamp.proto @@ -73,18 +73,20 @@ message AgentToServer { // Agent to the Server. AgentDisconnect agent_disconnect = 9; - enum AgentToServerFlags { - FlagsUnspecified = 0; - // AgentToServerFlags is a bit mask. Values below define individual bits. - - // The Agent requests Server go generate a new instance_uid, which will - // be sent back in ServerToAgent message - RequestInstanceUid = 0x00000001; - } // Bit flags as defined by AgentToServerFlags bit masks. AgentToServerFlags flags = 10; } +enum AgentToServerFlags { + AgentToServerFlags_Unspecified = 0; + + // AgentToServerFlags is a bit mask. Values below define individual bits. + + // The Agent requests Server go generate a new instance_uid, which will + // be sent back in ServerToAgent message + AgentToServerFlags_RequestInstanceUid = 0x00000001; +} + // AgentDisconnect is the last message sent from the Agent to the Server. The Server // SHOULD forget the association of the Agent instance with the message stream. // @@ -116,21 +118,8 @@ message ServerToAgent { // This field is set when the Server has packages to offer to the Agent. PackagesAvailable packages_available = 5; - enum Flags { - FlagsUnspecified = 0; - - // Flags is a bit mask. Values below define individual bits. - - // ReportFullState flag can be used by the Server if the Agent did not include the - // particular bit of information in the last status report (which is an allowed - // optimization) but the Server detects that it does not have it (e.g. was - // restarted and lost state). The detection happens using - // AgentToServer.sequence_num values. - // The Server asks the Agent to report full status. - ReportFullState = 0x00000001; - } // Bit flags as defined by Flags bit masks. - Flags flags = 6; + ServerToAgentFlags flags = 6; // Bitmask of flags defined by ServerCapabilities enum. // All bits that are not defined in ServerCapabilities enum MUST be set to 0 @@ -152,22 +141,37 @@ message ServerToAgent { ServerToAgentCommand command = 9; } +enum ServerToAgentFlags { + ServerToAgentFlags_Unspecified = 0; + + // Flags is a bit mask. Values below define individual bits. + + // ReportFullState flag can be used by the Server if the Agent did not include the + // particular bit of information in the last status report (which is an allowed + // optimization) but the Server detects that it does not have it (e.g. was + // restarted and lost state). The detection happens using + // AgentToServer.sequence_num values. + // The Server asks the Agent to report full status. + ServerToAgentFlags_ReportFullState = 0x00000001; +} + enum ServerCapabilities { // The capabilities field is unspecified. - UnspecifiedServerCapability = 0; + ServerCapabilities_Unspecified = 0; + // The Server can accept status reports. This bit MUST be set, since all Server // MUST be able to accept status reports. - AcceptsStatus = 0x00000001; + ServerCapabilities_AcceptsStatus = 0x00000001; // The Server can offer remote configuration to the Agent. - OffersRemoteConfig = 0x00000002; + ServerCapabilities_OffersRemoteConfig = 0x00000002; // The Server can accept EffectiveConfig in AgentToServer. - AcceptsEffectiveConfig = 0x00000004; + ServerCapabilities_AcceptsEffectiveConfig = 0x00000004; // The Server can offer Packages. - OffersPackages = 0x00000008; + ServerCapabilities_OffersPackages = 0x00000008; // The Server can accept Packages status. - AcceptsPackagesStatus = 0x00000010; + ServerCapabilities_AcceptsPackagesStatus = 0x00000010; // The Server can offer connection settings. - OffersConnectionSettings = 0x00000020; + ServerCapabilities_OffersConnectionSettings = 0x00000020; // Add new capabilities here, continuing with the least significant unused bit. } @@ -382,11 +386,6 @@ message PackagesAvailable { // hash then the Agent does not need to do anything, it already // has the right version of the package. message PackageAvailable { - // The type of the package, either an addon or a top-level package. - enum PackageType { - TopLevelPackage = 0; - AddonPackage = 1; - } PackageType type = 1; // The package version that is available on the Server side. The Agent may for @@ -404,6 +403,12 @@ message PackageAvailable { bytes hash = 4; } +// The type of the package, either an addon or a top-level package. +enum PackageType { + PackageType_TopLevel = 0; + PackageType_Addon = 1; +} + message DownloadableFile { // The URL from which the file can be downloaded using HTTP GET request. // The Server at the specified URL SHOULD support range requests @@ -424,22 +429,7 @@ message DownloadableFile { } message ServerErrorResponse { - enum Type { - // Unknown error. Something went wrong, but it is not known what exactly. - // The Agent SHOULD NOT retry the message. - // The error_message field may contain a description of the problem. - Unknown = 0; - - // The AgentToServer message was malformed. The Agent SHOULD NOT retry - // the message. - BadRequest = 1; - - // The Server is overloaded and unable to process the request. The Agent - // should retry the message later. retry_info field may be optionally - // set with additional information about retrying. - Unavailable = 2; - } - Type type = 1; + ServerErrorResponseType type = 1; // Error message in the string form, typically human readable. string error_message = 2; @@ -450,6 +440,22 @@ message ServerErrorResponse { } } +enum ServerErrorResponseType { + // Unknown error. Something went wrong, but it is not known what exactly. + // The Agent SHOULD NOT retry the message. + // The error_message field may contain a description of the problem. + ServerErrorResponse_Unknown = 0; + + // The AgentToServer message was malformed. The Agent SHOULD NOT retry + // the message. + ServerErrorResponse_BadRequest = 1; + + // The Server is overloaded and unable to process the request. The Agent + // should retry the message later. retry_info field may be optionally + // set with additional information about retrying. + ServerErrorResponse_Unavailable = 2; +} + message RetryInfo { uint64 retry_after_nanoseconds = 1; } @@ -457,14 +463,15 @@ message RetryInfo { // ServerToAgentCommand is sent from the Server to the Agent to request that the Agent // perform a command. message ServerToAgentCommand { - enum CommandType { - // The Agent should restart. This request will be ignored if the Agent does not - // support restart. - Restart = 0; - } CommandType type = 1; } +enum CommandType { + // The Agent should restart. This request will be ignored if the Agent does not + // support restart. + CommandType_Restart = 0; +} + //////////////////////////////////////////////////////////////////////////////////// // Status reporting @@ -509,37 +516,37 @@ message AgentDescription { enum AgentCapabilities { // The capabilities field is unspecified. - UnspecifiedAgentCapability = 0; + AgentCapabilities_Unspecified = 0; // The Agent can report status. This bit MUST be set, since all Agents MUST // report status. - ReportsStatus = 0x00000001; + AgentCapabilities_ReportsStatus = 0x00000001; // The Agent can accept remote configuration from the Server. - AcceptsRemoteConfig = 0x00000002; + AgentCapabilities_AcceptsRemoteConfig = 0x00000002; // The Agent will report EffectiveConfig in AgentToServer. - ReportsEffectiveConfig = 0x00000004; + AgentCapabilities_ReportsEffectiveConfig = 0x00000004; // The Agent can accept package offers. - AcceptsPackages = 0x00000008; + AgentCapabilities_AcceptsPackages = 0x00000008; // The Agent can report package status. - ReportsPackageStatuses = 0x00000010; + AgentCapabilities_ReportsPackageStatuses = 0x00000010; // The Agent can report own trace to the destination specified by // the Server via ConnectionSettingsOffers.own_traces field. - ReportsOwnTraces = 0x00000020; + AgentCapabilities_ReportsOwnTraces = 0x00000020; // The Agent can report own metrics to the destination specified by // the Server via ConnectionSettingsOffers.own_metrics field. - ReportsOwnMetrics = 0x00000040; + AgentCapabilities_ReportsOwnMetrics = 0x00000040; // The Agent can report own logs to the destination specified by // the Server via ConnectionSettingsOffers.own_logs field. - ReportsOwnLogs = 0x00000080; + AgentCapabilities_ReportsOwnLogs = 0x00000080; // The can accept connections settings for OpAMP via // ConnectionSettingsOffers.opamp field. - AcceptsOpAMPConnectionSettings = 0x00000100; + AgentCapabilities_AcceptsOpAMPConnectionSettings = 0x00000100; // The can accept connections settings for other destinations via // ConnectionSettingsOffers.other_connections field. - AcceptsOtherConnectionSettings = 0x00000200; + AgentCapabilities_AcceptsOtherConnectionSettings = 0x00000200; // The Agent can accept restart requests. - AcceptsRestartCommand = 0x00000400; + AgentCapabilities_AcceptsRestartCommand = 0x00000400; // The Agent will report Health via AgentToServer.health field. - ReportsHealth = 0x00000800; + AgentCapabilities_ReportsHealth = 0x00000800; // Add new capabilities here, continuing with the least significant unused bit. } @@ -572,24 +579,25 @@ message RemoteConfigStatus { // the remote_config field in the response in the ServerToAgent message. bytes last_remote_config_hash = 1; - enum Status { - // The value of status field is not set. - UNSET = 0; + RemoteConfigStatuses status = 2; - // Remote config was successfully applied by the Agent. - APPLIED = 1; + // Optional error message if status==FAILED. + string error_message = 3; +} - // Agent is currently applying the remote config that it received earlier. - APPLYING = 2; +enum RemoteConfigStatuses { + // The value of status field is not set. + RemoteConfigStatuses_UNSET = 0; - // Agent tried to apply the config received earlier, but it failed. - // See error_message for more details. - FAILED = 3; - } - Status status = 2; + // Remote config was successfully applied by the Agent. + RemoteConfigStatuses_APPLIED = 1; - // Optional error message if status==FAILED. - string error_message = 3; + // Agent is currently applying the remote config that it received earlier. + RemoteConfigStatuses_APPLYING = 2; + + // Agent tried to apply the config received earlier, but it failed. + // See error_message for more details. + RemoteConfigStatuses_FAILED = 3; } // The PackageStatuses message describes the status of all packages that the Agent @@ -660,32 +668,33 @@ message PackageStatus { // Server offers a different version, but the Agent fails to install that version. bytes server_offered_hash = 5; - // The status of this package. - enum Status { - // Package is successfully installed by the Agent. - // The error_message field MUST NOT be set. - Installed = 0; - - // Installation of this package has not yet started. - InstallPending = 1; - - // Agent is currently downloading and installing the package. - // server_offered_hash field MUST be set to indicate the version that the - // Agent is installing. The error_message field MUST NOT be set. - Installing = 2; - - // Agent tried to install the package but installation failed. - // server_offered_hash field MUST be set to indicate the version that the Agent - // tried to install. The error_message may also contain more details about - // the failure. - InstallFailed = 3; - } - Status status = 6; + PackageStatusEnum status = 6; // Error message if the status is erroneous. string error_message = 7; } +// The status of this package. +enum PackageStatusEnum { + // Package is successfully installed by the Agent. + // The error_message field MUST NOT be set. + PackageStatusEnum_Installed = 0; + + // Installation of this package has not yet started. + PackageStatusEnum_InstallPending = 1; + + // Agent is currently downloading and installing the package. + // server_offered_hash field MUST be set to indicate the version that the + // Agent is installing. The error_message field MUST NOT be set. + PackageStatusEnum_Installing = 2; + + // Agent tried to install the package but installation failed. + // server_offered_hash field MUST be set to indicate the version that the Agent + // tried to install. The error_message may also contain more details about + // the failure. + PackageStatusEnum_InstallFailed = 3; +} + // Properties related to identification of the Agent, which can be overridden // by the Server if needed message AgentIdentification { diff --git a/protobufs/opamp.pb.go b/protobufs/opamp.pb.go index ca75af21..88967d21 100644 --- a/protobufs/opamp.pb.go +++ b/protobufs/opamp.pb.go @@ -36,540 +36,540 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type ServerCapabilities int32 +type AgentToServerFlags int32 const ( - // The capabilities field is unspecified. - ServerCapabilities_UnspecifiedServerCapability ServerCapabilities = 0 - // The Server can accept status reports. This bit MUST be set, since all Server - // MUST be able to accept status reports. - ServerCapabilities_AcceptsStatus ServerCapabilities = 1 - // The Server can offer remote configuration to the Agent. - ServerCapabilities_OffersRemoteConfig ServerCapabilities = 2 - // The Server can accept EffectiveConfig in AgentToServer. - ServerCapabilities_AcceptsEffectiveConfig ServerCapabilities = 4 - // The Server can offer Packages. - ServerCapabilities_OffersPackages ServerCapabilities = 8 - // The Server can accept Packages status. - ServerCapabilities_AcceptsPackagesStatus ServerCapabilities = 16 - // The Server can offer connection settings. - ServerCapabilities_OffersConnectionSettings ServerCapabilities = 32 + AgentToServerFlags_AgentToServerFlags_Unspecified AgentToServerFlags = 0 + // The Agent requests Server go generate a new instance_uid, which will + // be sent back in ServerToAgent message + AgentToServerFlags_AgentToServerFlags_RequestInstanceUid AgentToServerFlags = 1 ) -// Enum value maps for ServerCapabilities. +// Enum value maps for AgentToServerFlags. var ( - ServerCapabilities_name = map[int32]string{ - 0: "UnspecifiedServerCapability", - 1: "AcceptsStatus", - 2: "OffersRemoteConfig", - 4: "AcceptsEffectiveConfig", - 8: "OffersPackages", - 16: "AcceptsPackagesStatus", - 32: "OffersConnectionSettings", + AgentToServerFlags_name = map[int32]string{ + 0: "AgentToServerFlags_Unspecified", + 1: "AgentToServerFlags_RequestInstanceUid", } - ServerCapabilities_value = map[string]int32{ - "UnspecifiedServerCapability": 0, - "AcceptsStatus": 1, - "OffersRemoteConfig": 2, - "AcceptsEffectiveConfig": 4, - "OffersPackages": 8, - "AcceptsPackagesStatus": 16, - "OffersConnectionSettings": 32, + AgentToServerFlags_value = map[string]int32{ + "AgentToServerFlags_Unspecified": 0, + "AgentToServerFlags_RequestInstanceUid": 1, } ) -func (x ServerCapabilities) Enum() *ServerCapabilities { - p := new(ServerCapabilities) +func (x AgentToServerFlags) Enum() *AgentToServerFlags { + p := new(AgentToServerFlags) *p = x return p } -func (x ServerCapabilities) String() string { +func (x AgentToServerFlags) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ServerCapabilities) Descriptor() protoreflect.EnumDescriptor { +func (AgentToServerFlags) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[0].Descriptor() } -func (ServerCapabilities) Type() protoreflect.EnumType { +func (AgentToServerFlags) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[0] } -func (x ServerCapabilities) Number() protoreflect.EnumNumber { +func (x AgentToServerFlags) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ServerCapabilities.Descriptor instead. -func (ServerCapabilities) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use AgentToServerFlags.Descriptor instead. +func (AgentToServerFlags) EnumDescriptor() ([]byte, []int) { return file_opamp_proto_rawDescGZIP(), []int{0} } -type AgentCapabilities int32 +type ServerToAgentFlags int32 const ( - // The capabilities field is unspecified. - AgentCapabilities_UnspecifiedAgentCapability AgentCapabilities = 0 - // The Agent can report status. This bit MUST be set, since all Agents MUST - // report status. - AgentCapabilities_ReportsStatus AgentCapabilities = 1 - // The Agent can accept remote configuration from the Server. - AgentCapabilities_AcceptsRemoteConfig AgentCapabilities = 2 - // The Agent will report EffectiveConfig in AgentToServer. - AgentCapabilities_ReportsEffectiveConfig AgentCapabilities = 4 - // The Agent can accept package offers. - AgentCapabilities_AcceptsPackages AgentCapabilities = 8 - // The Agent can report package status. - AgentCapabilities_ReportsPackageStatuses AgentCapabilities = 16 - // The Agent can report own trace to the destination specified by - // the Server via ConnectionSettingsOffers.own_traces field. - AgentCapabilities_ReportsOwnTraces AgentCapabilities = 32 - // The Agent can report own metrics to the destination specified by - // the Server via ConnectionSettingsOffers.own_metrics field. - AgentCapabilities_ReportsOwnMetrics AgentCapabilities = 64 - // The Agent can report own logs to the destination specified by - // the Server via ConnectionSettingsOffers.own_logs field. - AgentCapabilities_ReportsOwnLogs AgentCapabilities = 128 - // The can accept connections settings for OpAMP via - // ConnectionSettingsOffers.opamp field. - AgentCapabilities_AcceptsOpAMPConnectionSettings AgentCapabilities = 256 - // The can accept connections settings for other destinations via - // ConnectionSettingsOffers.other_connections field. - AgentCapabilities_AcceptsOtherConnectionSettings AgentCapabilities = 512 - // The Agent can accept restart requests. - AgentCapabilities_AcceptsRestartCommand AgentCapabilities = 1024 - // The Agent will report Health via AgentToServer.health field. - AgentCapabilities_ReportsHealth AgentCapabilities = 2048 + ServerToAgentFlags_ServerToAgentFlags_Unspecified ServerToAgentFlags = 0 + // ReportFullState flag can be used by the Server if the Agent did not include the + // particular bit of information in the last status report (which is an allowed + // optimization) but the Server detects that it does not have it (e.g. was + // restarted and lost state). The detection happens using + // AgentToServer.sequence_num values. + // The Server asks the Agent to report full status. + ServerToAgentFlags_ServerToAgentFlags_ReportFullState ServerToAgentFlags = 1 ) -// Enum value maps for AgentCapabilities. +// Enum value maps for ServerToAgentFlags. var ( - AgentCapabilities_name = map[int32]string{ - 0: "UnspecifiedAgentCapability", - 1: "ReportsStatus", - 2: "AcceptsRemoteConfig", - 4: "ReportsEffectiveConfig", - 8: "AcceptsPackages", - 16: "ReportsPackageStatuses", - 32: "ReportsOwnTraces", - 64: "ReportsOwnMetrics", - 128: "ReportsOwnLogs", - 256: "AcceptsOpAMPConnectionSettings", - 512: "AcceptsOtherConnectionSettings", - 1024: "AcceptsRestartCommand", - 2048: "ReportsHealth", + ServerToAgentFlags_name = map[int32]string{ + 0: "ServerToAgentFlags_Unspecified", + 1: "ServerToAgentFlags_ReportFullState", } - AgentCapabilities_value = map[string]int32{ - "UnspecifiedAgentCapability": 0, - "ReportsStatus": 1, - "AcceptsRemoteConfig": 2, - "ReportsEffectiveConfig": 4, - "AcceptsPackages": 8, - "ReportsPackageStatuses": 16, - "ReportsOwnTraces": 32, - "ReportsOwnMetrics": 64, - "ReportsOwnLogs": 128, - "AcceptsOpAMPConnectionSettings": 256, - "AcceptsOtherConnectionSettings": 512, - "AcceptsRestartCommand": 1024, - "ReportsHealth": 2048, + ServerToAgentFlags_value = map[string]int32{ + "ServerToAgentFlags_Unspecified": 0, + "ServerToAgentFlags_ReportFullState": 1, } ) -func (x AgentCapabilities) Enum() *AgentCapabilities { - p := new(AgentCapabilities) +func (x ServerToAgentFlags) Enum() *ServerToAgentFlags { + p := new(ServerToAgentFlags) *p = x return p } -func (x AgentCapabilities) String() string { +func (x ServerToAgentFlags) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (AgentCapabilities) Descriptor() protoreflect.EnumDescriptor { +func (ServerToAgentFlags) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[1].Descriptor() } -func (AgentCapabilities) Type() protoreflect.EnumType { +func (ServerToAgentFlags) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[1] } -func (x AgentCapabilities) Number() protoreflect.EnumNumber { +func (x ServerToAgentFlags) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use AgentCapabilities.Descriptor instead. -func (AgentCapabilities) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use ServerToAgentFlags.Descriptor instead. +func (ServerToAgentFlags) EnumDescriptor() ([]byte, []int) { return file_opamp_proto_rawDescGZIP(), []int{1} } -type AgentToServer_AgentToServerFlags int32 +type ServerCapabilities int32 const ( - AgentToServer_FlagsUnspecified AgentToServer_AgentToServerFlags = 0 // AgentToServerFlags is a bit mask. Values below define individual bits. - // The Agent requests Server go generate a new instance_uid, which will - // be sent back in ServerToAgent message - AgentToServer_RequestInstanceUid AgentToServer_AgentToServerFlags = 1 + // The capabilities field is unspecified. + ServerCapabilities_ServerCapabilities_Unspecified ServerCapabilities = 0 + // The Server can accept status reports. This bit MUST be set, since all Server + // MUST be able to accept status reports. + ServerCapabilities_ServerCapabilities_AcceptsStatus ServerCapabilities = 1 + // The Server can offer remote configuration to the Agent. + ServerCapabilities_ServerCapabilities_OffersRemoteConfig ServerCapabilities = 2 + // The Server can accept EffectiveConfig in AgentToServer. + ServerCapabilities_ServerCapabilities_AcceptsEffectiveConfig ServerCapabilities = 4 + // The Server can offer Packages. + ServerCapabilities_ServerCapabilities_OffersPackages ServerCapabilities = 8 + // The Server can accept Packages status. + ServerCapabilities_ServerCapabilities_AcceptsPackagesStatus ServerCapabilities = 16 + // The Server can offer connection settings. + ServerCapabilities_ServerCapabilities_OffersConnectionSettings ServerCapabilities = 32 ) -// Enum value maps for AgentToServer_AgentToServerFlags. +// Enum value maps for ServerCapabilities. var ( - AgentToServer_AgentToServerFlags_name = map[int32]string{ - 0: "FlagsUnspecified", - 1: "RequestInstanceUid", + ServerCapabilities_name = map[int32]string{ + 0: "ServerCapabilities_Unspecified", + 1: "ServerCapabilities_AcceptsStatus", + 2: "ServerCapabilities_OffersRemoteConfig", + 4: "ServerCapabilities_AcceptsEffectiveConfig", + 8: "ServerCapabilities_OffersPackages", + 16: "ServerCapabilities_AcceptsPackagesStatus", + 32: "ServerCapabilities_OffersConnectionSettings", } - AgentToServer_AgentToServerFlags_value = map[string]int32{ - "FlagsUnspecified": 0, - "RequestInstanceUid": 1, + ServerCapabilities_value = map[string]int32{ + "ServerCapabilities_Unspecified": 0, + "ServerCapabilities_AcceptsStatus": 1, + "ServerCapabilities_OffersRemoteConfig": 2, + "ServerCapabilities_AcceptsEffectiveConfig": 4, + "ServerCapabilities_OffersPackages": 8, + "ServerCapabilities_AcceptsPackagesStatus": 16, + "ServerCapabilities_OffersConnectionSettings": 32, } ) -func (x AgentToServer_AgentToServerFlags) Enum() *AgentToServer_AgentToServerFlags { - p := new(AgentToServer_AgentToServerFlags) +func (x ServerCapabilities) Enum() *ServerCapabilities { + p := new(ServerCapabilities) *p = x return p } -func (x AgentToServer_AgentToServerFlags) String() string { +func (x ServerCapabilities) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (AgentToServer_AgentToServerFlags) Descriptor() protoreflect.EnumDescriptor { +func (ServerCapabilities) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[2].Descriptor() } -func (AgentToServer_AgentToServerFlags) Type() protoreflect.EnumType { +func (ServerCapabilities) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[2] } -func (x AgentToServer_AgentToServerFlags) Number() protoreflect.EnumNumber { +func (x ServerCapabilities) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use AgentToServer_AgentToServerFlags.Descriptor instead. -func (AgentToServer_AgentToServerFlags) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{0, 0} +// Deprecated: Use ServerCapabilities.Descriptor instead. +func (ServerCapabilities) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{2} } -type ServerToAgent_Flags int32 +// The type of the package, either an addon or a top-level package. +type PackageType int32 const ( - ServerToAgent_FlagsUnspecified ServerToAgent_Flags = 0 - // ReportFullState flag can be used by the Server if the Agent did not include the - // particular bit of information in the last status report (which is an allowed - // optimization) but the Server detects that it does not have it (e.g. was - // restarted and lost state). The detection happens using - // AgentToServer.sequence_num values. - // The Server asks the Agent to report full status. - ServerToAgent_ReportFullState ServerToAgent_Flags = 1 + PackageType_PackageType_TopLevel PackageType = 0 + PackageType_PackageType_Addon PackageType = 1 ) -// Enum value maps for ServerToAgent_Flags. +// Enum value maps for PackageType. var ( - ServerToAgent_Flags_name = map[int32]string{ - 0: "FlagsUnspecified", - 1: "ReportFullState", + PackageType_name = map[int32]string{ + 0: "PackageType_TopLevel", + 1: "PackageType_Addon", } - ServerToAgent_Flags_value = map[string]int32{ - "FlagsUnspecified": 0, - "ReportFullState": 1, + PackageType_value = map[string]int32{ + "PackageType_TopLevel": 0, + "PackageType_Addon": 1, } ) -func (x ServerToAgent_Flags) Enum() *ServerToAgent_Flags { - p := new(ServerToAgent_Flags) +func (x PackageType) Enum() *PackageType { + p := new(PackageType) *p = x return p } -func (x ServerToAgent_Flags) String() string { +func (x PackageType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ServerToAgent_Flags) Descriptor() protoreflect.EnumDescriptor { +func (PackageType) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[3].Descriptor() } -func (ServerToAgent_Flags) Type() protoreflect.EnumType { +func (PackageType) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[3] } -func (x ServerToAgent_Flags) Number() protoreflect.EnumNumber { +func (x PackageType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ServerToAgent_Flags.Descriptor instead. -func (ServerToAgent_Flags) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{2, 0} +// Deprecated: Use PackageType.Descriptor instead. +func (PackageType) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{3} } -// The type of the package, either an addon or a top-level package. -type PackageAvailable_PackageType int32 +type ServerErrorResponseType int32 const ( - PackageAvailable_TopLevelPackage PackageAvailable_PackageType = 0 - PackageAvailable_AddonPackage PackageAvailable_PackageType = 1 + // Unknown error. Something went wrong, but it is not known what exactly. + // The Agent SHOULD NOT retry the message. + // The error_message field may contain a description of the problem. + ServerErrorResponseType_ServerErrorResponse_Unknown ServerErrorResponseType = 0 + // The AgentToServer message was malformed. The Agent SHOULD NOT retry + // the message. + ServerErrorResponseType_ServerErrorResponse_BadRequest ServerErrorResponseType = 1 + // The Server is overloaded and unable to process the request. The Agent + // should retry the message later. retry_info field may be optionally + // set with additional information about retrying. + ServerErrorResponseType_ServerErrorResponse_Unavailable ServerErrorResponseType = 2 ) -// Enum value maps for PackageAvailable_PackageType. +// Enum value maps for ServerErrorResponseType. var ( - PackageAvailable_PackageType_name = map[int32]string{ - 0: "TopLevelPackage", - 1: "AddonPackage", + ServerErrorResponseType_name = map[int32]string{ + 0: "ServerErrorResponse_Unknown", + 1: "ServerErrorResponse_BadRequest", + 2: "ServerErrorResponse_Unavailable", } - PackageAvailable_PackageType_value = map[string]int32{ - "TopLevelPackage": 0, - "AddonPackage": 1, + ServerErrorResponseType_value = map[string]int32{ + "ServerErrorResponse_Unknown": 0, + "ServerErrorResponse_BadRequest": 1, + "ServerErrorResponse_Unavailable": 2, } ) -func (x PackageAvailable_PackageType) Enum() *PackageAvailable_PackageType { - p := new(PackageAvailable_PackageType) +func (x ServerErrorResponseType) Enum() *ServerErrorResponseType { + p := new(ServerErrorResponseType) *p = x return p } -func (x PackageAvailable_PackageType) String() string { +func (x ServerErrorResponseType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PackageAvailable_PackageType) Descriptor() protoreflect.EnumDescriptor { +func (ServerErrorResponseType) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[4].Descriptor() } -func (PackageAvailable_PackageType) Type() protoreflect.EnumType { +func (ServerErrorResponseType) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[4] } -func (x PackageAvailable_PackageType) Number() protoreflect.EnumNumber { +func (x ServerErrorResponseType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PackageAvailable_PackageType.Descriptor instead. -func (PackageAvailable_PackageType) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{11, 0} +// Deprecated: Use ServerErrorResponseType.Descriptor instead. +func (ServerErrorResponseType) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{4} } -type ServerErrorResponse_Type int32 +type CommandType int32 const ( - // Unknown error. Something went wrong, but it is not known what exactly. - // The Agent SHOULD NOT retry the message. - // The error_message field may contain a description of the problem. - ServerErrorResponse_Unknown ServerErrorResponse_Type = 0 - // The AgentToServer message was malformed. The Agent SHOULD NOT retry - // the message. - ServerErrorResponse_BadRequest ServerErrorResponse_Type = 1 - // The Server is overloaded and unable to process the request. The Agent - // should retry the message later. retry_info field may be optionally - // set with additional information about retrying. - ServerErrorResponse_Unavailable ServerErrorResponse_Type = 2 + // The Agent should restart. This request will be ignored if the Agent does not + // support restart. + CommandType_CommandType_Restart CommandType = 0 ) -// Enum value maps for ServerErrorResponse_Type. +// Enum value maps for CommandType. var ( - ServerErrorResponse_Type_name = map[int32]string{ - 0: "Unknown", - 1: "BadRequest", - 2: "Unavailable", + CommandType_name = map[int32]string{ + 0: "CommandType_Restart", } - ServerErrorResponse_Type_value = map[string]int32{ - "Unknown": 0, - "BadRequest": 1, - "Unavailable": 2, + CommandType_value = map[string]int32{ + "CommandType_Restart": 0, } ) -func (x ServerErrorResponse_Type) Enum() *ServerErrorResponse_Type { - p := new(ServerErrorResponse_Type) +func (x CommandType) Enum() *CommandType { + p := new(CommandType) *p = x return p } -func (x ServerErrorResponse_Type) String() string { +func (x CommandType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ServerErrorResponse_Type) Descriptor() protoreflect.EnumDescriptor { +func (CommandType) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[5].Descriptor() } -func (ServerErrorResponse_Type) Type() protoreflect.EnumType { +func (CommandType) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[5] } -func (x ServerErrorResponse_Type) Number() protoreflect.EnumNumber { +func (x CommandType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ServerErrorResponse_Type.Descriptor instead. -func (ServerErrorResponse_Type) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{13, 0} +// Deprecated: Use CommandType.Descriptor instead. +func (CommandType) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{5} } -type ServerToAgentCommand_CommandType int32 +type AgentCapabilities int32 const ( - // The Agent should restart. This request will be ignored if the Agent does not - // support restart. - ServerToAgentCommand_Restart ServerToAgentCommand_CommandType = 0 + // The capabilities field is unspecified. + AgentCapabilities_AgentCapabilities_Unspecified AgentCapabilities = 0 + // The Agent can report status. This bit MUST be set, since all Agents MUST + // report status. + AgentCapabilities_AgentCapabilities_ReportsStatus AgentCapabilities = 1 + // The Agent can accept remote configuration from the Server. + AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig AgentCapabilities = 2 + // The Agent will report EffectiveConfig in AgentToServer. + AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig AgentCapabilities = 4 + // The Agent can accept package offers. + AgentCapabilities_AgentCapabilities_AcceptsPackages AgentCapabilities = 8 + // The Agent can report package status. + AgentCapabilities_AgentCapabilities_ReportsPackageStatuses AgentCapabilities = 16 + // The Agent can report own trace to the destination specified by + // the Server via ConnectionSettingsOffers.own_traces field. + AgentCapabilities_AgentCapabilities_ReportsOwnTraces AgentCapabilities = 32 + // The Agent can report own metrics to the destination specified by + // the Server via ConnectionSettingsOffers.own_metrics field. + AgentCapabilities_AgentCapabilities_ReportsOwnMetrics AgentCapabilities = 64 + // The Agent can report own logs to the destination specified by + // the Server via ConnectionSettingsOffers.own_logs field. + AgentCapabilities_AgentCapabilities_ReportsOwnLogs AgentCapabilities = 128 + // The can accept connections settings for OpAMP via + // ConnectionSettingsOffers.opamp field. + AgentCapabilities_AgentCapabilities_AcceptsOpAMPConnectionSettings AgentCapabilities = 256 + // The can accept connections settings for other destinations via + // ConnectionSettingsOffers.other_connections field. + AgentCapabilities_AgentCapabilities_AcceptsOtherConnectionSettings AgentCapabilities = 512 + // The Agent can accept restart requests. + AgentCapabilities_AgentCapabilities_AcceptsRestartCommand AgentCapabilities = 1024 + // The Agent will report Health via AgentToServer.health field. + AgentCapabilities_AgentCapabilities_ReportsHealth AgentCapabilities = 2048 ) -// Enum value maps for ServerToAgentCommand_CommandType. +// Enum value maps for AgentCapabilities. var ( - ServerToAgentCommand_CommandType_name = map[int32]string{ - 0: "Restart", + AgentCapabilities_name = map[int32]string{ + 0: "AgentCapabilities_Unspecified", + 1: "AgentCapabilities_ReportsStatus", + 2: "AgentCapabilities_AcceptsRemoteConfig", + 4: "AgentCapabilities_ReportsEffectiveConfig", + 8: "AgentCapabilities_AcceptsPackages", + 16: "AgentCapabilities_ReportsPackageStatuses", + 32: "AgentCapabilities_ReportsOwnTraces", + 64: "AgentCapabilities_ReportsOwnMetrics", + 128: "AgentCapabilities_ReportsOwnLogs", + 256: "AgentCapabilities_AcceptsOpAMPConnectionSettings", + 512: "AgentCapabilities_AcceptsOtherConnectionSettings", + 1024: "AgentCapabilities_AcceptsRestartCommand", + 2048: "AgentCapabilities_ReportsHealth", } - ServerToAgentCommand_CommandType_value = map[string]int32{ - "Restart": 0, + AgentCapabilities_value = map[string]int32{ + "AgentCapabilities_Unspecified": 0, + "AgentCapabilities_ReportsStatus": 1, + "AgentCapabilities_AcceptsRemoteConfig": 2, + "AgentCapabilities_ReportsEffectiveConfig": 4, + "AgentCapabilities_AcceptsPackages": 8, + "AgentCapabilities_ReportsPackageStatuses": 16, + "AgentCapabilities_ReportsOwnTraces": 32, + "AgentCapabilities_ReportsOwnMetrics": 64, + "AgentCapabilities_ReportsOwnLogs": 128, + "AgentCapabilities_AcceptsOpAMPConnectionSettings": 256, + "AgentCapabilities_AcceptsOtherConnectionSettings": 512, + "AgentCapabilities_AcceptsRestartCommand": 1024, + "AgentCapabilities_ReportsHealth": 2048, } ) -func (x ServerToAgentCommand_CommandType) Enum() *ServerToAgentCommand_CommandType { - p := new(ServerToAgentCommand_CommandType) +func (x AgentCapabilities) Enum() *AgentCapabilities { + p := new(AgentCapabilities) *p = x return p } -func (x ServerToAgentCommand_CommandType) String() string { +func (x AgentCapabilities) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ServerToAgentCommand_CommandType) Descriptor() protoreflect.EnumDescriptor { +func (AgentCapabilities) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[6].Descriptor() } -func (ServerToAgentCommand_CommandType) Type() protoreflect.EnumType { +func (AgentCapabilities) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[6] } -func (x ServerToAgentCommand_CommandType) Number() protoreflect.EnumNumber { +func (x AgentCapabilities) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ServerToAgentCommand_CommandType.Descriptor instead. -func (ServerToAgentCommand_CommandType) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{15, 0} +// Deprecated: Use AgentCapabilities.Descriptor instead. +func (AgentCapabilities) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{6} } -type RemoteConfigStatus_Status int32 +type RemoteConfigStatuses int32 const ( // The value of status field is not set. - RemoteConfigStatus_UNSET RemoteConfigStatus_Status = 0 + RemoteConfigStatuses_RemoteConfigStatuses_UNSET RemoteConfigStatuses = 0 // Remote config was successfully applied by the Agent. - RemoteConfigStatus_APPLIED RemoteConfigStatus_Status = 1 + RemoteConfigStatuses_RemoteConfigStatuses_APPLIED RemoteConfigStatuses = 1 // Agent is currently applying the remote config that it received earlier. - RemoteConfigStatus_APPLYING RemoteConfigStatus_Status = 2 + RemoteConfigStatuses_RemoteConfigStatuses_APPLYING RemoteConfigStatuses = 2 // Agent tried to apply the config received earlier, but it failed. // See error_message for more details. - RemoteConfigStatus_FAILED RemoteConfigStatus_Status = 3 + RemoteConfigStatuses_RemoteConfigStatuses_FAILED RemoteConfigStatuses = 3 ) -// Enum value maps for RemoteConfigStatus_Status. +// Enum value maps for RemoteConfigStatuses. var ( - RemoteConfigStatus_Status_name = map[int32]string{ - 0: "UNSET", - 1: "APPLIED", - 2: "APPLYING", - 3: "FAILED", - } - RemoteConfigStatus_Status_value = map[string]int32{ - "UNSET": 0, - "APPLIED": 1, - "APPLYING": 2, - "FAILED": 3, + RemoteConfigStatuses_name = map[int32]string{ + 0: "RemoteConfigStatuses_UNSET", + 1: "RemoteConfigStatuses_APPLIED", + 2: "RemoteConfigStatuses_APPLYING", + 3: "RemoteConfigStatuses_FAILED", + } + RemoteConfigStatuses_value = map[string]int32{ + "RemoteConfigStatuses_UNSET": 0, + "RemoteConfigStatuses_APPLIED": 1, + "RemoteConfigStatuses_APPLYING": 2, + "RemoteConfigStatuses_FAILED": 3, } ) -func (x RemoteConfigStatus_Status) Enum() *RemoteConfigStatus_Status { - p := new(RemoteConfigStatus_Status) +func (x RemoteConfigStatuses) Enum() *RemoteConfigStatuses { + p := new(RemoteConfigStatuses) *p = x return p } -func (x RemoteConfigStatus_Status) String() string { +func (x RemoteConfigStatuses) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (RemoteConfigStatus_Status) Descriptor() protoreflect.EnumDescriptor { +func (RemoteConfigStatuses) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[7].Descriptor() } -func (RemoteConfigStatus_Status) Type() protoreflect.EnumType { +func (RemoteConfigStatuses) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[7] } -func (x RemoteConfigStatus_Status) Number() protoreflect.EnumNumber { +func (x RemoteConfigStatuses) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use RemoteConfigStatus_Status.Descriptor instead. -func (RemoteConfigStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{19, 0} +// Deprecated: Use RemoteConfigStatuses.Descriptor instead. +func (RemoteConfigStatuses) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{7} } // The status of this package. -type PackageStatus_Status int32 +type PackageStatusEnum int32 const ( // Package is successfully installed by the Agent. // The error_message field MUST NOT be set. - PackageStatus_Installed PackageStatus_Status = 0 + PackageStatusEnum_PackageStatusEnum_Installed PackageStatusEnum = 0 // Installation of this package has not yet started. - PackageStatus_InstallPending PackageStatus_Status = 1 + PackageStatusEnum_PackageStatusEnum_InstallPending PackageStatusEnum = 1 // Agent is currently downloading and installing the package. // server_offered_hash field MUST be set to indicate the version that the // Agent is installing. The error_message field MUST NOT be set. - PackageStatus_Installing PackageStatus_Status = 2 + PackageStatusEnum_PackageStatusEnum_Installing PackageStatusEnum = 2 // Agent tried to install the package but installation failed. // server_offered_hash field MUST be set to indicate the version that the Agent // tried to install. The error_message may also contain more details about // the failure. - PackageStatus_InstallFailed PackageStatus_Status = 3 + PackageStatusEnum_PackageStatusEnum_InstallFailed PackageStatusEnum = 3 ) -// Enum value maps for PackageStatus_Status. +// Enum value maps for PackageStatusEnum. var ( - PackageStatus_Status_name = map[int32]string{ - 0: "Installed", - 1: "InstallPending", - 2: "Installing", - 3: "InstallFailed", - } - PackageStatus_Status_value = map[string]int32{ - "Installed": 0, - "InstallPending": 1, - "Installing": 2, - "InstallFailed": 3, + PackageStatusEnum_name = map[int32]string{ + 0: "PackageStatusEnum_Installed", + 1: "PackageStatusEnum_InstallPending", + 2: "PackageStatusEnum_Installing", + 3: "PackageStatusEnum_InstallFailed", + } + PackageStatusEnum_value = map[string]int32{ + "PackageStatusEnum_Installed": 0, + "PackageStatusEnum_InstallPending": 1, + "PackageStatusEnum_Installing": 2, + "PackageStatusEnum_InstallFailed": 3, } ) -func (x PackageStatus_Status) Enum() *PackageStatus_Status { - p := new(PackageStatus_Status) +func (x PackageStatusEnum) Enum() *PackageStatusEnum { + p := new(PackageStatusEnum) *p = x return p } -func (x PackageStatus_Status) String() string { +func (x PackageStatusEnum) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PackageStatus_Status) Descriptor() protoreflect.EnumDescriptor { +func (PackageStatusEnum) Descriptor() protoreflect.EnumDescriptor { return file_opamp_proto_enumTypes[8].Descriptor() } -func (PackageStatus_Status) Type() protoreflect.EnumType { +func (PackageStatusEnum) Type() protoreflect.EnumType { return &file_opamp_proto_enumTypes[8] } -func (x PackageStatus_Status) Number() protoreflect.EnumNumber { +func (x PackageStatusEnum) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PackageStatus_Status.Descriptor instead. -func (PackageStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_opamp_proto_rawDescGZIP(), []int{21, 0} +// Deprecated: Use PackageStatusEnum.Descriptor instead. +func (PackageStatusEnum) EnumDescriptor() ([]byte, []int) { + return file_opamp_proto_rawDescGZIP(), []int{8} } type AgentToServer struct { @@ -619,7 +619,7 @@ type AgentToServer struct { // Agent to the Server. AgentDisconnect *AgentDisconnect `protobuf:"bytes,9,opt,name=agent_disconnect,json=agentDisconnect,proto3" json:"agent_disconnect,omitempty"` // Bit flags as defined by AgentToServerFlags bit masks. - Flags AgentToServer_AgentToServerFlags `protobuf:"varint,10,opt,name=flags,proto3,enum=opamp.proto.AgentToServer_AgentToServerFlags" json:"flags,omitempty"` + Flags AgentToServerFlags `protobuf:"varint,10,opt,name=flags,proto3,enum=opamp.proto.AgentToServerFlags" json:"flags,omitempty"` } func (x *AgentToServer) Reset() { @@ -679,7 +679,7 @@ func (x *AgentToServer) GetCapabilities() AgentCapabilities { if x != nil { return x.Capabilities } - return AgentCapabilities_UnspecifiedAgentCapability + return AgentCapabilities_AgentCapabilities_Unspecified } func (x *AgentToServer) GetHealth() *AgentHealth { @@ -717,11 +717,11 @@ func (x *AgentToServer) GetAgentDisconnect() *AgentDisconnect { return nil } -func (x *AgentToServer) GetFlags() AgentToServer_AgentToServerFlags { +func (x *AgentToServer) GetFlags() AgentToServerFlags { if x != nil { return x.Flags } - return AgentToServer_FlagsUnspecified + return AgentToServerFlags_AgentToServerFlags_Unspecified } // AgentDisconnect is the last message sent from the Agent to the Server. The Server @@ -790,7 +790,7 @@ type ServerToAgent struct { // This field is set when the Server has packages to offer to the Agent. PackagesAvailable *PackagesAvailable `protobuf:"bytes,5,opt,name=packages_available,json=packagesAvailable,proto3" json:"packages_available,omitempty"` // Bit flags as defined by Flags bit masks. - Flags ServerToAgent_Flags `protobuf:"varint,6,opt,name=flags,proto3,enum=opamp.proto.ServerToAgent_Flags" json:"flags,omitempty"` + Flags ServerToAgentFlags `protobuf:"varint,6,opt,name=flags,proto3,enum=opamp.proto.ServerToAgentFlags" json:"flags,omitempty"` // Bitmask of flags defined by ServerCapabilities enum. // All bits that are not defined in ServerCapabilities enum MUST be set to 0 // by the Server. This allows extending the protocol and the ServerCapabilities @@ -876,18 +876,18 @@ func (x *ServerToAgent) GetPackagesAvailable() *PackagesAvailable { return nil } -func (x *ServerToAgent) GetFlags() ServerToAgent_Flags { +func (x *ServerToAgent) GetFlags() ServerToAgentFlags { if x != nil { return x.Flags } - return ServerToAgent_FlagsUnspecified + return ServerToAgentFlags_ServerToAgentFlags_Unspecified } func (x *ServerToAgent) GetCapabilities() ServerCapabilities { if x != nil { return x.Capabilities } - return ServerCapabilities_UnspecifiedServerCapability + return ServerCapabilities_ServerCapabilities_Unspecified } func (x *ServerToAgent) GetAgentIdentification() *AgentIdentification { @@ -1546,7 +1546,7 @@ type PackageAvailable struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type PackageAvailable_PackageType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.PackageAvailable_PackageType" json:"type,omitempty"` + Type PackageType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.PackageType" json:"type,omitempty"` // The package version that is available on the Server side. The Agent may for // example use this information to avoid downloading a package that was previously // already downloaded and failed to install. @@ -1592,11 +1592,11 @@ func (*PackageAvailable) Descriptor() ([]byte, []int) { return file_opamp_proto_rawDescGZIP(), []int{11} } -func (x *PackageAvailable) GetType() PackageAvailable_PackageType { +func (x *PackageAvailable) GetType() PackageType { if x != nil { return x.Type } - return PackageAvailable_TopLevelPackage + return PackageType_PackageType_TopLevel } func (x *PackageAvailable) GetVersion() string { @@ -1699,7 +1699,7 @@ type ServerErrorResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type ServerErrorResponse_Type `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.ServerErrorResponse_Type" json:"type,omitempty"` + Type ServerErrorResponseType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.ServerErrorResponseType" json:"type,omitempty"` // Error message in the string form, typically human readable. ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // Types that are assignable to Details: @@ -1739,11 +1739,11 @@ func (*ServerErrorResponse) Descriptor() ([]byte, []int) { return file_opamp_proto_rawDescGZIP(), []int{13} } -func (x *ServerErrorResponse) GetType() ServerErrorResponse_Type { +func (x *ServerErrorResponse) GetType() ServerErrorResponseType { if x != nil { return x.Type } - return ServerErrorResponse_Unknown + return ServerErrorResponseType_ServerErrorResponse_Unknown } func (x *ServerErrorResponse) GetErrorMessage() string { @@ -1832,7 +1832,7 @@ type ServerToAgentCommand struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type ServerToAgentCommand_CommandType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.ServerToAgentCommand_CommandType" json:"type,omitempty"` + Type CommandType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.CommandType" json:"type,omitempty"` } func (x *ServerToAgentCommand) Reset() { @@ -1867,11 +1867,11 @@ func (*ServerToAgentCommand) Descriptor() ([]byte, []int) { return file_opamp_proto_rawDescGZIP(), []int{15} } -func (x *ServerToAgentCommand) GetType() ServerToAgentCommand_CommandType { +func (x *ServerToAgentCommand) GetType() CommandType { if x != nil { return x.Type } - return ServerToAgentCommand_Restart + return CommandType_CommandType_Restart } type AgentDescription struct { @@ -2087,8 +2087,8 @@ type RemoteConfigStatus struct { // The Server SHOULD compare this hash with the config hash // it has for the Agent and if the hashes are different the Server MUST include // the remote_config field in the response in the ServerToAgent message. - LastRemoteConfigHash []byte `protobuf:"bytes,1,opt,name=last_remote_config_hash,json=lastRemoteConfigHash,proto3" json:"last_remote_config_hash,omitempty"` - Status RemoteConfigStatus_Status `protobuf:"varint,2,opt,name=status,proto3,enum=opamp.proto.RemoteConfigStatus_Status" json:"status,omitempty"` + LastRemoteConfigHash []byte `protobuf:"bytes,1,opt,name=last_remote_config_hash,json=lastRemoteConfigHash,proto3" json:"last_remote_config_hash,omitempty"` + Status RemoteConfigStatuses `protobuf:"varint,2,opt,name=status,proto3,enum=opamp.proto.RemoteConfigStatuses" json:"status,omitempty"` // Optional error message if status==FAILED. ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` } @@ -2132,11 +2132,11 @@ func (x *RemoteConfigStatus) GetLastRemoteConfigHash() []byte { return nil } -func (x *RemoteConfigStatus) GetStatus() RemoteConfigStatus_Status { +func (x *RemoteConfigStatus) GetStatus() RemoteConfigStatuses { if x != nil { return x.Status } - return RemoteConfigStatus_UNSET + return RemoteConfigStatuses_RemoteConfigStatuses_UNSET } func (x *RemoteConfigStatus) GetErrorMessage() string { @@ -2267,8 +2267,8 @@ type PackageStatus struct { // fields to be set and to have different values. This is for example possible if // the Agent already has a version of the package successfully installed, the // Server offers a different version, but the Agent fails to install that version. - ServerOfferedHash []byte `protobuf:"bytes,5,opt,name=server_offered_hash,json=serverOfferedHash,proto3" json:"server_offered_hash,omitempty"` - Status PackageStatus_Status `protobuf:"varint,6,opt,name=status,proto3,enum=opamp.proto.PackageStatus_Status" json:"status,omitempty"` + ServerOfferedHash []byte `protobuf:"bytes,5,opt,name=server_offered_hash,json=serverOfferedHash,proto3" json:"server_offered_hash,omitempty"` + Status PackageStatusEnum `protobuf:"varint,6,opt,name=status,proto3,enum=opamp.proto.PackageStatusEnum" json:"status,omitempty"` // Error message if the status is erroneous. ErrorMessage string `protobuf:"bytes,7,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` } @@ -2340,11 +2340,11 @@ func (x *PackageStatus) GetServerOfferedHash() []byte { return nil } -func (x *PackageStatus) GetStatus() PackageStatus_Status { +func (x *PackageStatus) GetStatus() PackageStatusEnum { if x != nil { return x.Status } - return PackageStatus_Installed + return PackageStatusEnum_PackageStatusEnum_Installed } func (x *PackageStatus) GetErrorMessage() string { @@ -2589,7 +2589,7 @@ var File_opamp_proto protoreflect.FileDescriptor var file_opamp_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x61, 0x6e, 0x79, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x05, 0x0a, 0x0d, 0x41, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x04, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x12, @@ -2626,364 +2626,404 @@ var file_opamp_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x42, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, - 0x10, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x10, 0x01, 0x22, 0x11, 0x0a, 0x0f, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0xaa, - 0x05, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x55, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, - 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0d, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, + 0x63, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0xf5, 0x04, 0x0a, + 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, + 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, + 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x43, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x14, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, - 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x32, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x14, 0x0a, 0x10, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x01, 0x22, 0xbb, 0x01, 0x0a, 0x17, - 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, - 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, - 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x54, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xdd, 0x02, 0x0a, 0x17, - 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, - 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, - 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x4f, 0x74, 0x68, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x07, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x30, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x74, 0x0a, 0x0e, 0x54, 0x4c, 0x53, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x5f, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x63, 0x61, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x98, 0x04, - 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3a, - 0x0a, 0x05, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x4d, - 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x05, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x12, 0x49, 0x0a, 0x0b, 0x6f, 0x77, - 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, + 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x43, 0x0a, + 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x53, 0x0a, 0x14, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x13, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x17, 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x22, 0xdd, 0x02, 0x0a, 0x17, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x70, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x2d, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x30, + 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x74, 0x0a, 0x0e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, + 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x61, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x98, 0x04, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x05, 0x6f, 0x70, 0x61, 0x6d, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x6f, 0x70, + 0x61, 0x6d, 0x70, 0x12, 0x49, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x47, + 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x09, 0x6f, 0x77, + 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, + 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x43, - 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x4c, - 0x6f, 0x67, 0x73, 0x12, 0x68, 0x0a, 0x11, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x69, 0x0a, - 0x15, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x48, - 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x48, 0x61, 0x73, 0x68, 0x1a, 0x5a, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xe8, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 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, 0x12, 0x31, - 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, - 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x34, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x64, 0x64, - 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x01, 0x22, 0x76, 0x0a, 0x10, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x61, 0x6d, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x72, - 0x65, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, - 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x74, 0x72, 0x79, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x43, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x79, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, - 0x72, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x15, 0x72, 0x65, 0x74, 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4e, - 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x75, 0x0a, 0x14, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x12, 0x41, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1a, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x10, - 0x00, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x16, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x18, 0x6e, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4e, 0x61, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, - 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4d, 0x0a, 0x0f, 0x45, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x22, 0xec, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, - 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x14, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x6e, 0x67, 0x73, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x68, 0x0a, 0x11, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x4f, + 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x69, 0x0a, 0x15, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, + 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x6c, + 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x5a, 0x0a, + 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, + 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 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, 0x12, 0x31, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x76, 0x0a, + 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6f, 0x70, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, + 0x65, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x74, 0x72, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x22, 0x43, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, + 0x17, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6e, + 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, + 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2c, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, 0x70, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x10, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x4c, 0x0a, 0x16, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, + 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x79, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x53, + 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, + 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x6e, 0x6f, 0x6e, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, + 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4e, + 0x61, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x4d, 0x0a, 0x0f, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, + 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, + 0x70, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xa1, 0x02, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, - 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x22, 0xa1, 0x02, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, + 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x57, 0x0a, 0x0d, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1d, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x41, 0x6c, 0x6c, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x1a, 0x57, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x03, 0x0a, 0x0d, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x48, 0x61, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, - 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, - 0x65, 0x72, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x10, - 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x3f, 0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x22, 0x69, 0x0a, 0x11, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, - 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x61, 0x73, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, + 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xb8, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3f, + 0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x22, + 0x69, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, + 0x70, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x49, 0x0a, + 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x1a, 0x5a, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, - 0x61, 0x70, 0x1a, 0x5a, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, - 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2a, 0xc9, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x1f, 0x0a, 0x1b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0x00, - 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x10, 0x10, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x10, 0x20, 0x2a, 0xe8, 0x02, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, - 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x10, 0x40, - 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x4c, 0x6f, - 0x67, 0x73, 0x10, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, - 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x80, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x73, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x80, 0x04, 0x12, - 0x1a, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x80, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x10, 0x80, 0x10, 0x42, - 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, - 0x65, 0x6e, 0x2d, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x70, 0x61, - 0x6d, 0x70, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x63, + 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x55, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, + 0x64, 0x10, 0x01, 0x2a, 0x60, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, + 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a, + 0x22, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x6c, + 0x61, 0x67, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x10, 0x01, 0x2a, 0xbe, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x1e, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x5f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, + 0x12, 0x24, 0x0a, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, + 0x02, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x04, + 0x12, 0x25, 0x0a, 0x21, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x10, 0x10, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x10, 0x20, 0x2a, 0x3e, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, + 0x64, 0x64, 0x6f, 0x6e, 0x10, 0x01, 0x2a, 0x83, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x42, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x55, + 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x02, 0x2a, 0x26, 0x0a, 0x0b, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x10, 0x00, 0x2a, 0xc3, 0x04, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, + 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x23, 0x0a, + 0x1f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x02, 0x12, 0x2c, 0x0a, + 0x28, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, + 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x10, 0x10, + 0x12, 0x26, 0x0a, 0x22, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x10, 0x20, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x10, + 0x40, 0x12, 0x25, 0x0a, 0x20, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, + 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x10, 0x80, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x73, 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x80, 0x02, 0x12, + 0x35, 0x0a, 0x30, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x4f, 0x74, 0x68, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x10, 0x80, 0x04, 0x12, 0x2c, 0x0a, 0x27, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x10, 0x80, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x10, 0x80, 0x10, 0x2a, 0x9c, 0x01, 0x0a, 0x14, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x55, 0x4e, 0x53, 0x45, + 0x54, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x41, 0x50, 0x50, 0x4c, + 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x41, 0x50, + 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xa1, 0x01, 0x0a, 0x11, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x1f, 0x0a, 0x1b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x00, + 0x12, 0x24, 0x0a, 0x20, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x42, 0x2e, 0x5a, + 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, + 0x2d, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x70, 0x61, 0x6d, 0x70, + 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3001,63 +3041,63 @@ func file_opamp_proto_rawDescGZIP() []byte { var file_opamp_proto_enumTypes = make([]protoimpl.EnumInfo, 9) var file_opamp_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_opamp_proto_goTypes = []interface{}{ - (ServerCapabilities)(0), // 0: opamp.proto.ServerCapabilities - (AgentCapabilities)(0), // 1: opamp.proto.AgentCapabilities - (AgentToServer_AgentToServerFlags)(0), // 2: opamp.proto.AgentToServer.AgentToServerFlags - (ServerToAgent_Flags)(0), // 3: opamp.proto.ServerToAgent.Flags - (PackageAvailable_PackageType)(0), // 4: opamp.proto.PackageAvailable.PackageType - (ServerErrorResponse_Type)(0), // 5: opamp.proto.ServerErrorResponse.Type - (ServerToAgentCommand_CommandType)(0), // 6: opamp.proto.ServerToAgentCommand.CommandType - (RemoteConfigStatus_Status)(0), // 7: opamp.proto.RemoteConfigStatus.Status - (PackageStatus_Status)(0), // 8: opamp.proto.PackageStatus.Status - (*AgentToServer)(nil), // 9: opamp.proto.AgentToServer - (*AgentDisconnect)(nil), // 10: opamp.proto.AgentDisconnect - (*ServerToAgent)(nil), // 11: opamp.proto.ServerToAgent - (*OpAMPConnectionSettings)(nil), // 12: opamp.proto.OpAMPConnectionSettings - (*TelemetryConnectionSettings)(nil), // 13: opamp.proto.TelemetryConnectionSettings - (*OtherConnectionSettings)(nil), // 14: opamp.proto.OtherConnectionSettings - (*Headers)(nil), // 15: opamp.proto.Headers - (*Header)(nil), // 16: opamp.proto.Header - (*TLSCertificate)(nil), // 17: opamp.proto.TLSCertificate - (*ConnectionSettingsOffers)(nil), // 18: opamp.proto.ConnectionSettingsOffers - (*PackagesAvailable)(nil), // 19: opamp.proto.PackagesAvailable - (*PackageAvailable)(nil), // 20: opamp.proto.PackageAvailable - (*DownloadableFile)(nil), // 21: opamp.proto.DownloadableFile - (*ServerErrorResponse)(nil), // 22: opamp.proto.ServerErrorResponse - (*RetryInfo)(nil), // 23: opamp.proto.RetryInfo - (*ServerToAgentCommand)(nil), // 24: opamp.proto.ServerToAgentCommand - (*AgentDescription)(nil), // 25: opamp.proto.AgentDescription - (*AgentHealth)(nil), // 26: opamp.proto.AgentHealth - (*EffectiveConfig)(nil), // 27: opamp.proto.EffectiveConfig - (*RemoteConfigStatus)(nil), // 28: opamp.proto.RemoteConfigStatus - (*PackageStatuses)(nil), // 29: opamp.proto.PackageStatuses - (*PackageStatus)(nil), // 30: opamp.proto.PackageStatus - (*AgentIdentification)(nil), // 31: opamp.proto.AgentIdentification - (*AgentRemoteConfig)(nil), // 32: opamp.proto.AgentRemoteConfig - (*AgentConfigMap)(nil), // 33: opamp.proto.AgentConfigMap - (*AgentConfigFile)(nil), // 34: opamp.proto.AgentConfigFile - nil, // 35: opamp.proto.OtherConnectionSettings.OtherSettingsEntry - nil, // 36: opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry - nil, // 37: opamp.proto.PackagesAvailable.PackagesEntry - nil, // 38: opamp.proto.PackageStatuses.PackagesEntry - nil, // 39: opamp.proto.AgentConfigMap.ConfigMapEntry - (*KeyValue)(nil), // 40: opamp.proto.KeyValue + (AgentToServerFlags)(0), // 0: opamp.proto.AgentToServerFlags + (ServerToAgentFlags)(0), // 1: opamp.proto.ServerToAgentFlags + (ServerCapabilities)(0), // 2: opamp.proto.ServerCapabilities + (PackageType)(0), // 3: opamp.proto.PackageType + (ServerErrorResponseType)(0), // 4: opamp.proto.ServerErrorResponseType + (CommandType)(0), // 5: opamp.proto.CommandType + (AgentCapabilities)(0), // 6: opamp.proto.AgentCapabilities + (RemoteConfigStatuses)(0), // 7: opamp.proto.RemoteConfigStatuses + (PackageStatusEnum)(0), // 8: opamp.proto.PackageStatusEnum + (*AgentToServer)(nil), // 9: opamp.proto.AgentToServer + (*AgentDisconnect)(nil), // 10: opamp.proto.AgentDisconnect + (*ServerToAgent)(nil), // 11: opamp.proto.ServerToAgent + (*OpAMPConnectionSettings)(nil), // 12: opamp.proto.OpAMPConnectionSettings + (*TelemetryConnectionSettings)(nil), // 13: opamp.proto.TelemetryConnectionSettings + (*OtherConnectionSettings)(nil), // 14: opamp.proto.OtherConnectionSettings + (*Headers)(nil), // 15: opamp.proto.Headers + (*Header)(nil), // 16: opamp.proto.Header + (*TLSCertificate)(nil), // 17: opamp.proto.TLSCertificate + (*ConnectionSettingsOffers)(nil), // 18: opamp.proto.ConnectionSettingsOffers + (*PackagesAvailable)(nil), // 19: opamp.proto.PackagesAvailable + (*PackageAvailable)(nil), // 20: opamp.proto.PackageAvailable + (*DownloadableFile)(nil), // 21: opamp.proto.DownloadableFile + (*ServerErrorResponse)(nil), // 22: opamp.proto.ServerErrorResponse + (*RetryInfo)(nil), // 23: opamp.proto.RetryInfo + (*ServerToAgentCommand)(nil), // 24: opamp.proto.ServerToAgentCommand + (*AgentDescription)(nil), // 25: opamp.proto.AgentDescription + (*AgentHealth)(nil), // 26: opamp.proto.AgentHealth + (*EffectiveConfig)(nil), // 27: opamp.proto.EffectiveConfig + (*RemoteConfigStatus)(nil), // 28: opamp.proto.RemoteConfigStatus + (*PackageStatuses)(nil), // 29: opamp.proto.PackageStatuses + (*PackageStatus)(nil), // 30: opamp.proto.PackageStatus + (*AgentIdentification)(nil), // 31: opamp.proto.AgentIdentification + (*AgentRemoteConfig)(nil), // 32: opamp.proto.AgentRemoteConfig + (*AgentConfigMap)(nil), // 33: opamp.proto.AgentConfigMap + (*AgentConfigFile)(nil), // 34: opamp.proto.AgentConfigFile + nil, // 35: opamp.proto.OtherConnectionSettings.OtherSettingsEntry + nil, // 36: opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry + nil, // 37: opamp.proto.PackagesAvailable.PackagesEntry + nil, // 38: opamp.proto.PackageStatuses.PackagesEntry + nil, // 39: opamp.proto.AgentConfigMap.ConfigMapEntry + (*KeyValue)(nil), // 40: opamp.proto.KeyValue } var file_opamp_proto_depIdxs = []int32{ 25, // 0: opamp.proto.AgentToServer.agent_description:type_name -> opamp.proto.AgentDescription - 1, // 1: opamp.proto.AgentToServer.capabilities:type_name -> opamp.proto.AgentCapabilities + 6, // 1: opamp.proto.AgentToServer.capabilities:type_name -> opamp.proto.AgentCapabilities 26, // 2: opamp.proto.AgentToServer.health:type_name -> opamp.proto.AgentHealth 27, // 3: opamp.proto.AgentToServer.effective_config:type_name -> opamp.proto.EffectiveConfig 28, // 4: opamp.proto.AgentToServer.remote_config_status:type_name -> opamp.proto.RemoteConfigStatus 29, // 5: opamp.proto.AgentToServer.package_statuses:type_name -> opamp.proto.PackageStatuses 10, // 6: opamp.proto.AgentToServer.agent_disconnect:type_name -> opamp.proto.AgentDisconnect - 2, // 7: opamp.proto.AgentToServer.flags:type_name -> opamp.proto.AgentToServer.AgentToServerFlags + 0, // 7: opamp.proto.AgentToServer.flags:type_name -> opamp.proto.AgentToServerFlags 22, // 8: opamp.proto.ServerToAgent.error_response:type_name -> opamp.proto.ServerErrorResponse 32, // 9: opamp.proto.ServerToAgent.remote_config:type_name -> opamp.proto.AgentRemoteConfig 18, // 10: opamp.proto.ServerToAgent.connection_settings:type_name -> opamp.proto.ConnectionSettingsOffers 19, // 11: opamp.proto.ServerToAgent.packages_available:type_name -> opamp.proto.PackagesAvailable - 3, // 12: opamp.proto.ServerToAgent.flags:type_name -> opamp.proto.ServerToAgent.Flags - 0, // 13: opamp.proto.ServerToAgent.capabilities:type_name -> opamp.proto.ServerCapabilities + 1, // 12: opamp.proto.ServerToAgent.flags:type_name -> opamp.proto.ServerToAgentFlags + 2, // 13: opamp.proto.ServerToAgent.capabilities:type_name -> opamp.proto.ServerCapabilities 31, // 14: opamp.proto.ServerToAgent.agent_identification:type_name -> opamp.proto.AgentIdentification 24, // 15: opamp.proto.ServerToAgent.command:type_name -> opamp.proto.ServerToAgentCommand 15, // 16: opamp.proto.OpAMPConnectionSettings.headers:type_name -> opamp.proto.Headers @@ -3074,17 +3114,17 @@ var file_opamp_proto_depIdxs = []int32{ 13, // 27: opamp.proto.ConnectionSettingsOffers.own_logs:type_name -> opamp.proto.TelemetryConnectionSettings 36, // 28: opamp.proto.ConnectionSettingsOffers.other_connections:type_name -> opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry 37, // 29: opamp.proto.PackagesAvailable.packages:type_name -> opamp.proto.PackagesAvailable.PackagesEntry - 4, // 30: opamp.proto.PackageAvailable.type:type_name -> opamp.proto.PackageAvailable.PackageType + 3, // 30: opamp.proto.PackageAvailable.type:type_name -> opamp.proto.PackageType 21, // 31: opamp.proto.PackageAvailable.file:type_name -> opamp.proto.DownloadableFile - 5, // 32: opamp.proto.ServerErrorResponse.type:type_name -> opamp.proto.ServerErrorResponse.Type + 4, // 32: opamp.proto.ServerErrorResponse.type:type_name -> opamp.proto.ServerErrorResponseType 23, // 33: opamp.proto.ServerErrorResponse.retry_info:type_name -> opamp.proto.RetryInfo - 6, // 34: opamp.proto.ServerToAgentCommand.type:type_name -> opamp.proto.ServerToAgentCommand.CommandType + 5, // 34: opamp.proto.ServerToAgentCommand.type:type_name -> opamp.proto.CommandType 40, // 35: opamp.proto.AgentDescription.identifying_attributes:type_name -> opamp.proto.KeyValue 40, // 36: opamp.proto.AgentDescription.non_identifying_attributes:type_name -> opamp.proto.KeyValue 33, // 37: opamp.proto.EffectiveConfig.config_map:type_name -> opamp.proto.AgentConfigMap - 7, // 38: opamp.proto.RemoteConfigStatus.status:type_name -> opamp.proto.RemoteConfigStatus.Status + 7, // 38: opamp.proto.RemoteConfigStatus.status:type_name -> opamp.proto.RemoteConfigStatuses 38, // 39: opamp.proto.PackageStatuses.packages:type_name -> opamp.proto.PackageStatuses.PackagesEntry - 8, // 40: opamp.proto.PackageStatus.status:type_name -> opamp.proto.PackageStatus.Status + 8, // 40: opamp.proto.PackageStatus.status:type_name -> opamp.proto.PackageStatusEnum 33, // 41: opamp.proto.AgentRemoteConfig.config:type_name -> opamp.proto.AgentConfigMap 39, // 42: opamp.proto.AgentConfigMap.config_map:type_name -> opamp.proto.AgentConfigMap.ConfigMapEntry 14, // 43: opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry.value:type_name -> opamp.proto.OtherConnectionSettings diff --git a/server/serverimpl_test.go b/server/serverimpl_test.go index ef0e722b..e92952d1 100644 --- a/server/serverimpl_test.go +++ b/server/serverimpl_test.go @@ -139,7 +139,7 @@ func TestServerReceiveSendMessage(t *testing.T) { // Send a response. response := protobufs.ServerToAgent{ InstanceUid: message.InstanceUid, - Capabilities: protobufs.ServerCapabilities_AcceptsStatus, + Capabilities: protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, } return &response }, @@ -180,7 +180,7 @@ func TestServerReceiveSendMessage(t *testing.T) { // Verify the response. assert.EqualValues(t, sendMsg.InstanceUid, response.InstanceUid) - assert.EqualValues(t, protobufs.ServerCapabilities_AcceptsStatus, response.Capabilities) + assert.EqualValues(t, protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, response.Capabilities) } func TestServerReceiveSendMessagePlainHTTP(t *testing.T) { @@ -200,7 +200,7 @@ func TestServerReceiveSendMessagePlainHTTP(t *testing.T) { // Send a response. response := protobufs.ServerToAgent{ InstanceUid: message.InstanceUid, - Capabilities: protobufs.ServerCapabilities_AcceptsStatus, + Capabilities: protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, } return &response }, @@ -244,7 +244,7 @@ func TestServerReceiveSendMessagePlainHTTP(t *testing.T) { // Verify the response. assert.EqualValues(t, sendMsg.InstanceUid, response.InstanceUid) - assert.EqualValues(t, protobufs.ServerCapabilities_AcceptsStatus, response.Capabilities) + assert.EqualValues(t, protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, response.Capabilities) eventually(t, func() bool { return atomic.LoadInt32(&onCloseCalled) == 1 }) }