pkg/control/v2/cproto/control_v2.pb.go (2,347 lines of code) (raw):

// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one // or more contributor license agreements. Licensed under the Elastic License 2.0; // you may not use this file except in compliance with the Elastic License 2.0. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v5.29.3 // source: control_v2.proto package cproto import ( reflect "reflect" sync "sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // State codes for the current state. type State int32 const ( State_STARTING State = 0 State_CONFIGURING State = 1 State_HEALTHY State = 2 State_DEGRADED State = 3 State_FAILED State = 4 State_STOPPING State = 5 State_STOPPED State = 6 State_UPGRADING State = 7 State_ROLLBACK State = 8 ) // Enum value maps for State. var ( State_name = map[int32]string{ 0: "STARTING", 1: "CONFIGURING", 2: "HEALTHY", 3: "DEGRADED", 4: "FAILED", 5: "STOPPING", 6: "STOPPED", 7: "UPGRADING", 8: "ROLLBACK", } State_value = map[string]int32{ "STARTING": 0, "CONFIGURING": 1, "HEALTHY": 2, "DEGRADED": 3, "FAILED": 4, "STOPPING": 5, "STOPPED": 6, "UPGRADING": 7, "ROLLBACK": 8, } ) func (x State) Enum() *State { p := new(State) *p = x return p } func (x State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (State) Descriptor() protoreflect.EnumDescriptor { return file_control_v2_proto_enumTypes[0].Descriptor() } func (State) Type() protoreflect.EnumType { return &file_control_v2_proto_enumTypes[0] } func (x State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use State.Descriptor instead. func (State) EnumDescriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{0} } // CollectorComponentStatus used for OTel collector components. type CollectorComponentStatus int32 const ( CollectorComponentStatus_StatusNone CollectorComponentStatus = 0 CollectorComponentStatus_StatusStarting CollectorComponentStatus = 1 CollectorComponentStatus_StatusOK CollectorComponentStatus = 2 CollectorComponentStatus_StatusRecoverableError CollectorComponentStatus = 3 CollectorComponentStatus_StatusPermanentError CollectorComponentStatus = 4 CollectorComponentStatus_StatusFatalError CollectorComponentStatus = 5 CollectorComponentStatus_StatusStopping CollectorComponentStatus = 6 CollectorComponentStatus_StatusStopped CollectorComponentStatus = 7 ) // Enum value maps for CollectorComponentStatus. var ( CollectorComponentStatus_name = map[int32]string{ 0: "StatusNone", 1: "StatusStarting", 2: "StatusOK", 3: "StatusRecoverableError", 4: "StatusPermanentError", 5: "StatusFatalError", 6: "StatusStopping", 7: "StatusStopped", } CollectorComponentStatus_value = map[string]int32{ "StatusNone": 0, "StatusStarting": 1, "StatusOK": 2, "StatusRecoverableError": 3, "StatusPermanentError": 4, "StatusFatalError": 5, "StatusStopping": 6, "StatusStopped": 7, } ) func (x CollectorComponentStatus) Enum() *CollectorComponentStatus { p := new(CollectorComponentStatus) *p = x return p } func (x CollectorComponentStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CollectorComponentStatus) Descriptor() protoreflect.EnumDescriptor { return file_control_v2_proto_enumTypes[1].Descriptor() } func (CollectorComponentStatus) Type() protoreflect.EnumType { return &file_control_v2_proto_enumTypes[1] } func (x CollectorComponentStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CollectorComponentStatus.Descriptor instead. func (CollectorComponentStatus) EnumDescriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{1} } // Unit Type running inside a component. type UnitType int32 const ( UnitType_INPUT UnitType = 0 UnitType_OUTPUT UnitType = 1 ) // Enum value maps for UnitType. var ( UnitType_name = map[int32]string{ 0: "INPUT", 1: "OUTPUT", } UnitType_value = map[string]int32{ "INPUT": 0, "OUTPUT": 1, } ) func (x UnitType) Enum() *UnitType { p := new(UnitType) *p = x return p } func (x UnitType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UnitType) Descriptor() protoreflect.EnumDescriptor { return file_control_v2_proto_enumTypes[2].Descriptor() } func (UnitType) Type() protoreflect.EnumType { return &file_control_v2_proto_enumTypes[2] } func (x UnitType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UnitType.Descriptor instead. func (UnitType) EnumDescriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{2} } // Action status codes for restart and upgrade response. type ActionStatus int32 const ( // Action was successful. ActionStatus_SUCCESS ActionStatus = 0 // Action failed. ActionStatus_FAILURE ActionStatus = 1 ) // Enum value maps for ActionStatus. var ( ActionStatus_name = map[int32]string{ 0: "SUCCESS", 1: "FAILURE", } ActionStatus_value = map[string]int32{ "SUCCESS": 0, "FAILURE": 1, } ) func (x ActionStatus) Enum() *ActionStatus { p := new(ActionStatus) *p = x return p } func (x ActionStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ActionStatus) Descriptor() protoreflect.EnumDescriptor { return file_control_v2_proto_enumTypes[3].Descriptor() } func (ActionStatus) Type() protoreflect.EnumType { return &file_control_v2_proto_enumTypes[3] } func (x ActionStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ActionStatus.Descriptor instead. func (ActionStatus) EnumDescriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{3} } // pprof endpoint that can be requested. type PprofOption int32 const ( PprofOption_ALLOCS PprofOption = 0 PprofOption_BLOCK PprofOption = 1 PprofOption_CMDLINE PprofOption = 2 PprofOption_GOROUTINE PprofOption = 3 PprofOption_HEAP PprofOption = 4 PprofOption_MUTEX PprofOption = 5 PprofOption_PROFILE PprofOption = 6 PprofOption_THREADCREATE PprofOption = 7 PprofOption_TRACE PprofOption = 8 ) // Enum value maps for PprofOption. var ( PprofOption_name = map[int32]string{ 0: "ALLOCS", 1: "BLOCK", 2: "CMDLINE", 3: "GOROUTINE", 4: "HEAP", 5: "MUTEX", 6: "PROFILE", 7: "THREADCREATE", 8: "TRACE", } PprofOption_value = map[string]int32{ "ALLOCS": 0, "BLOCK": 1, "CMDLINE": 2, "GOROUTINE": 3, "HEAP": 4, "MUTEX": 5, "PROFILE": 6, "THREADCREATE": 7, "TRACE": 8, } ) func (x PprofOption) Enum() *PprofOption { p := new(PprofOption) *p = x return p } func (x PprofOption) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PprofOption) Descriptor() protoreflect.EnumDescriptor { return file_control_v2_proto_enumTypes[4].Descriptor() } func (PprofOption) Type() protoreflect.EnumType { return &file_control_v2_proto_enumTypes[4] } func (x PprofOption) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PprofOption.Descriptor instead. func (PprofOption) EnumDescriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{4} } // DiagnosticAgentRequestAdditional is an enum of additional diagnostic metrics that can be requested from Elastic Agent. type AdditionalDiagnosticRequest int32 const ( AdditionalDiagnosticRequest_CPU AdditionalDiagnosticRequest = 0 AdditionalDiagnosticRequest_CONN AdditionalDiagnosticRequest = 1 ) // Enum value maps for AdditionalDiagnosticRequest. var ( AdditionalDiagnosticRequest_name = map[int32]string{ 0: "CPU", 1: "CONN", } AdditionalDiagnosticRequest_value = map[string]int32{ "CPU": 0, "CONN": 1, } ) func (x AdditionalDiagnosticRequest) Enum() *AdditionalDiagnosticRequest { p := new(AdditionalDiagnosticRequest) *p = x return p } func (x AdditionalDiagnosticRequest) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AdditionalDiagnosticRequest) Descriptor() protoreflect.EnumDescriptor { return file_control_v2_proto_enumTypes[5].Descriptor() } func (AdditionalDiagnosticRequest) Type() protoreflect.EnumType { return &file_control_v2_proto_enumTypes[5] } func (x AdditionalDiagnosticRequest) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AdditionalDiagnosticRequest.Descriptor instead. func (AdditionalDiagnosticRequest) EnumDescriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{5} } // Empty message. type Empty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Empty) String() string { return protoimpl.X.MessageStringOf(x) } func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{0} } // Version response message. type VersionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Current running version. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // Current running commit. Commit string `protobuf:"bytes,2,opt,name=commit,proto3" json:"commit,omitempty"` // Current running build time. BuildTime string `protobuf:"bytes,3,opt,name=buildTime,proto3" json:"buildTime,omitempty"` // Current running version is a snapshot. Snapshot bool `protobuf:"varint,4,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Current running version is FIPS-capable. Fips bool `protobuf:"varint,5,opt,name=fips,proto3" json:"fips,omitempty"` } func (x *VersionResponse) Reset() { *x = VersionResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VersionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{1} } func (x *VersionResponse) GetVersion() string { if x != nil { return x.Version } return "" } func (x *VersionResponse) GetCommit() string { if x != nil { return x.Commit } return "" } func (x *VersionResponse) GetBuildTime() string { if x != nil { return x.BuildTime } return "" } func (x *VersionResponse) GetSnapshot() bool { if x != nil { return x.Snapshot } return false } func (x *VersionResponse) GetFips() bool { if x != nil { return x.Fips } return false } type RestartResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Response status. Status ActionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cproto.ActionStatus" json:"status,omitempty"` // Error message when it fails to trigger restart. Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } func (x *RestartResponse) Reset() { *x = RestartResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestartResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestartResponse) ProtoMessage() {} func (x *RestartResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RestartResponse.ProtoReflect.Descriptor instead. func (*RestartResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{2} } func (x *RestartResponse) GetStatus() ActionStatus { if x != nil { return x.Status } return ActionStatus_SUCCESS } func (x *RestartResponse) GetError() string { if x != nil { return x.Error } return "" } // Upgrade request message. type UpgradeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // (Optional) Version to upgrade to. // // If not provided Elastic Agent will auto discover the latest version in the same major // to upgrade to. If wanting to upgrade to a new major that major must be present in the // this version field. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // (Optional) Use a different source URI then configured. // // If provided the upgrade process will use the provided sourceURI instead of the configured // sourceURI in the configuration. SourceURI string `protobuf:"bytes,2,opt,name=sourceURI,proto3" json:"sourceURI,omitempty"` // (Optional) Overrides predefined behavior for agent package verification. // // If provided Elastic Agent package is not checked for signature during upgrade. SkipVerify bool `protobuf:"varint,3,opt,name=skipVerify,proto3" json:"skipVerify,omitempty"` // (Optional) Overrides predefined behavior for agent package verification. // // If provided Elastic Agent package is checked against these pgp keys as well. PgpBytes []string `protobuf:"bytes,4,rep,name=pgpBytes,proto3" json:"pgpBytes,omitempty"` // (Optional) Overrides predefined behavior for agent package verification. // // If provided Elastic Agent package embedded PGP key is not checked for signature during upgrade. SkipDefaultPgp bool `protobuf:"varint,5,opt,name=skipDefaultPgp,proto3" json:"skipDefaultPgp,omitempty"` } func (x *UpgradeRequest) Reset() { *x = UpgradeRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpgradeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpgradeRequest) ProtoMessage() {} func (x *UpgradeRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpgradeRequest.ProtoReflect.Descriptor instead. func (*UpgradeRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{3} } func (x *UpgradeRequest) GetVersion() string { if x != nil { return x.Version } return "" } func (x *UpgradeRequest) GetSourceURI() string { if x != nil { return x.SourceURI } return "" } func (x *UpgradeRequest) GetSkipVerify() bool { if x != nil { return x.SkipVerify } return false } func (x *UpgradeRequest) GetPgpBytes() []string { if x != nil { return x.PgpBytes } return nil } func (x *UpgradeRequest) GetSkipDefaultPgp() bool { if x != nil { return x.SkipDefaultPgp } return false } // A upgrade response message. type UpgradeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Response status. Status ActionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cproto.ActionStatus" json:"status,omitempty"` // Version that is being upgraded to. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Error message when it fails to trigger upgrade. Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` } func (x *UpgradeResponse) Reset() { *x = UpgradeResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpgradeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpgradeResponse) ProtoMessage() {} func (x *UpgradeResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpgradeResponse.ProtoReflect.Descriptor instead. func (*UpgradeResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{4} } func (x *UpgradeResponse) GetStatus() ActionStatus { if x != nil { return x.Status } return ActionStatus_SUCCESS } func (x *UpgradeResponse) GetVersion() string { if x != nil { return x.Version } return "" } func (x *UpgradeResponse) GetError() string { if x != nil { return x.Error } return "" } type ComponentUnitState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Type of unit in the component. UnitType UnitType `protobuf:"varint,1,opt,name=unit_type,json=unitType,proto3,enum=cproto.UnitType" json:"unit_type,omitempty"` // ID of the unit in the component. UnitId string `protobuf:"bytes,2,opt,name=unit_id,json=unitId,proto3" json:"unit_id,omitempty"` // Current state. State State `protobuf:"varint,3,opt,name=state,proto3,enum=cproto.State" json:"state,omitempty"` // Current state message. Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` // Current state payload. Payload string `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` } func (x *ComponentUnitState) Reset() { *x = ComponentUnitState{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComponentUnitState) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComponentUnitState) ProtoMessage() {} func (x *ComponentUnitState) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComponentUnitState.ProtoReflect.Descriptor instead. func (*ComponentUnitState) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{5} } func (x *ComponentUnitState) GetUnitType() UnitType { if x != nil { return x.UnitType } return UnitType_INPUT } func (x *ComponentUnitState) GetUnitId() string { if x != nil { return x.UnitId } return "" } func (x *ComponentUnitState) GetState() State { if x != nil { return x.State } return State_STARTING } func (x *ComponentUnitState) GetMessage() string { if x != nil { return x.Message } return "" } func (x *ComponentUnitState) GetPayload() string { if x != nil { return x.Payload } return "" } // Version information reported by the component to Elastic Agent. type ComponentVersionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the component. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 2 reserved - used to be used for version of component. // Extra meta information about the version. Meta map[string]string `protobuf:"bytes,3,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ComponentVersionInfo) Reset() { *x = ComponentVersionInfo{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComponentVersionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComponentVersionInfo) ProtoMessage() {} func (x *ComponentVersionInfo) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComponentVersionInfo.ProtoReflect.Descriptor instead. func (*ComponentVersionInfo) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{6} } func (x *ComponentVersionInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *ComponentVersionInfo) GetMeta() map[string]string { if x != nil { return x.Meta } return nil } // Current state of a running component by Elastic Agent. type ComponentState struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique component ID. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Component name. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Current state. State State `protobuf:"varint,3,opt,name=state,proto3,enum=cproto.State" json:"state,omitempty"` // Current state message. Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` // Current units running in the component. Units []*ComponentUnitState `protobuf:"bytes,5,rep,name=units,proto3" json:"units,omitempty"` // Current version information for the running component. VersionInfo *ComponentVersionInfo `protobuf:"bytes,6,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` } func (x *ComponentState) Reset() { *x = ComponentState{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ComponentState) String() string { return protoimpl.X.MessageStringOf(x) } func (*ComponentState) ProtoMessage() {} func (x *ComponentState) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ComponentState.ProtoReflect.Descriptor instead. func (*ComponentState) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{7} } func (x *ComponentState) GetId() string { if x != nil { return x.Id } return "" } func (x *ComponentState) GetName() string { if x != nil { return x.Name } return "" } func (x *ComponentState) GetState() State { if x != nil { return x.State } return State_STARTING } func (x *ComponentState) GetMessage() string { if x != nil { return x.Message } return "" } func (x *ComponentState) GetUnits() []*ComponentUnitState { if x != nil { return x.Units } return nil } func (x *ComponentState) GetVersionInfo() *ComponentVersionInfo { if x != nil { return x.VersionInfo } return nil } type StateAgentInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Current ID of the Agent. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Current running version. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Current running commit. Commit string `protobuf:"bytes,3,opt,name=commit,proto3" json:"commit,omitempty"` // Current running build time. BuildTime string `protobuf:"bytes,4,opt,name=buildTime,proto3" json:"buildTime,omitempty"` // Current running version is a snapshot. Snapshot bool `protobuf:"varint,5,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Current running PID. Pid int32 `protobuf:"varint,6,opt,name=pid,proto3" json:"pid,omitempty"` // True when running as unprivileged. Unprivileged bool `protobuf:"varint,7,opt,name=unprivileged,proto3" json:"unprivileged,omitempty"` // True when agent is managed by fleet IsManaged bool `protobuf:"varint,8,opt,name=isManaged,proto3" json:"isManaged,omitempty"` } func (x *StateAgentInfo) Reset() { *x = StateAgentInfo{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StateAgentInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*StateAgentInfo) ProtoMessage() {} func (x *StateAgentInfo) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StateAgentInfo.ProtoReflect.Descriptor instead. func (*StateAgentInfo) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{8} } func (x *StateAgentInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *StateAgentInfo) GetVersion() string { if x != nil { return x.Version } return "" } func (x *StateAgentInfo) GetCommit() string { if x != nil { return x.Commit } return "" } func (x *StateAgentInfo) GetBuildTime() string { if x != nil { return x.BuildTime } return "" } func (x *StateAgentInfo) GetSnapshot() bool { if x != nil { return x.Snapshot } return false } func (x *StateAgentInfo) GetPid() int32 { if x != nil { return x.Pid } return 0 } func (x *StateAgentInfo) GetUnprivileged() bool { if x != nil { return x.Unprivileged } return false } func (x *StateAgentInfo) GetIsManaged() bool { if x != nil { return x.IsManaged } return false } // CollectorComponent is the status of an OTel collector component. type CollectorComponent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Status of the component. Status CollectorComponentStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cproto.CollectorComponentStatus" json:"status,omitempty"` // Error is set to the reported error. Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // Timestamp of status. Timestamp string `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Status information for sub-components of this component. ComponentStatusMap map[string]*CollectorComponent `protobuf:"bytes,4,rep,name=ComponentStatusMap,proto3" json:"ComponentStatusMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *CollectorComponent) Reset() { *x = CollectorComponent{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CollectorComponent) String() string { return protoimpl.X.MessageStringOf(x) } func (*CollectorComponent) ProtoMessage() {} func (x *CollectorComponent) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CollectorComponent.ProtoReflect.Descriptor instead. func (*CollectorComponent) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{9} } func (x *CollectorComponent) GetStatus() CollectorComponentStatus { if x != nil { return x.Status } return CollectorComponentStatus_StatusNone } func (x *CollectorComponent) GetError() string { if x != nil { return x.Error } return "" } func (x *CollectorComponent) GetTimestamp() string { if x != nil { return x.Timestamp } return "" } func (x *CollectorComponent) GetComponentStatusMap() map[string]*CollectorComponent { if x != nil { return x.ComponentStatusMap } return nil } // StateResponse is the current state of Elastic Agent. // Next unused id: 8 type StateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Overall information of Elastic Agent. Info *StateAgentInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` // Overall state + message of Elastic Agent, aggregating errors in other // states and components State State `protobuf:"varint,2,opt,name=state,proto3,enum=cproto.State" json:"state,omitempty"` Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // Fleet state: healthy / "Connected" if the last RPC call to Fleet // succeeded, otherwise failed with the associated error string. FleetState State `protobuf:"varint,5,opt,name=fleetState,proto3,enum=cproto.State" json:"fleetState,omitempty"` FleetMessage string `protobuf:"bytes,6,opt,name=fleetMessage,proto3" json:"fleetMessage,omitempty"` // State of each component in Elastic Agent. Components []*ComponentState `protobuf:"bytes,4,rep,name=components,proto3" json:"components,omitempty"` // Upgrade details UpgradeDetails *UpgradeDetails `protobuf:"bytes,7,opt,name=upgrade_details,json=upgradeDetails,proto3" json:"upgrade_details,omitempty"` // OTel collector component status information. Collector *CollectorComponent `protobuf:"bytes,8,opt,name=collector,proto3" json:"collector,omitempty"` } func (x *StateResponse) Reset() { *x = StateResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StateResponse) ProtoMessage() {} func (x *StateResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StateResponse.ProtoReflect.Descriptor instead. func (*StateResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{10} } func (x *StateResponse) GetInfo() *StateAgentInfo { if x != nil { return x.Info } return nil } func (x *StateResponse) GetState() State { if x != nil { return x.State } return State_STARTING } func (x *StateResponse) GetMessage() string { if x != nil { return x.Message } return "" } func (x *StateResponse) GetFleetState() State { if x != nil { return x.FleetState } return State_STARTING } func (x *StateResponse) GetFleetMessage() string { if x != nil { return x.FleetMessage } return "" } func (x *StateResponse) GetComponents() []*ComponentState { if x != nil { return x.Components } return nil } func (x *StateResponse) GetUpgradeDetails() *UpgradeDetails { if x != nil { return x.UpgradeDetails } return nil } func (x *StateResponse) GetCollector() *CollectorComponent { if x != nil { return x.Collector } return nil } // UpgradeDetails captures the details of an ongoing Agent upgrade. type UpgradeDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Version the Agent is being upgraded to. TargetVersion string `protobuf:"bytes,1,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` // Current state of the upgrade process. State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // Fleet Action ID that initiated the upgrade, if in managed mode. ActionId string `protobuf:"bytes,3,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` // Metadata about the upgrade process. Metadata *UpgradeDetailsMetadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *UpgradeDetails) Reset() { *x = UpgradeDetails{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpgradeDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpgradeDetails) ProtoMessage() {} func (x *UpgradeDetails) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpgradeDetails.ProtoReflect.Descriptor instead. func (*UpgradeDetails) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{11} } func (x *UpgradeDetails) GetTargetVersion() string { if x != nil { return x.TargetVersion } return "" } func (x *UpgradeDetails) GetState() string { if x != nil { return x.State } return "" } func (x *UpgradeDetails) GetActionId() string { if x != nil { return x.ActionId } return "" } func (x *UpgradeDetails) GetMetadata() *UpgradeDetailsMetadata { if x != nil { return x.Metadata } return nil } // UpgradeDetailsMetadata has additional information about an Agent's // ongoing upgrade. type UpgradeDetailsMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If the upgrade is a scheduled upgrade, the timestamp of when the // upgrade is expected to start. ScheduledAt string `protobuf:"bytes,1,opt,name=scheduled_at,json=scheduledAt,proto3" json:"scheduled_at,omitempty"` // If the upgrade is in the UPG_DOWNLOADING state, the percentage of // the Elastic Agent artifact that has already been downloaded, to // serve as an indicator of download progress. DownloadPercent float32 `protobuf:"fixed32,2,opt,name=download_percent,json=downloadPercent,proto3" json:"download_percent,omitempty"` // If the upgrade has failed, what upgrade state failed. FailedState string `protobuf:"bytes,3,opt,name=failed_state,json=failedState,proto3" json:"failed_state,omitempty"` // Any error encountered during the upgrade process. ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // Any error message that is a result of a retryable upgrade // step, e.g. the download step, being retried. RetryErrorMsg string `protobuf:"bytes,5,opt,name=retry_error_msg,json=retryErrorMsg,proto3" json:"retry_error_msg,omitempty"` // The deadline until when a retryable upgrade step, e.g. the download // step, will be retried. RetryUntil string `protobuf:"bytes,6,opt,name=retry_until,json=retryUntil,proto3" json:"retry_until,omitempty"` } func (x *UpgradeDetailsMetadata) Reset() { *x = UpgradeDetailsMetadata{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpgradeDetailsMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpgradeDetailsMetadata) ProtoMessage() {} func (x *UpgradeDetailsMetadata) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpgradeDetailsMetadata.ProtoReflect.Descriptor instead. func (*UpgradeDetailsMetadata) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{12} } func (x *UpgradeDetailsMetadata) GetScheduledAt() string { if x != nil { return x.ScheduledAt } return "" } func (x *UpgradeDetailsMetadata) GetDownloadPercent() float32 { if x != nil { return x.DownloadPercent } return 0 } func (x *UpgradeDetailsMetadata) GetFailedState() string { if x != nil { return x.FailedState } return "" } func (x *UpgradeDetailsMetadata) GetErrorMsg() string { if x != nil { return x.ErrorMsg } return "" } func (x *UpgradeDetailsMetadata) GetRetryErrorMsg() string { if x != nil { return x.RetryErrorMsg } return "" } func (x *UpgradeDetailsMetadata) GetRetryUntil() string { if x != nil { return x.RetryUntil } return "" } // DiagnosticFileResult is a file result from a diagnostic result. type DiagnosticFileResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Human readable name of the diagnostic result content. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Filename to use to store the diagnostic to the disk. Filename string `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"` // Human readable description of the information this diagnostic provides. Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // Content-Type of the resulting content. ContentType string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // Actual file content. Content []byte `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` // Timestamp the content was generated at. Generated *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=generated,proto3" json:"generated,omitempty"` } func (x *DiagnosticFileResult) Reset() { *x = DiagnosticFileResult{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticFileResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticFileResult) ProtoMessage() {} func (x *DiagnosticFileResult) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticFileResult.ProtoReflect.Descriptor instead. func (*DiagnosticFileResult) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{13} } func (x *DiagnosticFileResult) GetName() string { if x != nil { return x.Name } return "" } func (x *DiagnosticFileResult) GetFilename() string { if x != nil { return x.Filename } return "" } func (x *DiagnosticFileResult) GetDescription() string { if x != nil { return x.Description } return "" } func (x *DiagnosticFileResult) GetContentType() string { if x != nil { return x.ContentType } return "" } func (x *DiagnosticFileResult) GetContent() []byte { if x != nil { return x.Content } return nil } func (x *DiagnosticFileResult) GetGenerated() *timestamppb.Timestamp { if x != nil { return x.Generated } return nil } // DiagnosticAgentRequest is request to gather diagnostic information about the Elastic Agent. type DiagnosticAgentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AdditionalMetrics []AdditionalDiagnosticRequest `protobuf:"varint,1,rep,packed,name=additional_metrics,json=additionalMetrics,proto3,enum=cproto.AdditionalDiagnosticRequest" json:"additional_metrics,omitempty"` } func (x *DiagnosticAgentRequest) Reset() { *x = DiagnosticAgentRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticAgentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticAgentRequest) ProtoMessage() {} func (x *DiagnosticAgentRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticAgentRequest.ProtoReflect.Descriptor instead. func (*DiagnosticAgentRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{14} } func (x *DiagnosticAgentRequest) GetAdditionalMetrics() []AdditionalDiagnosticRequest { if x != nil { return x.AdditionalMetrics } return nil } // DiagnosticComponentsRequest is the message to request diagnostics from individual components. type DiagnosticComponentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Components []*DiagnosticComponentRequest `protobuf:"bytes,1,rep,name=components,proto3" json:"components,omitempty"` AdditionalMetrics []AdditionalDiagnosticRequest `protobuf:"varint,2,rep,packed,name=additional_metrics,json=additionalMetrics,proto3,enum=cproto.AdditionalDiagnosticRequest" json:"additional_metrics,omitempty"` } func (x *DiagnosticComponentsRequest) Reset() { *x = DiagnosticComponentsRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticComponentsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticComponentsRequest) ProtoMessage() {} func (x *DiagnosticComponentsRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticComponentsRequest.ProtoReflect.Descriptor instead. func (*DiagnosticComponentsRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{15} } func (x *DiagnosticComponentsRequest) GetComponents() []*DiagnosticComponentRequest { if x != nil { return x.Components } return nil } func (x *DiagnosticComponentsRequest) GetAdditionalMetrics() []AdditionalDiagnosticRequest { if x != nil { return x.AdditionalMetrics } return nil } // DiagnosticComponentRequest specifies the component to send a diagnostic request to. type DiagnosticComponentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the component. ComponentId string `protobuf:"bytes,1,opt,name=component_id,json=componentId,proto3" json:"component_id,omitempty"` } func (x *DiagnosticComponentRequest) Reset() { *x = DiagnosticComponentRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticComponentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticComponentRequest) ProtoMessage() {} func (x *DiagnosticComponentRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticComponentRequest.ProtoReflect.Descriptor instead. func (*DiagnosticComponentRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{16} } func (x *DiagnosticComponentRequest) GetComponentId() string { if x != nil { return x.ComponentId } return "" } // DiagnosticAgentResponse is response to gathered diagnostic information about the Elastic Agent. type DiagnosticAgentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Diagnostic results for the agent. Results []*DiagnosticFileResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } func (x *DiagnosticAgentResponse) Reset() { *x = DiagnosticAgentResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticAgentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticAgentResponse) ProtoMessage() {} func (x *DiagnosticAgentResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticAgentResponse.ProtoReflect.Descriptor instead. func (*DiagnosticAgentResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{17} } func (x *DiagnosticAgentResponse) GetResults() []*DiagnosticFileResult { if x != nil { return x.Results } return nil } // DiagnosticUnitRequest specifies a specific unit to gather diagnostics from. type DiagnosticUnitRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the component. ComponentId string `protobuf:"bytes,1,opt,name=component_id,json=componentId,proto3" json:"component_id,omitempty"` // Type of unit. UnitType UnitType `protobuf:"varint,2,opt,name=unit_type,json=unitType,proto3,enum=cproto.UnitType" json:"unit_type,omitempty"` // ID of the unit. UnitId string `protobuf:"bytes,3,opt,name=unit_id,json=unitId,proto3" json:"unit_id,omitempty"` } func (x *DiagnosticUnitRequest) Reset() { *x = DiagnosticUnitRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticUnitRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticUnitRequest) ProtoMessage() {} func (x *DiagnosticUnitRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticUnitRequest.ProtoReflect.Descriptor instead. func (*DiagnosticUnitRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{18} } func (x *DiagnosticUnitRequest) GetComponentId() string { if x != nil { return x.ComponentId } return "" } func (x *DiagnosticUnitRequest) GetUnitType() UnitType { if x != nil { return x.UnitType } return UnitType_INPUT } func (x *DiagnosticUnitRequest) GetUnitId() string { if x != nil { return x.UnitId } return "" } // DiagnosticUnitsRequest allows a diagnostic request to specify the units to target. type DiagnosticUnitsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Specific units to target. (If no units are given then a result for all units is provided). Units []*DiagnosticUnitRequest `protobuf:"bytes,1,rep,name=units,proto3" json:"units,omitempty"` } func (x *DiagnosticUnitsRequest) Reset() { *x = DiagnosticUnitsRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticUnitsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticUnitsRequest) ProtoMessage() {} func (x *DiagnosticUnitsRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticUnitsRequest.ProtoReflect.Descriptor instead. func (*DiagnosticUnitsRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{19} } func (x *DiagnosticUnitsRequest) GetUnits() []*DiagnosticUnitRequest { if x != nil { return x.Units } return nil } // DiagnosticUnitResponse is diagnostic information about a specific unit. type DiagnosticUnitResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the component. ComponentId string `protobuf:"bytes,1,opt,name=component_id,json=componentId,proto3" json:"component_id,omitempty"` // Type of unit. UnitType UnitType `protobuf:"varint,2,opt,name=unit_type,json=unitType,proto3,enum=cproto.UnitType" json:"unit_type,omitempty"` // ID of the unit. UnitId string `protobuf:"bytes,3,opt,name=unit_id,json=unitId,proto3" json:"unit_id,omitempty"` // Error message for the failure fetching diagnostic information for this unit. Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` // Diagnostic results for the unit. Results []*DiagnosticFileResult `protobuf:"bytes,5,rep,name=results,proto3" json:"results,omitempty"` } func (x *DiagnosticUnitResponse) Reset() { *x = DiagnosticUnitResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticUnitResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticUnitResponse) ProtoMessage() {} func (x *DiagnosticUnitResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticUnitResponse.ProtoReflect.Descriptor instead. func (*DiagnosticUnitResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{20} } func (x *DiagnosticUnitResponse) GetComponentId() string { if x != nil { return x.ComponentId } return "" } func (x *DiagnosticUnitResponse) GetUnitType() UnitType { if x != nil { return x.UnitType } return UnitType_INPUT } func (x *DiagnosticUnitResponse) GetUnitId() string { if x != nil { return x.UnitId } return "" } func (x *DiagnosticUnitResponse) GetError() string { if x != nil { return x.Error } return "" } func (x *DiagnosticUnitResponse) GetResults() []*DiagnosticFileResult { if x != nil { return x.Results } return nil } // DiagnosticComponentResponse is the response diagnostic information for a component-level diagnostic request type DiagnosticComponentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the component. ComponentId string `protobuf:"bytes,1,opt,name=component_id,json=componentId,proto3" json:"component_id,omitempty"` // Error message for the failure fetching diagnostic information for this unit. Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` // Diagnostic results for the unit. Results []*DiagnosticFileResult `protobuf:"bytes,5,rep,name=results,proto3" json:"results,omitempty"` } func (x *DiagnosticComponentResponse) Reset() { *x = DiagnosticComponentResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticComponentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticComponentResponse) ProtoMessage() {} func (x *DiagnosticComponentResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticComponentResponse.ProtoReflect.Descriptor instead. func (*DiagnosticComponentResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{21} } func (x *DiagnosticComponentResponse) GetComponentId() string { if x != nil { return x.ComponentId } return "" } func (x *DiagnosticComponentResponse) GetError() string { if x != nil { return x.Error } return "" } func (x *DiagnosticComponentResponse) GetResults() []*DiagnosticFileResult { if x != nil { return x.Results } return nil } // DiagnosticUnitsResponse is response to gathered units diagnostic information. type DiagnosticUnitsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Diagnostics results per unit. Units []*DiagnosticUnitResponse `protobuf:"bytes,2,rep,name=units,proto3" json:"units,omitempty"` } func (x *DiagnosticUnitsResponse) Reset() { *x = DiagnosticUnitsResponse{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DiagnosticUnitsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DiagnosticUnitsResponse) ProtoMessage() {} func (x *DiagnosticUnitsResponse) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DiagnosticUnitsResponse.ProtoReflect.Descriptor instead. func (*DiagnosticUnitsResponse) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{22} } func (x *DiagnosticUnitsResponse) GetUnits() []*DiagnosticUnitResponse { if x != nil { return x.Units } return nil } // ConfigureRequest sends a new configuration for the running Elastic Agent to use. type ConfigureRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Config to use. Config string `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} if protoimpl.UnsafeEnabled { mi := &file_control_v2_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigureRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { mi := &file_control_v2_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { return file_control_v2_proto_rawDescGZIP(), []int{23} } func (x *ConfigureRequest) GetConfig() string { if x != nil { return x.Config } return "" } var File_control_v2_proto protoreflect.FileDescriptor var file_control_v2_proto_rawDesc = []byte{ 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x76, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x69, 0x70, 0x73, 0x22, 0x55, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x52, 0x49, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x52, 0x49, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x67, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x67, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x67, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x67, 0x70, 0x22, 0x6f, 0x0a, 0x0f, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xb5, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 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, 0xe6, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 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, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x6e, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x6e, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x22, 0xc9, 0x02, 0x0a, 0x12, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x62, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x70, 0x1a, 0x61, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x80, 0x03, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xef, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x72, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x22, 0xdf, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x22, 0x6c, 0x0a, 0x16, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x1b, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x3f, 0x0a, 0x1a, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x17, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x16, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x1b, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x4f, 0x0a, 0x17, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x85, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x08, 0x2a, 0xbf, 0x01, 0x0a, 0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x4b, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x10, 0x07, 0x2a, 0x21, 0x0a, 0x08, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x10, 0x01, 0x2a, 0x28, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x2a, 0x7f, 0x0a, 0x0b, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4d, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x4f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x50, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x55, 0x54, 0x45, 0x58, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x48, 0x52, 0x45, 0x41, 0x44, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x08, 0x2a, 0x30, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x4e, 0x4e, 0x10, 0x01, 0x32, 0xdf, 0x04, 0x0a, 0x13, 0x45, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x31, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x31, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x14, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x34, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x29, 0x5a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_control_v2_proto_rawDescOnce sync.Once file_control_v2_proto_rawDescData = file_control_v2_proto_rawDesc ) func file_control_v2_proto_rawDescGZIP() []byte { file_control_v2_proto_rawDescOnce.Do(func() { file_control_v2_proto_rawDescData = protoimpl.X.CompressGZIP(file_control_v2_proto_rawDescData) }) return file_control_v2_proto_rawDescData } var file_control_v2_proto_enumTypes = make([]protoimpl.EnumInfo, 6) var file_control_v2_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_control_v2_proto_goTypes = []interface{}{ (State)(0), // 0: cproto.State (CollectorComponentStatus)(0), // 1: cproto.CollectorComponentStatus (UnitType)(0), // 2: cproto.UnitType (ActionStatus)(0), // 3: cproto.ActionStatus (PprofOption)(0), // 4: cproto.PprofOption (AdditionalDiagnosticRequest)(0), // 5: cproto.AdditionalDiagnosticRequest (*Empty)(nil), // 6: cproto.Empty (*VersionResponse)(nil), // 7: cproto.VersionResponse (*RestartResponse)(nil), // 8: cproto.RestartResponse (*UpgradeRequest)(nil), // 9: cproto.UpgradeRequest (*UpgradeResponse)(nil), // 10: cproto.UpgradeResponse (*ComponentUnitState)(nil), // 11: cproto.ComponentUnitState (*ComponentVersionInfo)(nil), // 12: cproto.ComponentVersionInfo (*ComponentState)(nil), // 13: cproto.ComponentState (*StateAgentInfo)(nil), // 14: cproto.StateAgentInfo (*CollectorComponent)(nil), // 15: cproto.CollectorComponent (*StateResponse)(nil), // 16: cproto.StateResponse (*UpgradeDetails)(nil), // 17: cproto.UpgradeDetails (*UpgradeDetailsMetadata)(nil), // 18: cproto.UpgradeDetailsMetadata (*DiagnosticFileResult)(nil), // 19: cproto.DiagnosticFileResult (*DiagnosticAgentRequest)(nil), // 20: cproto.DiagnosticAgentRequest (*DiagnosticComponentsRequest)(nil), // 21: cproto.DiagnosticComponentsRequest (*DiagnosticComponentRequest)(nil), // 22: cproto.DiagnosticComponentRequest (*DiagnosticAgentResponse)(nil), // 23: cproto.DiagnosticAgentResponse (*DiagnosticUnitRequest)(nil), // 24: cproto.DiagnosticUnitRequest (*DiagnosticUnitsRequest)(nil), // 25: cproto.DiagnosticUnitsRequest (*DiagnosticUnitResponse)(nil), // 26: cproto.DiagnosticUnitResponse (*DiagnosticComponentResponse)(nil), // 27: cproto.DiagnosticComponentResponse (*DiagnosticUnitsResponse)(nil), // 28: cproto.DiagnosticUnitsResponse (*ConfigureRequest)(nil), // 29: cproto.ConfigureRequest nil, // 30: cproto.ComponentVersionInfo.MetaEntry nil, // 31: cproto.CollectorComponent.ComponentStatusMapEntry (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp } var file_control_v2_proto_depIdxs = []int32{ 3, // 0: cproto.RestartResponse.status:type_name -> cproto.ActionStatus 3, // 1: cproto.UpgradeResponse.status:type_name -> cproto.ActionStatus 2, // 2: cproto.ComponentUnitState.unit_type:type_name -> cproto.UnitType 0, // 3: cproto.ComponentUnitState.state:type_name -> cproto.State 30, // 4: cproto.ComponentVersionInfo.meta:type_name -> cproto.ComponentVersionInfo.MetaEntry 0, // 5: cproto.ComponentState.state:type_name -> cproto.State 11, // 6: cproto.ComponentState.units:type_name -> cproto.ComponentUnitState 12, // 7: cproto.ComponentState.version_info:type_name -> cproto.ComponentVersionInfo 1, // 8: cproto.CollectorComponent.status:type_name -> cproto.CollectorComponentStatus 31, // 9: cproto.CollectorComponent.ComponentStatusMap:type_name -> cproto.CollectorComponent.ComponentStatusMapEntry 14, // 10: cproto.StateResponse.info:type_name -> cproto.StateAgentInfo 0, // 11: cproto.StateResponse.state:type_name -> cproto.State 0, // 12: cproto.StateResponse.fleetState:type_name -> cproto.State 13, // 13: cproto.StateResponse.components:type_name -> cproto.ComponentState 17, // 14: cproto.StateResponse.upgrade_details:type_name -> cproto.UpgradeDetails 15, // 15: cproto.StateResponse.collector:type_name -> cproto.CollectorComponent 18, // 16: cproto.UpgradeDetails.metadata:type_name -> cproto.UpgradeDetailsMetadata 32, // 17: cproto.DiagnosticFileResult.generated:type_name -> google.protobuf.Timestamp 5, // 18: cproto.DiagnosticAgentRequest.additional_metrics:type_name -> cproto.AdditionalDiagnosticRequest 22, // 19: cproto.DiagnosticComponentsRequest.components:type_name -> cproto.DiagnosticComponentRequest 5, // 20: cproto.DiagnosticComponentsRequest.additional_metrics:type_name -> cproto.AdditionalDiagnosticRequest 19, // 21: cproto.DiagnosticAgentResponse.results:type_name -> cproto.DiagnosticFileResult 2, // 22: cproto.DiagnosticUnitRequest.unit_type:type_name -> cproto.UnitType 24, // 23: cproto.DiagnosticUnitsRequest.units:type_name -> cproto.DiagnosticUnitRequest 2, // 24: cproto.DiagnosticUnitResponse.unit_type:type_name -> cproto.UnitType 19, // 25: cproto.DiagnosticUnitResponse.results:type_name -> cproto.DiagnosticFileResult 19, // 26: cproto.DiagnosticComponentResponse.results:type_name -> cproto.DiagnosticFileResult 26, // 27: cproto.DiagnosticUnitsResponse.units:type_name -> cproto.DiagnosticUnitResponse 15, // 28: cproto.CollectorComponent.ComponentStatusMapEntry.value:type_name -> cproto.CollectorComponent 6, // 29: cproto.ElasticAgentControl.Version:input_type -> cproto.Empty 6, // 30: cproto.ElasticAgentControl.State:input_type -> cproto.Empty 6, // 31: cproto.ElasticAgentControl.StateWatch:input_type -> cproto.Empty 6, // 32: cproto.ElasticAgentControl.Restart:input_type -> cproto.Empty 9, // 33: cproto.ElasticAgentControl.Upgrade:input_type -> cproto.UpgradeRequest 20, // 34: cproto.ElasticAgentControl.DiagnosticAgent:input_type -> cproto.DiagnosticAgentRequest 25, // 35: cproto.ElasticAgentControl.DiagnosticUnits:input_type -> cproto.DiagnosticUnitsRequest 21, // 36: cproto.ElasticAgentControl.DiagnosticComponents:input_type -> cproto.DiagnosticComponentsRequest 29, // 37: cproto.ElasticAgentControl.Configure:input_type -> cproto.ConfigureRequest 7, // 38: cproto.ElasticAgentControl.Version:output_type -> cproto.VersionResponse 16, // 39: cproto.ElasticAgentControl.State:output_type -> cproto.StateResponse 16, // 40: cproto.ElasticAgentControl.StateWatch:output_type -> cproto.StateResponse 8, // 41: cproto.ElasticAgentControl.Restart:output_type -> cproto.RestartResponse 10, // 42: cproto.ElasticAgentControl.Upgrade:output_type -> cproto.UpgradeResponse 23, // 43: cproto.ElasticAgentControl.DiagnosticAgent:output_type -> cproto.DiagnosticAgentResponse 26, // 44: cproto.ElasticAgentControl.DiagnosticUnits:output_type -> cproto.DiagnosticUnitResponse 27, // 45: cproto.ElasticAgentControl.DiagnosticComponents:output_type -> cproto.DiagnosticComponentResponse 6, // 46: cproto.ElasticAgentControl.Configure:output_type -> cproto.Empty 38, // [38:47] is the sub-list for method output_type 29, // [29:38] is the sub-list for method input_type 29, // [29:29] is the sub-list for extension type_name 29, // [29:29] is the sub-list for extension extendee 0, // [0:29] is the sub-list for field type_name } func init() { file_control_v2_proto_init() } func file_control_v2_proto_init() { if File_control_v2_proto != nil { return } if !protoimpl.UnsafeEnabled { file_control_v2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Empty); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestartResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComponentUnitState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComponentVersionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComponentState); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StateAgentInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollectorComponent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeDetailsMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticFileResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticAgentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticComponentsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticComponentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticAgentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticUnitRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticUnitsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticUnitResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticComponentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiagnosticUnitsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_control_v2_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigureRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_control_v2_proto_rawDesc, NumEnums: 6, NumMessages: 26, NumExtensions: 0, NumServices: 1, }, GoTypes: file_control_v2_proto_goTypes, DependencyIndexes: file_control_v2_proto_depIdxs, EnumInfos: file_control_v2_proto_enumTypes, MessageInfos: file_control_v2_proto_msgTypes, }.Build() File_control_v2_proto = out.File file_control_v2_proto_rawDesc = nil file_control_v2_proto_goTypes = nil file_control_v2_proto_depIdxs = nil }