proto/managedendpoint.pb.go
Rama main · réplica de lectura del repositorio original.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.25.1
// source: managedendpoint.proto
package proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
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)
)
type ReplicaCapacity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
InFlight int64 `protobuf:"varint,1,opt,name=in_flight,json=inFlight,proto3" json:"in_flight,omitempty"`
MaxConcurrency int64 `protobuf:"varint,2,opt,name=max_concurrency,json=maxConcurrency,proto3" json:"max_concurrency,omitempty"`
Running int64 `protobuf:"varint,3,opt,name=running,proto3" json:"running,omitempty"`
Waiting int64 `protobuf:"varint,4,opt,name=waiting,proto3" json:"waiting,omitempty"`
KvCacheFreeMilli int64 `protobuf:"varint,5,opt,name=kv_cache_free_milli,json=kvCacheFreeMilli,proto3" json:"kv_cache_free_milli,omitempty"`
DecodeTokensPerSec int64 `protobuf:"varint,6,opt,name=decode_tokens_per_sec,json=decodeTokensPerSec,proto3" json:"decode_tokens_per_sec,omitempty"`
PromptTokensPerSec int64 `protobuf:"varint,7,opt,name=prompt_tokens_per_sec,json=promptTokensPerSec,proto3" json:"prompt_tokens_per_sec,omitempty"`
TtftMs int64 `protobuf:"varint,8,opt,name=ttft_ms,json=ttftMs,proto3" json:"ttft_ms,omitempty"`
TpotMs int64 `protobuf:"varint,9,opt,name=tpot_ms,json=tpotMs,proto3" json:"tpot_ms,omitempty"`
PrefixCacheHitMilli int64 `protobuf:"varint,10,opt,name=prefix_cache_hit_milli,json=prefixCacheHitMilli,proto3" json:"prefix_cache_hit_milli,omitempty"`
}
func (x *ReplicaCapacity) Reset() {
*x = ReplicaCapacity{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReplicaCapacity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReplicaCapacity) ProtoMessage() {}
func (x *ReplicaCapacity) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ReplicaCapacity.ProtoReflect.Descriptor instead.
func (*ReplicaCapacity) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{0}
}
func (x *ReplicaCapacity) GetInFlight() int64 {
if x != nil {
return x.InFlight
}
return 0
}
func (x *ReplicaCapacity) GetMaxConcurrency() int64 {
if x != nil {
return x.MaxConcurrency
}
return 0
}
func (x *ReplicaCapacity) GetRunning() int64 {
if x != nil {
return x.Running
}
return 0
}
func (x *ReplicaCapacity) GetWaiting() int64 {
if x != nil {
return x.Waiting
}
return 0
}
func (x *ReplicaCapacity) GetKvCacheFreeMilli() int64 {
if x != nil {
return x.KvCacheFreeMilli
}
return 0
}
func (x *ReplicaCapacity) GetDecodeTokensPerSec() int64 {
if x != nil {
return x.DecodeTokensPerSec
}
return 0
}
func (x *ReplicaCapacity) GetPromptTokensPerSec() int64 {
if x != nil {
return x.PromptTokensPerSec
}
return 0
}
func (x *ReplicaCapacity) GetTtftMs() int64 {
if x != nil {
return x.TtftMs
}
return 0
}
func (x *ReplicaCapacity) GetTpotMs() int64 {
if x != nil {
return x.TpotMs
}
return 0
}
func (x *ReplicaCapacity) GetPrefixCacheHitMilli() int64 {
if x != nil {
return x.PrefixCacheHitMilli
}
return 0
}
// ReplicaConfig is the live harness config of one replica: the requested
// revision and the engine's answer to it.
type ReplicaConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Revision uint64 `protobuf:"varint,1,opt,name=revision,proto3" json:"revision,omitempty"`
ConfigJson string `protobuf:"bytes,2,opt,name=config_json,json=configJson,proto3" json:"config_json,omitempty"`
Author string `protobuf:"bytes,3,opt,name=author,proto3" json:"author,omitempty"`
SetAtUnixMs int64 `protobuf:"varint,4,opt,name=set_at_unix_ms,json=setAtUnixMs,proto3" json:"set_at_unix_ms,omitempty"`
AckedRevision uint64 `protobuf:"varint,5,opt,name=acked_revision,json=ackedRevision,proto3" json:"acked_revision,omitempty"`
Applied bool `protobuf:"varint,6,opt,name=applied,proto3" json:"applied,omitempty"`
Error string `protobuf:"bytes,7,opt,name=error,proto3" json:"error,omitempty"`
EffectiveJson string `protobuf:"bytes,8,opt,name=effective_json,json=effectiveJson,proto3" json:"effective_json,omitempty"`
AckedAtUnixMs int64 `protobuf:"varint,9,opt,name=acked_at_unix_ms,json=ackedAtUnixMs,proto3" json:"acked_at_unix_ms,omitempty"`
Actor string `protobuf:"bytes,10,opt,name=actor,proto3" json:"actor,omitempty"` // authenticated token that set the revision
}
func (x *ReplicaConfig) Reset() {
*x = ReplicaConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReplicaConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReplicaConfig) ProtoMessage() {}
func (x *ReplicaConfig) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ReplicaConfig.ProtoReflect.Descriptor instead.
func (*ReplicaConfig) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{1}
}
func (x *ReplicaConfig) GetRevision() uint64 {
if x != nil {
return x.Revision
}
return 0
}
func (x *ReplicaConfig) GetConfigJson() string {
if x != nil {
return x.ConfigJson
}
return ""
}
func (x *ReplicaConfig) GetAuthor() string {
if x != nil {
return x.Author
}
return ""
}
func (x *ReplicaConfig) GetSetAtUnixMs() int64 {
if x != nil {
return x.SetAtUnixMs
}
return 0
}
func (x *ReplicaConfig) GetAckedRevision() uint64 {
if x != nil {
return x.AckedRevision
}
return 0
}
func (x *ReplicaConfig) GetApplied() bool {
if x != nil {
return x.Applied
}
return false
}
func (x *ReplicaConfig) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *ReplicaConfig) GetEffectiveJson() string {
if x != nil {
return x.EffectiveJson
}
return ""
}
func (x *ReplicaConfig) GetAckedAtUnixMs() int64 {
if x != nil {
return x.AckedAtUnixMs
}
return 0
}
func (x *ReplicaConfig) GetActor() string {
if x != nil {
return x.Actor
}
return ""
}
type EndpointReplica struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
EndpointId string `protobuf:"bytes,2,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
Version uint32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
Gpu string `protobuf:"bytes,4,opt,name=gpu,proto3" json:"gpu,omitempty"`
GpuCount uint32 `protobuf:"varint,5,opt,name=gpu_count,json=gpuCount,proto3" json:"gpu_count,omitempty"`
PoolName string `protobuf:"bytes,7,opt,name=pool_name,json=poolName,proto3" json:"pool_name,omitempty"`
ContainerId string `protobuf:"bytes,8,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
WorkerId string `protobuf:"bytes,9,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
Address string `protobuf:"bytes,10,opt,name=address,proto3" json:"address,omitempty"`
Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
StatusReason string `protobuf:"bytes,12,opt,name=status_reason,json=statusReason,proto3" json:"status_reason,omitempty"`
HarnessEnabled bool `protobuf:"varint,14,opt,name=harness_enabled,json=harnessEnabled,proto3" json:"harness_enabled,omitempty"`
Config *ReplicaConfig `protobuf:"bytes,15,opt,name=config,proto3" json:"config,omitempty"`
Capacity *ReplicaCapacity `protobuf:"bytes,16,opt,name=capacity,proto3" json:"capacity,omitempty"`
CapabilitiesJson string `protobuf:"bytes,17,opt,name=capabilities_json,json=capabilitiesJson,proto3" json:"capabilities_json,omitempty"`
EngineMetricsJson string `protobuf:"bytes,18,opt,name=engine_metrics_json,json=engineMetricsJson,proto3" json:"engine_metrics_json,omitempty"`
StartedAtUnixMs int64 `protobuf:"varint,19,opt,name=started_at_unix_ms,json=startedAtUnixMs,proto3" json:"started_at_unix_ms,omitempty"`
ReadyAtUnixMs int64 `protobuf:"varint,20,opt,name=ready_at_unix_ms,json=readyAtUnixMs,proto3" json:"ready_at_unix_ms,omitempty"`
LastHeartbeatUnixMs int64 `protobuf:"varint,21,opt,name=last_heartbeat_unix_ms,json=lastHeartbeatUnixMs,proto3" json:"last_heartbeat_unix_ms,omitempty"`
MachineId string `protobuf:"bytes,22,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"`
// Set when the replica runs on a workspace's contributed machine.
ProviderWorkspaceId string `protobuf:"bytes,23,opt,name=provider_workspace_id,json=providerWorkspaceId,proto3" json:"provider_workspace_id,omitempty"`
// True for a replica reserved to satisfy a non-preemptible minimum.
Protected bool `protobuf:"varint,24,opt,name=protected,proto3" json:"protected,omitempty"`
}
func (x *EndpointReplica) Reset() {
*x = EndpointReplica{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EndpointReplica) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EndpointReplica) ProtoMessage() {}
func (x *EndpointReplica) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 EndpointReplica.ProtoReflect.Descriptor instead.
func (*EndpointReplica) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{2}
}
func (x *EndpointReplica) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *EndpointReplica) GetEndpointId() string {
if x != nil {
return x.EndpointId
}
return ""
}
func (x *EndpointReplica) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *EndpointReplica) GetGpu() string {
if x != nil {
return x.Gpu
}
return ""
}
func (x *EndpointReplica) GetGpuCount() uint32 {
if x != nil {
return x.GpuCount
}
return 0
}
func (x *EndpointReplica) GetPoolName() string {
if x != nil {
return x.PoolName
}
return ""
}
func (x *EndpointReplica) GetContainerId() string {
if x != nil {
return x.ContainerId
}
return ""
}
func (x *EndpointReplica) GetWorkerId() string {
if x != nil {
return x.WorkerId
}
return ""
}
func (x *EndpointReplica) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *EndpointReplica) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *EndpointReplica) GetStatusReason() string {
if x != nil {
return x.StatusReason
}
return ""
}
func (x *EndpointReplica) GetHarnessEnabled() bool {
if x != nil {
return x.HarnessEnabled
}
return false
}
func (x *EndpointReplica) GetConfig() *ReplicaConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *EndpointReplica) GetCapacity() *ReplicaCapacity {
if x != nil {
return x.Capacity
}
return nil
}
func (x *EndpointReplica) GetCapabilitiesJson() string {
if x != nil {
return x.CapabilitiesJson
}
return ""
}
func (x *EndpointReplica) GetEngineMetricsJson() string {
if x != nil {
return x.EngineMetricsJson
}
return ""
}
func (x *EndpointReplica) GetStartedAtUnixMs() int64 {
if x != nil {
return x.StartedAtUnixMs
}
return 0
}
func (x *EndpointReplica) GetReadyAtUnixMs() int64 {
if x != nil {
return x.ReadyAtUnixMs
}
return 0
}
func (x *EndpointReplica) GetLastHeartbeatUnixMs() int64 {
if x != nil {
return x.LastHeartbeatUnixMs
}
return 0
}
func (x *EndpointReplica) GetMachineId() string {
if x != nil {
return x.MachineId
}
return ""
}
func (x *EndpointReplica) GetProviderWorkspaceId() string {
if x != nil {
return x.ProviderWorkspaceId
}
return ""
}
func (x *EndpointReplica) GetProtected() bool {
if x != nil {
return x.Protected
}
return false
}
type ManagedEndpoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
SpecJson string `protobuf:"bytes,2,opt,name=spec_json,json=specJson,proto3" json:"spec_json,omitempty"`
StubId string `protobuf:"bytes,3,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
Version uint32 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
GitSha string `protobuf:"bytes,5,opt,name=git_sha,json=gitSha,proto3" json:"git_sha,omitempty"`
Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
CreatedAtUnixMs int64 `protobuf:"varint,7,opt,name=created_at_unix_ms,json=createdAtUnixMs,proto3" json:"created_at_unix_ms,omitempty"`
UpdatedAtUnixMs int64 `protobuf:"varint,8,opt,name=updated_at_unix_ms,json=updatedAtUnixMs,proto3" json:"updated_at_unix_ms,omitempty"`
ReadyReplicas uint32 `protobuf:"varint,9,opt,name=ready_replicas,json=readyReplicas,proto3" json:"ready_replicas,omitempty"`
TotalReplicas uint32 `protobuf:"varint,10,opt,name=total_replicas,json=totalReplicas,proto3" json:"total_replicas,omitempty"`
// config.yaml placement: JSON {gpu: {priority, min_replicas, max_replicas, preemption}}.
PlacementsJson string `protobuf:"bytes,11,opt,name=placements_json,json=placementsJson,proto3" json:"placements_json,omitempty"`
// deploy_failed, retired, disabled, waiting_for_capacity, loading, ready or failed.
State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"`
StateReason string `protobuf:"bytes,13,opt,name=state_reason,json=stateReason,proto3" json:"state_reason,omitempty"`
}
func (x *ManagedEndpoint) Reset() {
*x = ManagedEndpoint{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ManagedEndpoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ManagedEndpoint) ProtoMessage() {}
func (x *ManagedEndpoint) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ManagedEndpoint.ProtoReflect.Descriptor instead.
func (*ManagedEndpoint) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{3}
}
func (x *ManagedEndpoint) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ManagedEndpoint) GetSpecJson() string {
if x != nil {
return x.SpecJson
}
return ""
}
func (x *ManagedEndpoint) GetStubId() string {
if x != nil {
return x.StubId
}
return ""
}
func (x *ManagedEndpoint) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *ManagedEndpoint) GetGitSha() string {
if x != nil {
return x.GitSha
}
return ""
}
func (x *ManagedEndpoint) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ManagedEndpoint) GetCreatedAtUnixMs() int64 {
if x != nil {
return x.CreatedAtUnixMs
}
return 0
}
func (x *ManagedEndpoint) GetUpdatedAtUnixMs() int64 {
if x != nil {
return x.UpdatedAtUnixMs
}
return 0
}
func (x *ManagedEndpoint) GetReadyReplicas() uint32 {
if x != nil {
return x.ReadyReplicas
}
return 0
}
func (x *ManagedEndpoint) GetTotalReplicas() uint32 {
if x != nil {
return x.TotalReplicas
}
return 0
}
func (x *ManagedEndpoint) GetPlacementsJson() string {
if x != nil {
return x.PlacementsJson
}
return ""
}
func (x *ManagedEndpoint) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *ManagedEndpoint) GetStateReason() string {
if x != nil {
return x.StateReason
}
return ""
}
type Event struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // endpoint.* event name
PayloadJson string `protobuf:"bytes,2,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"` // event schema payload
AtUnixMs int64 `protobuf:"varint,3,opt,name=at_unix_ms,json=atUnixMs,proto3" json:"at_unix_ms,omitempty"`
}
func (x *Event) Reset() {
*x = Event{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Event) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Event) ProtoMessage() {}
func (x *Event) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 Event.ProtoReflect.Descriptor instead.
func (*Event) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{4}
}
func (x *Event) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Event) GetPayloadJson() string {
if x != nil {
return x.PayloadJson
}
return ""
}
func (x *Event) GetAtUnixMs() int64 {
if x != nil {
return x.AtUnixMs
}
return 0
}
type HarnessRegisterRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
Engine string `protobuf:"bytes,2,opt,name=engine,proto3" json:"engine,omitempty"`
EngineVersion string `protobuf:"bytes,3,opt,name=engine_version,json=engineVersion,proto3" json:"engine_version,omitempty"`
// JSON control catalog / capabilities advertised by the harness.
CapabilitiesJson string `protobuf:"bytes,4,opt,name=capabilities_json,json=capabilitiesJson,proto3" json:"capabilities_json,omitempty"`
// JSON startup limits (max_num_seqs, max_model_len, ...).
LimitsJson string `protobuf:"bytes,5,opt,name=limits_json,json=limitsJson,proto3" json:"limits_json,omitempty"`
}
func (x *HarnessRegisterRequest) Reset() {
*x = HarnessRegisterRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessRegisterRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessRegisterRequest) ProtoMessage() {}
func (x *HarnessRegisterRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessRegisterRequest.ProtoReflect.Descriptor instead.
func (*HarnessRegisterRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{5}
}
func (x *HarnessRegisterRequest) GetContainerId() string {
if x != nil {
return x.ContainerId
}
return ""
}
func (x *HarnessRegisterRequest) GetEngine() string {
if x != nil {
return x.Engine
}
return ""
}
func (x *HarnessRegisterRequest) GetEngineVersion() string {
if x != nil {
return x.EngineVersion
}
return ""
}
func (x *HarnessRegisterRequest) GetCapabilitiesJson() string {
if x != nil {
return x.CapabilitiesJson
}
return ""
}
func (x *HarnessRegisterRequest) GetLimitsJson() string {
if x != nil {
return x.LimitsJson
}
return ""
}
type HarnessRegisterResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
ReplicaId string `protobuf:"bytes,3,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
EndpointId string `protobuf:"bytes,4,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
Gpu string `protobuf:"bytes,5,opt,name=gpu,proto3" json:"gpu,omitempty"`
HeartbeatIntervalSeconds uint32 `protobuf:"varint,6,opt,name=heartbeat_interval_seconds,json=heartbeatIntervalSeconds,proto3" json:"heartbeat_interval_seconds,omitempty"`
// Current live config; unset when none was pushed to this replica.
Current *ReplicaConfig `protobuf:"bytes,7,opt,name=current,proto3" json:"current,omitempty"`
}
func (x *HarnessRegisterResponse) Reset() {
*x = HarnessRegisterResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessRegisterResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessRegisterResponse) ProtoMessage() {}
func (x *HarnessRegisterResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessRegisterResponse.ProtoReflect.Descriptor instead.
func (*HarnessRegisterResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{6}
}
func (x *HarnessRegisterResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *HarnessRegisterResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *HarnessRegisterResponse) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *HarnessRegisterResponse) GetEndpointId() string {
if x != nil {
return x.EndpointId
}
return ""
}
func (x *HarnessRegisterResponse) GetGpu() string {
if x != nil {
return x.Gpu
}
return ""
}
func (x *HarnessRegisterResponse) GetHeartbeatIntervalSeconds() uint32 {
if x != nil {
return x.HeartbeatIntervalSeconds
}
return 0
}
func (x *HarnessRegisterResponse) GetCurrent() *ReplicaConfig {
if x != nil {
return x.Current
}
return nil
}
type HarnessWatchConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReplicaId string `protobuf:"bytes,1,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
// Resume from this revision (exclusive); zero sends the current revision.
AfterRevision uint64 `protobuf:"varint,2,opt,name=after_revision,json=afterRevision,proto3" json:"after_revision,omitempty"`
}
func (x *HarnessWatchConfigRequest) Reset() {
*x = HarnessWatchConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessWatchConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessWatchConfigRequest) ProtoMessage() {}
func (x *HarnessWatchConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessWatchConfigRequest.ProtoReflect.Descriptor instead.
func (*HarnessWatchConfigRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{7}
}
func (x *HarnessWatchConfigRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *HarnessWatchConfigRequest) GetAfterRevision() uint64 {
if x != nil {
return x.AfterRevision
}
return 0
}
type HarnessAckConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReplicaId string `protobuf:"bytes,1,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
Revision uint64 `protobuf:"varint,2,opt,name=revision,proto3" json:"revision,omitempty"`
Applied bool `protobuf:"varint,3,opt,name=applied,proto3" json:"applied,omitempty"`
Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
// JSON of the effective config after apply.
EffectiveJson string `protobuf:"bytes,5,opt,name=effective_json,json=effectiveJson,proto3" json:"effective_json,omitempty"`
}
func (x *HarnessAckConfigRequest) Reset() {
*x = HarnessAckConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessAckConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessAckConfigRequest) ProtoMessage() {}
func (x *HarnessAckConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessAckConfigRequest.ProtoReflect.Descriptor instead.
func (*HarnessAckConfigRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{8}
}
func (x *HarnessAckConfigRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *HarnessAckConfigRequest) GetRevision() uint64 {
if x != nil {
return x.Revision
}
return 0
}
func (x *HarnessAckConfigRequest) GetApplied() bool {
if x != nil {
return x.Applied
}
return false
}
func (x *HarnessAckConfigRequest) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *HarnessAckConfigRequest) GetEffectiveJson() string {
if x != nil {
return x.EffectiveJson
}
return ""
}
type HarnessAckConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
}
func (x *HarnessAckConfigResponse) Reset() {
*x = HarnessAckConfigResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessAckConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessAckConfigResponse) ProtoMessage() {}
func (x *HarnessAckConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessAckConfigResponse.ProtoReflect.Descriptor instead.
func (*HarnessAckConfigResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{9}
}
func (x *HarnessAckConfigResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *HarnessAckConfigResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
type HarnessHeartbeatRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReplicaId string `protobuf:"bytes,1,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // loading | ready | draining
Capacity *ReplicaCapacity `protobuf:"bytes,3,opt,name=capacity,proto3" json:"capacity,omitempty"`
AppliedRevision uint64 `protobuf:"varint,4,opt,name=applied_revision,json=appliedRevision,proto3" json:"applied_revision,omitempty"`
// JSON engine metrics summary.
MetricsJson string `protobuf:"bytes,5,opt,name=metrics_json,json=metricsJson,proto3" json:"metrics_json,omitempty"`
}
func (x *HarnessHeartbeatRequest) Reset() {
*x = HarnessHeartbeatRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessHeartbeatRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessHeartbeatRequest) ProtoMessage() {}
func (x *HarnessHeartbeatRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessHeartbeatRequest.ProtoReflect.Descriptor instead.
func (*HarnessHeartbeatRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{10}
}
func (x *HarnessHeartbeatRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *HarnessHeartbeatRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *HarnessHeartbeatRequest) GetCapacity() *ReplicaCapacity {
if x != nil {
return x.Capacity
}
return nil
}
func (x *HarnessHeartbeatRequest) GetAppliedRevision() uint64 {
if x != nil {
return x.AppliedRevision
}
return 0
}
func (x *HarnessHeartbeatRequest) GetMetricsJson() string {
if x != nil {
return x.MetricsJson
}
return ""
}
type HarnessHeartbeatResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
// Set when the control plane wants the replica to drain and exit.
Drain bool `protobuf:"varint,3,opt,name=drain,proto3" json:"drain,omitempty"`
DrainSeconds uint32 `protobuf:"varint,4,opt,name=drain_seconds,json=drainSeconds,proto3" json:"drain_seconds,omitempty"`
HeartbeatIntervalSeconds uint32 `protobuf:"varint,5,opt,name=heartbeat_interval_seconds,json=heartbeatIntervalSeconds,proto3" json:"heartbeat_interval_seconds,omitempty"`
}
func (x *HarnessHeartbeatResponse) Reset() {
*x = HarnessHeartbeatResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessHeartbeatResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessHeartbeatResponse) ProtoMessage() {}
func (x *HarnessHeartbeatResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessHeartbeatResponse.ProtoReflect.Descriptor instead.
func (*HarnessHeartbeatResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{11}
}
func (x *HarnessHeartbeatResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *HarnessHeartbeatResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *HarnessHeartbeatResponse) GetDrain() bool {
if x != nil {
return x.Drain
}
return false
}
func (x *HarnessHeartbeatResponse) GetDrainSeconds() uint32 {
if x != nil {
return x.DrainSeconds
}
return 0
}
func (x *HarnessHeartbeatResponse) GetHeartbeatIntervalSeconds() uint32 {
if x != nil {
return x.HeartbeatIntervalSeconds
}
return 0
}
type HarnessPublishEventsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReplicaId string `protobuf:"bytes,1,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
Events []*Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"`
}
func (x *HarnessPublishEventsRequest) Reset() {
*x = HarnessPublishEventsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessPublishEventsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessPublishEventsRequest) ProtoMessage() {}
func (x *HarnessPublishEventsRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessPublishEventsRequest.ProtoReflect.Descriptor instead.
func (*HarnessPublishEventsRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{12}
}
func (x *HarnessPublishEventsRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *HarnessPublishEventsRequest) GetEvents() []*Event {
if x != nil {
return x.Events
}
return nil
}
type HarnessPublishEventsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Accepted uint32 `protobuf:"varint,3,opt,name=accepted,proto3" json:"accepted,omitempty"`
}
func (x *HarnessPublishEventsResponse) Reset() {
*x = HarnessPublishEventsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HarnessPublishEventsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HarnessPublishEventsResponse) ProtoMessage() {}
func (x *HarnessPublishEventsResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 HarnessPublishEventsResponse.ProtoReflect.Descriptor instead.
func (*HarnessPublishEventsResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{13}
}
func (x *HarnessPublishEventsResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *HarnessPublishEventsResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *HarnessPublishEventsResponse) GetAccepted() uint32 {
if x != nil {
return x.Accepted
}
return 0
}
type ListEndpointsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListEndpointsRequest) Reset() {
*x = ListEndpointsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListEndpointsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListEndpointsRequest) ProtoMessage() {}
func (x *ListEndpointsRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ListEndpointsRequest.ProtoReflect.Descriptor instead.
func (*ListEndpointsRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{14}
}
type ListEndpointsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Endpoints []*ManagedEndpoint `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
}
func (x *ListEndpointsResponse) Reset() {
*x = ListEndpointsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListEndpointsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListEndpointsResponse) ProtoMessage() {}
func (x *ListEndpointsResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ListEndpointsResponse.ProtoReflect.Descriptor instead.
func (*ListEndpointsResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{15}
}
func (x *ListEndpointsResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *ListEndpointsResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *ListEndpointsResponse) GetEndpoints() []*ManagedEndpoint {
if x != nil {
return x.Endpoints
}
return nil
}
type GetEndpointRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EndpointId string `protobuf:"bytes,1,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
}
func (x *GetEndpointRequest) Reset() {
*x = GetEndpointRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetEndpointRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetEndpointRequest) ProtoMessage() {}
func (x *GetEndpointRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 GetEndpointRequest.ProtoReflect.Descriptor instead.
func (*GetEndpointRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{16}
}
func (x *GetEndpointRequest) GetEndpointId() string {
if x != nil {
return x.EndpointId
}
return ""
}
type GetEndpointResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Endpoint *ManagedEndpoint `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
Replicas []*EndpointReplica `protobuf:"bytes,4,rep,name=replicas,proto3" json:"replicas,omitempty"`
}
func (x *GetEndpointResponse) Reset() {
*x = GetEndpointResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetEndpointResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetEndpointResponse) ProtoMessage() {}
func (x *GetEndpointResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 GetEndpointResponse.ProtoReflect.Descriptor instead.
func (*GetEndpointResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{17}
}
func (x *GetEndpointResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *GetEndpointResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *GetEndpointResponse) GetEndpoint() *ManagedEndpoint {
if x != nil {
return x.Endpoint
}
return nil
}
func (x *GetEndpointResponse) GetReplicas() []*EndpointReplica {
if x != nil {
return x.Replicas
}
return nil
}
type ListReplicasRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EndpointId string `protobuf:"bytes,1,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
Gpu string `protobuf:"bytes,3,opt,name=gpu,proto3" json:"gpu,omitempty"`
}
func (x *ListReplicasRequest) Reset() {
*x = ListReplicasRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListReplicasRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListReplicasRequest) ProtoMessage() {}
func (x *ListReplicasRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ListReplicasRequest.ProtoReflect.Descriptor instead.
func (*ListReplicasRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{18}
}
func (x *ListReplicasRequest) GetEndpointId() string {
if x != nil {
return x.EndpointId
}
return ""
}
func (x *ListReplicasRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListReplicasRequest) GetGpu() string {
if x != nil {
return x.Gpu
}
return ""
}
type ListReplicasResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Replicas []*EndpointReplica `protobuf:"bytes,3,rep,name=replicas,proto3" json:"replicas,omitempty"`
}
func (x *ListReplicasResponse) Reset() {
*x = ListReplicasResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListReplicasResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListReplicasResponse) ProtoMessage() {}
func (x *ListReplicasResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 ListReplicasResponse.ProtoReflect.Descriptor instead.
func (*ListReplicasResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{19}
}
func (x *ListReplicasResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *ListReplicasResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *ListReplicasResponse) GetReplicas() []*EndpointReplica {
if x != nil {
return x.Replicas
}
return nil
}
type GetMetricsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EndpointId string `protobuf:"bytes,1,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
Gpu string `protobuf:"bytes,2,opt,name=gpu,proto3" json:"gpu,omitempty"`
ReplicaId string `protobuf:"bytes,3,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
WindowSeconds uint32 `protobuf:"varint,4,opt,name=window_seconds,json=windowSeconds,proto3" json:"window_seconds,omitempty"`
// With replica_id: only requests served under this acknowledged live config.
ConfigRevision uint64 `protobuf:"varint,5,opt,name=config_revision,json=configRevision,proto3" json:"config_revision,omitempty"`
}
func (x *GetMetricsRequest) Reset() {
*x = GetMetricsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMetricsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMetricsRequest) ProtoMessage() {}
func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 GetMetricsRequest.ProtoReflect.Descriptor instead.
func (*GetMetricsRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{20}
}
func (x *GetMetricsRequest) GetEndpointId() string {
if x != nil {
return x.EndpointId
}
return ""
}
func (x *GetMetricsRequest) GetGpu() string {
if x != nil {
return x.Gpu
}
return ""
}
func (x *GetMetricsRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *GetMetricsRequest) GetWindowSeconds() uint32 {
if x != nil {
return x.WindowSeconds
}
return 0
}
func (x *GetMetricsRequest) GetConfigRevision() uint64 {
if x != nil {
return x.ConfigRevision
}
return 0
}
type EndpointMetrics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EndpointId string `protobuf:"bytes,1,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
Gpu string `protobuf:"bytes,2,opt,name=gpu,proto3" json:"gpu,omitempty"`
WindowSeconds uint32 `protobuf:"varint,3,opt,name=window_seconds,json=windowSeconds,proto3" json:"window_seconds,omitempty"`
Requests int64 `protobuf:"varint,4,opt,name=requests,proto3" json:"requests,omitempty"`
Errors int64 `protobuf:"varint,5,opt,name=errors,proto3" json:"errors,omitempty"`
PromptTokens int64 `protobuf:"varint,6,opt,name=prompt_tokens,json=promptTokens,proto3" json:"prompt_tokens,omitempty"`
CompletionTokens int64 `protobuf:"varint,7,opt,name=completion_tokens,json=completionTokens,proto3" json:"completion_tokens,omitempty"`
TtftMs int64 `protobuf:"varint,8,opt,name=ttft_ms,json=ttftMs,proto3" json:"ttft_ms,omitempty"` // mean over the window
TpotMs int64 `protobuf:"varint,9,opt,name=tpot_ms,json=tpotMs,proto3" json:"tpot_ms,omitempty"` // mean over the window
DecodeTokensPerSec int64 `protobuf:"varint,10,opt,name=decode_tokens_per_sec,json=decodeTokensPerSec,proto3" json:"decode_tokens_per_sec,omitempty"`
QueueWaitMs int64 `protobuf:"varint,11,opt,name=queue_wait_ms,json=queueWaitMs,proto3" json:"queue_wait_ms,omitempty"` // mean over the window
CostMicroUsd int64 `protobuf:"varint,12,opt,name=cost_micro_usd,json=costMicroUsd,proto3" json:"cost_micro_usd,omitempty"`
ReadyReplicas uint32 `protobuf:"varint,13,opt,name=ready_replicas,json=readyReplicas,proto3" json:"ready_replicas,omitempty"`
AggregateCapacity *ReplicaCapacity `protobuf:"bytes,14,opt,name=aggregate_capacity,json=aggregateCapacity,proto3" json:"aggregate_capacity,omitempty"`
ConfigRevision uint64 `protobuf:"varint,15,opt,name=config_revision,json=configRevision,proto3" json:"config_revision,omitempty"`
}
func (x *EndpointMetrics) Reset() {
*x = EndpointMetrics{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EndpointMetrics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EndpointMetrics) ProtoMessage() {}
func (x *EndpointMetrics) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 EndpointMetrics.ProtoReflect.Descriptor instead.
func (*EndpointMetrics) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{21}
}
func (x *EndpointMetrics) GetEndpointId() string {
if x != nil {
return x.EndpointId
}
return ""
}
func (x *EndpointMetrics) GetGpu() string {
if x != nil {
return x.Gpu
}
return ""
}
func (x *EndpointMetrics) GetWindowSeconds() uint32 {
if x != nil {
return x.WindowSeconds
}
return 0
}
func (x *EndpointMetrics) GetRequests() int64 {
if x != nil {
return x.Requests
}
return 0
}
func (x *EndpointMetrics) GetErrors() int64 {
if x != nil {
return x.Errors
}
return 0
}
func (x *EndpointMetrics) GetPromptTokens() int64 {
if x != nil {
return x.PromptTokens
}
return 0
}
func (x *EndpointMetrics) GetCompletionTokens() int64 {
if x != nil {
return x.CompletionTokens
}
return 0
}
func (x *EndpointMetrics) GetTtftMs() int64 {
if x != nil {
return x.TtftMs
}
return 0
}
func (x *EndpointMetrics) GetTpotMs() int64 {
if x != nil {
return x.TpotMs
}
return 0
}
func (x *EndpointMetrics) GetDecodeTokensPerSec() int64 {
if x != nil {
return x.DecodeTokensPerSec
}
return 0
}
func (x *EndpointMetrics) GetQueueWaitMs() int64 {
if x != nil {
return x.QueueWaitMs
}
return 0
}
func (x *EndpointMetrics) GetCostMicroUsd() int64 {
if x != nil {
return x.CostMicroUsd
}
return 0
}
func (x *EndpointMetrics) GetReadyReplicas() uint32 {
if x != nil {
return x.ReadyReplicas
}
return 0
}
func (x *EndpointMetrics) GetAggregateCapacity() *ReplicaCapacity {
if x != nil {
return x.AggregateCapacity
}
return nil
}
func (x *EndpointMetrics) GetConfigRevision() uint64 {
if x != nil {
return x.ConfigRevision
}
return 0
}
type GetMetricsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Metrics *EndpointMetrics `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"`
Replicas []*EndpointReplica `protobuf:"bytes,4,rep,name=replicas,proto3" json:"replicas,omitempty"`
}
func (x *GetMetricsResponse) Reset() {
*x = GetMetricsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetMetricsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetMetricsResponse) ProtoMessage() {}
func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 GetMetricsResponse.ProtoReflect.Descriptor instead.
func (*GetMetricsResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{22}
}
func (x *GetMetricsResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *GetMetricsResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *GetMetricsResponse) GetMetrics() *EndpointMetrics {
if x != nil {
return x.Metrics
}
return nil
}
func (x *GetMetricsResponse) GetReplicas() []*EndpointReplica {
if x != nil {
return x.Replicas
}
return nil
}
type SetReplicaConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReplicaId string `protobuf:"bytes,1,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
ConfigJson string `protobuf:"bytes,2,opt,name=config_json,json=configJson,proto3" json:"config_json,omitempty"`
Author string `protobuf:"bytes,3,opt,name=author,proto3" json:"author,omitempty"`
// Wait up to this long for the harness ack (0 = default).
WaitSeconds uint32 `protobuf:"varint,4,opt,name=wait_seconds,json=waitSeconds,proto3" json:"wait_seconds,omitempty"`
}
func (x *SetReplicaConfigRequest) Reset() {
*x = SetReplicaConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetReplicaConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetReplicaConfigRequest) ProtoMessage() {}
func (x *SetReplicaConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_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 SetReplicaConfigRequest.ProtoReflect.Descriptor instead.
func (*SetReplicaConfigRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{23}
}
func (x *SetReplicaConfigRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *SetReplicaConfigRequest) GetConfigJson() string {
if x != nil {
return x.ConfigJson
}
return ""
}
func (x *SetReplicaConfigRequest) GetAuthor() string {
if x != nil {
return x.Author
}
return ""
}
func (x *SetReplicaConfigRequest) GetWaitSeconds() uint32 {
if x != nil {
return x.WaitSeconds
}
return 0
}
type SetReplicaConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Replica *EndpointReplica `protobuf:"bytes,3,opt,name=replica,proto3" json:"replica,omitempty"`
}
func (x *SetReplicaConfigResponse) Reset() {
*x = SetReplicaConfigResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetReplicaConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetReplicaConfigResponse) ProtoMessage() {}
func (x *SetReplicaConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[24]
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 SetReplicaConfigResponse.ProtoReflect.Descriptor instead.
func (*SetReplicaConfigResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{24}
}
func (x *SetReplicaConfigResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *SetReplicaConfigResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *SetReplicaConfigResponse) GetReplica() *EndpointReplica {
if x != nil {
return x.Replica
}
return nil
}
type StopReplicaRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReplicaId string `protobuf:"bytes,1,opt,name=replica_id,json=replicaId,proto3" json:"replica_id,omitempty"`
// Grace for in-flight requests; zero stops immediately.
DrainSeconds uint32 `protobuf:"varint,2,opt,name=drain_seconds,json=drainSeconds,proto3" json:"drain_seconds,omitempty"`
}
func (x *StopReplicaRequest) Reset() {
*x = StopReplicaRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopReplicaRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopReplicaRequest) ProtoMessage() {}
func (x *StopReplicaRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[25]
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 StopReplicaRequest.ProtoReflect.Descriptor instead.
func (*StopReplicaRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{25}
}
func (x *StopReplicaRequest) GetReplicaId() string {
if x != nil {
return x.ReplicaId
}
return ""
}
func (x *StopReplicaRequest) GetDrainSeconds() uint32 {
if x != nil {
return x.DrainSeconds
}
return 0
}
type StopReplicaResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Replica *EndpointReplica `protobuf:"bytes,3,opt,name=replica,proto3" json:"replica,omitempty"`
}
func (x *StopReplicaResponse) Reset() {
*x = StopReplicaResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopReplicaResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopReplicaResponse) ProtoMessage() {}
func (x *StopReplicaResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StopReplicaResponse.ProtoReflect.Descriptor instead.
func (*StopReplicaResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{26}
}
func (x *StopReplicaResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *StopReplicaResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *StopReplicaResponse) GetReplica() *EndpointReplica {
if x != nil {
return x.Replica
}
return nil
}
type GitOpsEndpointState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
StubId string `protobuf:"bytes,6,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
UpdatedAtUnixMs int64 `protobuf:"varint,8,opt,name=updated_at_unix_ms,json=updatedAtUnixMs,proto3" json:"updated_at_unix_ms,omitempty"`
}
func (x *GitOpsEndpointState) Reset() {
*x = GitOpsEndpointState{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitOpsEndpointState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitOpsEndpointState) ProtoMessage() {}
func (x *GitOpsEndpointState) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitOpsEndpointState.ProtoReflect.Descriptor instead.
func (*GitOpsEndpointState) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{27}
}
func (x *GitOpsEndpointState) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *GitOpsEndpointState) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *GitOpsEndpointState) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *GitOpsEndpointState) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *GitOpsEndpointState) GetStubId() string {
if x != nil {
return x.StubId
}
return ""
}
func (x *GitOpsEndpointState) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *GitOpsEndpointState) GetUpdatedAtUnixMs() int64 {
if x != nil {
return x.UpdatedAtUnixMs
}
return 0
}
type GitOpsState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RepoUrl string `protobuf:"bytes,1,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
LastSha string `protobuf:"bytes,3,opt,name=last_sha,json=lastSha,proto3" json:"last_sha,omitempty"`
LastRunAtUnixMs int64 `protobuf:"varint,5,opt,name=last_run_at_unix_ms,json=lastRunAtUnixMs,proto3" json:"last_run_at_unix_ms,omitempty"`
LastError string `protobuf:"bytes,6,opt,name=last_error,json=lastError,proto3" json:"last_error,omitempty"`
FleetError string `protobuf:"bytes,7,opt,name=fleet_error,json=fleetError,proto3" json:"fleet_error,omitempty"`
Endpoints []*GitOpsEndpointState `protobuf:"bytes,9,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
// A deploy that announced itself and has not applied yet.
PendingSha string `protobuf:"bytes,10,opt,name=pending_sha,json=pendingSha,proto3" json:"pending_sha,omitempty"`
PendingAtUnixMs int64 `protobuf:"varint,11,opt,name=pending_at_unix_ms,json=pendingAtUnixMs,proto3" json:"pending_at_unix_ms,omitempty"`
}
func (x *GitOpsState) Reset() {
*x = GitOpsState{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitOpsState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitOpsState) ProtoMessage() {}
func (x *GitOpsState) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[28]
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 GitOpsState.ProtoReflect.Descriptor instead.
func (*GitOpsState) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{28}
}
func (x *GitOpsState) GetRepoUrl() string {
if x != nil {
return x.RepoUrl
}
return ""
}
func (x *GitOpsState) GetRef() string {
if x != nil {
return x.Ref
}
return ""
}
func (x *GitOpsState) GetLastSha() string {
if x != nil {
return x.LastSha
}
return ""
}
func (x *GitOpsState) GetLastRunAtUnixMs() int64 {
if x != nil {
return x.LastRunAtUnixMs
}
return 0
}
func (x *GitOpsState) GetLastError() string {
if x != nil {
return x.LastError
}
return ""
}
func (x *GitOpsState) GetFleetError() string {
if x != nil {
return x.FleetError
}
return ""
}
func (x *GitOpsState) GetEndpoints() []*GitOpsEndpointState {
if x != nil {
return x.Endpoints
}
return nil
}
func (x *GitOpsState) GetPendingSha() string {
if x != nil {
return x.PendingSha
}
return ""
}
func (x *GitOpsState) GetPendingAtUnixMs() int64 {
if x != nil {
return x.PendingAtUnixMs
}
return 0
}
type GetGitOpsStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *GetGitOpsStatusRequest) Reset() {
*x = GetGitOpsStatusRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetGitOpsStatusRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetGitOpsStatusRequest) ProtoMessage() {}
func (x *GetGitOpsStatusRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[29]
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 GetGitOpsStatusRequest.ProtoReflect.Descriptor instead.
func (*GetGitOpsStatusRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{29}
}
type GetGitOpsStatusResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
State *GitOpsState `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
// The applied config.yaml as JSON {endpoint_id: {enabled, gpus: {gpu: {priority, min_replicas, max_replicas, preemption}}}}.
FleetJson string `protobuf:"bytes,4,opt,name=fleet_json,json=fleetJson,proto3" json:"fleet_json,omitempty"`
}
func (x *GetGitOpsStatusResponse) Reset() {
*x = GetGitOpsStatusResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetGitOpsStatusResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetGitOpsStatusResponse) ProtoMessage() {}
func (x *GetGitOpsStatusResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[30]
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 GetGitOpsStatusResponse.ProtoReflect.Descriptor instead.
func (*GetGitOpsStatusResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{30}
}
func (x *GetGitOpsStatusResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *GetGitOpsStatusResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *GetGitOpsStatusResponse) GetState() *GitOpsState {
if x != nil {
return x.State
}
return nil
}
func (x *GetGitOpsStatusResponse) GetFleetJson() string {
if x != nil {
return x.FleetJson
}
return ""
}
// RepoEndpoint is one app directory of the endpoints repo: its spec and image
// on a dry run, its deploy outcome on a real one.
type RepoEndpoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // app directory relative to endpoints/
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // empty when the app failed to import
SpecJson string `protobuf:"bytes,3,opt,name=spec_json,json=specJson,proto3" json:"spec_json,omitempty"` // ManagedEndpoint.spec()
Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` // registry image the app starts from, if any
Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` // import or deploy failure
StubId string `protobuf:"bytes,6,opt,name=stub_id,json=stubId,proto3" json:"stub_id,omitempty"`
Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *RepoEndpoint) Reset() {
*x = RepoEndpoint{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RepoEndpoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RepoEndpoint) ProtoMessage() {}
func (x *RepoEndpoint) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[31]
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 RepoEndpoint.ProtoReflect.Descriptor instead.
func (*RepoEndpoint) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{31}
}
func (x *RepoEndpoint) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *RepoEndpoint) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *RepoEndpoint) GetSpecJson() string {
if x != nil {
return x.SpecJson
}
return ""
}
func (x *RepoEndpoint) GetImage() string {
if x != nil {
return x.Image
}
return ""
}
func (x *RepoEndpoint) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *RepoEndpoint) GetStubId() string {
if x != nil {
return x.StubId
}
return ""
}
func (x *RepoEndpoint) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
// ApplyRepoRequest is what the repo's CI sends after deploying every app:
// config.yaml plus each app's outcome. A dry run validates without applying.
type ApplyRepoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RepoUrl string `protobuf:"bytes,1,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
Sha string `protobuf:"bytes,3,opt,name=sha,proto3" json:"sha,omitempty"`
ConfigYaml string `protobuf:"bytes,4,opt,name=config_yaml,json=configYaml,proto3" json:"config_yaml,omitempty"`
Endpoints []*RepoEndpoint `protobuf:"bytes,5,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
DryRun bool `protobuf:"varint,6,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
}
func (x *ApplyRepoRequest) Reset() {
*x = ApplyRepoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ApplyRepoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ApplyRepoRequest) ProtoMessage() {}
func (x *ApplyRepoRequest) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[32]
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 ApplyRepoRequest.ProtoReflect.Descriptor instead.
func (*ApplyRepoRequest) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{32}
}
func (x *ApplyRepoRequest) GetRepoUrl() string {
if x != nil {
return x.RepoUrl
}
return ""
}
func (x *ApplyRepoRequest) GetRef() string {
if x != nil {
return x.Ref
}
return ""
}
func (x *ApplyRepoRequest) GetSha() string {
if x != nil {
return x.Sha
}
return ""
}
func (x *ApplyRepoRequest) GetConfigYaml() string {
if x != nil {
return x.ConfigYaml
}
return ""
}
func (x *ApplyRepoRequest) GetEndpoints() []*RepoEndpoint {
if x != nil {
return x.Endpoints
}
return nil
}
func (x *ApplyRepoRequest) GetDryRun() bool {
if x != nil {
return x.DryRun
}
return false
}
type ApplyRepoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=err_msg,json=errMsg,proto3" json:"err_msg,omitempty"`
Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"`
Warnings []string `protobuf:"bytes,4,rep,name=warnings,proto3" json:"warnings,omitempty"`
State *GitOpsState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
}
func (x *ApplyRepoResponse) Reset() {
*x = ApplyRepoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_managedendpoint_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ApplyRepoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ApplyRepoResponse) ProtoMessage() {}
func (x *ApplyRepoResponse) ProtoReflect() protoreflect.Message {
mi := &file_managedendpoint_proto_msgTypes[33]
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 ApplyRepoResponse.ProtoReflect.Descriptor instead.
func (*ApplyRepoResponse) Descriptor() ([]byte, []int) {
return file_managedendpoint_proto_rawDescGZIP(), []int{33}
}
func (x *ApplyRepoResponse) GetOk() bool {
if x != nil {
return x.Ok
}
return false
}
func (x *ApplyRepoResponse) GetErrMsg() string {
if x != nil {
return x.ErrMsg
}
return ""
}
func (x *ApplyRepoResponse) GetErrors() []string {
if x != nil {
return x.Errors
}
return nil
}
func (x *ApplyRepoResponse) GetWarnings() []string {
if x != nil {
return x.Warnings
}
return nil
}
func (x *ApplyRepoResponse) GetState() *GitOpsState {
if x != nil {
return x.State
}
return nil
}
var File_managedendpoint_proto protoreflect.FileDescriptor
var file_managedendpoint_proto_rawDesc = []byte{
0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x87, 0x03, 0x0a, 0x0f, 0x52, 0x65, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09,
0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x69, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78,
0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07,
0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x77,
0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x13, 0x6b, 0x76, 0x5f, 0x63, 0x61, 0x63,
0x68, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x18, 0x05, 0x20,
0x01, 0x28, 0x03, 0x52, 0x10, 0x6b, 0x76, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x72, 0x65, 0x65,
0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x06,
0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6d,
0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65,
0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x17, 0x0a, 0x07, 0x74,
0x74, 0x66, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x74,
0x66, 0x74, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x70, 0x6f, 0x74, 0x5f, 0x6d, 0x73, 0x18,
0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x70, 0x6f, 0x74, 0x4d, 0x73, 0x12, 0x33, 0x0a,
0x16, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x68, 0x69,
0x74, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x70,
0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x4d, 0x69, 0x6c,
0x6c, 0x69, 0x22, 0xc6, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f,
0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0e, 0x73, 0x65, 0x74,
0x5f, 0x61, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x41, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12, 0x25,
0x0a, 0x0e, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
0x76, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65,
0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x10,
0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73,
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x55,
0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xbd, 0x06, 0x0a, 0x0f,
0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64,
0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70,
0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x70, 0x75, 0x12, 0x1b, 0x0a, 0x09,
0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x08, 0x67, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f,
0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f,
0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72,
0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f,
0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
0x0f, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c,
0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69,
0x74, 0x79, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11,
0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f,
0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
0x69, 0x74, 0x69, 0x65, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6e, 0x67,
0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e,
0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x74, 0x61,
0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18,
0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74,
0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f,
0x61, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12,
0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52,
0x13, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x55, 0x6e,
0x69, 0x78, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e,
0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f,
0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01,
0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65,
0x63, 0x74, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74,
0x65, 0x63, 0x74, 0x65, 0x64, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0xac, 0x03, 0x0a, 0x0f,
0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07,
0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x17, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x67, 0x69, 0x74, 0x53, 0x68, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x75,
0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12, 0x2b, 0x0a,
0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78,
0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65,
0x61, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x09, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x63,
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4a, 0x73, 0x6f,
0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65,
0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73,
0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x05, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6c, 0x6f,
0x61, 0x64, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70,
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x0a, 0x61, 0x74,
0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x61, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x16, 0x48, 0x61, 0x72,
0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x25,
0x0a, 0x0e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x10, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4a, 0x73,
0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x5f, 0x6a, 0x73, 0x6f,
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x4a,
0x73, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a, 0x17, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12,
0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x75, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x70, 0x75, 0x12, 0x3c, 0x0a, 0x1a, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18,
0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72,
0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61,
0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65,
0x6e, 0x74, 0x22, 0x61, 0x0a, 0x19, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x61, 0x74,
0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x12, 0x25,
0x0a, 0x0e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x17, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73,
0x73, 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e,
0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a,
0x73, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x18, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x41, 0x63,
0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12,
0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xdc, 0x01, 0x0a, 0x17, 0x48, 0x61, 0x72,
0x6e, 0x65, 0x73, 0x73, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x63,
0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52,
0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70,
0x6c, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x04, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x52, 0x65, 0x76, 0x69,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f,
0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x48, 0x61, 0x72, 0x6e,
0x65, 0x73, 0x73, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x14, 0x0a,
0x05, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x72,
0x61, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x72, 0x61, 0x69,
0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x68, 0x65, 0x61, 0x72,
0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6c, 0x0a, 0x1b, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73,
0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x1c, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a,
0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x4c, 0x69, 0x73,
0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x22, 0x80, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f,
0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65,
0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72,
0x72, 0x4d, 0x73, 0x67, 0x12, 0x3e, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xba, 0x01, 0x0a, 0x13,
0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x08,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d,
0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x08,
0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22, 0x60, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x75, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x70, 0x75, 0x22, 0x7d, 0x0a, 0x14, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02,
0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x08, 0x72,
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52,
0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x47, 0x65,
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67,
0x70, 0x75, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49,
0x64, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f,
0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
0x04, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x22, 0xc1, 0x04, 0x0a, 0x0f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x75, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x70, 0x75, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64,
0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12,
0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d,
0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x74, 0x66, 0x74, 0x5f, 0x6d, 0x73,
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x74, 0x66, 0x74, 0x4d, 0x73, 0x12, 0x17,
0x0a, 0x07, 0x74, 0x70, 0x6f, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52,
0x06, 0x74, 0x70, 0x6f, 0x74, 0x4d, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x65, 0x63, 0x6f, 0x64,
0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x75,
0x65, 0x75, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x57, 0x61, 0x69, 0x74, 0x4d, 0x73, 0x12, 0x24,
0x0a, 0x0e, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x75, 0x73, 0x64,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x4d, 0x69, 0x63, 0x72,
0x6f, 0x55, 0x73, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x72, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65,
0x61, 0x64, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x4f, 0x0a, 0x12, 0x61,
0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74,
0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65,
0x67, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07,
0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22,
0x94, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61,
0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74,
0x68, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53,
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x7f, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02,
0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x07, 0x72,
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d,
0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x07,
0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0x58, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x52,
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
0x0a, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d,
0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
0x73, 0x22, 0x7a, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f,
0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73,
0x67, 0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0xc7, 0x01,
0x0a, 0x13, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x75, 0x62, 0x5f,
0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64,
0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x12, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73,
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x22, 0xd5, 0x02, 0x0a, 0x0b, 0x47, 0x69, 0x74, 0x4f,
0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f,
0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x55,
0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x72, 0x65, 0x66, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x68, 0x61,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x68, 0x61, 0x12,
0x2c, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x74, 0x5f, 0x75,
0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61,
0x73, 0x74, 0x52, 0x75, 0x6e, 0x41, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b,
0x66, 0x6c, 0x65, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x42, 0x0a,
0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x68, 0x61,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53,
0x68, 0x61, 0x12, 0x2b, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74,
0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f,
0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x55, 0x6e, 0x69, 0x78, 0x4d, 0x73, 0x22,
0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x47, 0x65,
0x74, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x32,
0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x4a, 0x73, 0x6f,
0x6e, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x6a,
0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x4a,
0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12,
0x17, 0x0a, 0x07, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x22, 0xc8, 0x01, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f,
0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x55,
0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x73, 0x68, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x3b, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x70,
0x6f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18,
0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0xa4, 0x01,
0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x02, 0x6f, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73,
0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73,
0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x2e, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73,
0x74, 0x61, 0x74, 0x65, 0x32, 0x90, 0x04, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x5f, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x6d, 0x61,
0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x61,
0x72, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
0x12, 0x5d, 0x0a, 0x0b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x2a, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61,
0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x00, 0x30, 0x01, 0x12,
0x62, 0x0a, 0x09, 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x2e, 0x6d,
0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48,
0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73,
0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
0x12, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62,
0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x61, 0x72,
0x6e, 0x65, 0x73, 0x73, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65,
0x73, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73,
0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x91, 0x06, 0x0a, 0x14, 0x45, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0x60, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x12, 0x25, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d,
0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x24,
0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a,
0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x61,
0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65,
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e,
0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x12, 0x5a, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a,
0x0f, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x27, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61,
0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x47,
0x69, 0x74, 0x4f, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65,
0x70, 0x6f, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65, 0x6e, 0x64, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x65,
0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x70,
0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x23, 0x5a, 0x21, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x65, 0x61, 0x6d, 0x2d, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x65, 0x74, 0x61, 0x39, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_managedendpoint_proto_rawDescOnce sync.Once
file_managedendpoint_proto_rawDescData = file_managedendpoint_proto_rawDesc
)
func file_managedendpoint_proto_rawDescGZIP() []byte {
file_managedendpoint_proto_rawDescOnce.Do(func() {
file_managedendpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_managedendpoint_proto_rawDescData)
})
return file_managedendpoint_proto_rawDescData
}
var file_managedendpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_managedendpoint_proto_goTypes = []interface{}{
(*ReplicaCapacity)(nil), // 0: managedendpoint.ReplicaCapacity
(*ReplicaConfig)(nil), // 1: managedendpoint.ReplicaConfig
(*EndpointReplica)(nil), // 2: managedendpoint.EndpointReplica
(*ManagedEndpoint)(nil), // 3: managedendpoint.ManagedEndpoint
(*Event)(nil), // 4: managedendpoint.Event
(*HarnessRegisterRequest)(nil), // 5: managedendpoint.HarnessRegisterRequest
(*HarnessRegisterResponse)(nil), // 6: managedendpoint.HarnessRegisterResponse
(*HarnessWatchConfigRequest)(nil), // 7: managedendpoint.HarnessWatchConfigRequest
(*HarnessAckConfigRequest)(nil), // 8: managedendpoint.HarnessAckConfigRequest
(*HarnessAckConfigResponse)(nil), // 9: managedendpoint.HarnessAckConfigResponse
(*HarnessHeartbeatRequest)(nil), // 10: managedendpoint.HarnessHeartbeatRequest
(*HarnessHeartbeatResponse)(nil), // 11: managedendpoint.HarnessHeartbeatResponse
(*HarnessPublishEventsRequest)(nil), // 12: managedendpoint.HarnessPublishEventsRequest
(*HarnessPublishEventsResponse)(nil), // 13: managedendpoint.HarnessPublishEventsResponse
(*ListEndpointsRequest)(nil), // 14: managedendpoint.ListEndpointsRequest
(*ListEndpointsResponse)(nil), // 15: managedendpoint.ListEndpointsResponse
(*GetEndpointRequest)(nil), // 16: managedendpoint.GetEndpointRequest
(*GetEndpointResponse)(nil), // 17: managedendpoint.GetEndpointResponse
(*ListReplicasRequest)(nil), // 18: managedendpoint.ListReplicasRequest
(*ListReplicasResponse)(nil), // 19: managedendpoint.ListReplicasResponse
(*GetMetricsRequest)(nil), // 20: managedendpoint.GetMetricsRequest
(*EndpointMetrics)(nil), // 21: managedendpoint.EndpointMetrics
(*GetMetricsResponse)(nil), // 22: managedendpoint.GetMetricsResponse
(*SetReplicaConfigRequest)(nil), // 23: managedendpoint.SetReplicaConfigRequest
(*SetReplicaConfigResponse)(nil), // 24: managedendpoint.SetReplicaConfigResponse
(*StopReplicaRequest)(nil), // 25: managedendpoint.StopReplicaRequest
(*StopReplicaResponse)(nil), // 26: managedendpoint.StopReplicaResponse
(*GitOpsEndpointState)(nil), // 27: managedendpoint.GitOpsEndpointState
(*GitOpsState)(nil), // 28: managedendpoint.GitOpsState
(*GetGitOpsStatusRequest)(nil), // 29: managedendpoint.GetGitOpsStatusRequest
(*GetGitOpsStatusResponse)(nil), // 30: managedendpoint.GetGitOpsStatusResponse
(*RepoEndpoint)(nil), // 31: managedendpoint.RepoEndpoint
(*ApplyRepoRequest)(nil), // 32: managedendpoint.ApplyRepoRequest
(*ApplyRepoResponse)(nil), // 33: managedendpoint.ApplyRepoResponse
}
var file_managedendpoint_proto_depIdxs = []int32{
1, // 0: managedendpoint.EndpointReplica.config:type_name -> managedendpoint.ReplicaConfig
0, // 1: managedendpoint.EndpointReplica.capacity:type_name -> managedendpoint.ReplicaCapacity
1, // 2: managedendpoint.HarnessRegisterResponse.current:type_name -> managedendpoint.ReplicaConfig
0, // 3: managedendpoint.HarnessHeartbeatRequest.capacity:type_name -> managedendpoint.ReplicaCapacity
4, // 4: managedendpoint.HarnessPublishEventsRequest.events:type_name -> managedendpoint.Event
3, // 5: managedendpoint.ListEndpointsResponse.endpoints:type_name -> managedendpoint.ManagedEndpoint
3, // 6: managedendpoint.GetEndpointResponse.endpoint:type_name -> managedendpoint.ManagedEndpoint
2, // 7: managedendpoint.GetEndpointResponse.replicas:type_name -> managedendpoint.EndpointReplica
2, // 8: managedendpoint.ListReplicasResponse.replicas:type_name -> managedendpoint.EndpointReplica
0, // 9: managedendpoint.EndpointMetrics.aggregate_capacity:type_name -> managedendpoint.ReplicaCapacity
21, // 10: managedendpoint.GetMetricsResponse.metrics:type_name -> managedendpoint.EndpointMetrics
2, // 11: managedendpoint.GetMetricsResponse.replicas:type_name -> managedendpoint.EndpointReplica
2, // 12: managedendpoint.SetReplicaConfigResponse.replica:type_name -> managedendpoint.EndpointReplica
2, // 13: managedendpoint.StopReplicaResponse.replica:type_name -> managedendpoint.EndpointReplica
27, // 14: managedendpoint.GitOpsState.endpoints:type_name -> managedendpoint.GitOpsEndpointState
28, // 15: managedendpoint.GetGitOpsStatusResponse.state:type_name -> managedendpoint.GitOpsState
31, // 16: managedendpoint.ApplyRepoRequest.endpoints:type_name -> managedendpoint.RepoEndpoint
28, // 17: managedendpoint.ApplyRepoResponse.state:type_name -> managedendpoint.GitOpsState
5, // 18: managedendpoint.EndpointHarnessService.Register:input_type -> managedendpoint.HarnessRegisterRequest
7, // 19: managedendpoint.EndpointHarnessService.WatchConfig:input_type -> managedendpoint.HarnessWatchConfigRequest
8, // 20: managedendpoint.EndpointHarnessService.AckConfig:input_type -> managedendpoint.HarnessAckConfigRequest
10, // 21: managedendpoint.EndpointHarnessService.Heartbeat:input_type -> managedendpoint.HarnessHeartbeatRequest
12, // 22: managedendpoint.EndpointHarnessService.PublishEvents:input_type -> managedendpoint.HarnessPublishEventsRequest
14, // 23: managedendpoint.EndpointAdminService.ListEndpoints:input_type -> managedendpoint.ListEndpointsRequest
16, // 24: managedendpoint.EndpointAdminService.GetEndpoint:input_type -> managedendpoint.GetEndpointRequest
18, // 25: managedendpoint.EndpointAdminService.ListReplicas:input_type -> managedendpoint.ListReplicasRequest
20, // 26: managedendpoint.EndpointAdminService.GetMetrics:input_type -> managedendpoint.GetMetricsRequest
23, // 27: managedendpoint.EndpointAdminService.SetReplicaConfig:input_type -> managedendpoint.SetReplicaConfigRequest
25, // 28: managedendpoint.EndpointAdminService.StopReplica:input_type -> managedendpoint.StopReplicaRequest
29, // 29: managedendpoint.EndpointAdminService.GetGitOpsStatus:input_type -> managedendpoint.GetGitOpsStatusRequest
32, // 30: managedendpoint.EndpointAdminService.ApplyRepo:input_type -> managedendpoint.ApplyRepoRequest
6, // 31: managedendpoint.EndpointHarnessService.Register:output_type -> managedendpoint.HarnessRegisterResponse
1, // 32: managedendpoint.EndpointHarnessService.WatchConfig:output_type -> managedendpoint.ReplicaConfig
9, // 33: managedendpoint.EndpointHarnessService.AckConfig:output_type -> managedendpoint.HarnessAckConfigResponse
11, // 34: managedendpoint.EndpointHarnessService.Heartbeat:output_type -> managedendpoint.HarnessHeartbeatResponse
13, // 35: managedendpoint.EndpointHarnessService.PublishEvents:output_type -> managedendpoint.HarnessPublishEventsResponse
15, // 36: managedendpoint.EndpointAdminService.ListEndpoints:output_type -> managedendpoint.ListEndpointsResponse
17, // 37: managedendpoint.EndpointAdminService.GetEndpoint:output_type -> managedendpoint.GetEndpointResponse
19, // 38: managedendpoint.EndpointAdminService.ListReplicas:output_type -> managedendpoint.ListReplicasResponse
22, // 39: managedendpoint.EndpointAdminService.GetMetrics:output_type -> managedendpoint.GetMetricsResponse
24, // 40: managedendpoint.EndpointAdminService.SetReplicaConfig:output_type -> managedendpoint.SetReplicaConfigResponse
26, // 41: managedendpoint.EndpointAdminService.StopReplica:output_type -> managedendpoint.StopReplicaResponse
30, // 42: managedendpoint.EndpointAdminService.GetGitOpsStatus:output_type -> managedendpoint.GetGitOpsStatusResponse
33, // 43: managedendpoint.EndpointAdminService.ApplyRepo:output_type -> managedendpoint.ApplyRepoResponse
31, // [31:44] is the sub-list for method output_type
18, // [18:31] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
}
func init() { file_managedendpoint_proto_init() }
func file_managedendpoint_proto_init() {
if File_managedendpoint_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_managedendpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReplicaCapacity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReplicaConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EndpointReplica); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ManagedEndpoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Event); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessRegisterRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessRegisterResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessWatchConfigRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessAckConfigRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessAckConfigResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessHeartbeatRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessHeartbeatResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessPublishEventsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HarnessPublishEventsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListEndpointsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListEndpointsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetEndpointRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetEndpointResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListReplicasRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListReplicasResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMetricsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EndpointMetrics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetMetricsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetReplicaConfigRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetReplicaConfigResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopReplicaRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StopReplicaResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitOpsEndpointState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitOpsState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetGitOpsStatusRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetGitOpsStatusResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RepoEndpoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApplyRepoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_managedendpoint_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ApplyRepoResponse); 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_managedendpoint_proto_rawDesc,
NumEnums: 0,
NumMessages: 34,
NumExtensions: 0,
NumServices: 2,
},
GoTypes: file_managedendpoint_proto_goTypes,
DependencyIndexes: file_managedendpoint_proto_depIdxs,
MessageInfos: file_managedendpoint_proto_msgTypes,
}.Build()
File_managedendpoint_proto = out.File
file_managedendpoint_proto_rawDesc = nil
file_managedendpoint_proto_goTypes = nil
file_managedendpoint_proto_depIdxs = nil
}