The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/pkg/services/store/entity/entity.pb.go

2683 lines
94 KiB

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.32.0
// protoc v4.25.2
// source: entity.proto
package entity
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)
)
// Status enumeration
type Entity_Action int32
const (
Entity_UNKNOWN Entity_Action = 0
Entity_CREATED Entity_Action = 1
Entity_UPDATED Entity_Action = 2
Entity_DELETED Entity_Action = 3
Entity_ERROR Entity_Action = 4
)
// Enum value maps for Entity_Action.
var (
Entity_Action_name = map[int32]string{
0: "UNKNOWN",
1: "CREATED",
2: "UPDATED",
3: "DELETED",
4: "ERROR",
}
Entity_Action_value = map[string]int32{
"UNKNOWN": 0,
"CREATED": 1,
"UPDATED": 2,
"DELETED": 3,
"ERROR": 4,
}
)
func (x Entity_Action) Enum() *Entity_Action {
p := new(Entity_Action)
*p = x
return p
}
func (x Entity_Action) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Entity_Action) Descriptor() protoreflect.EnumDescriptor {
return file_entity_proto_enumTypes[0].Descriptor()
}
func (Entity_Action) Type() protoreflect.EnumType {
return &file_entity_proto_enumTypes[0]
}
func (x Entity_Action) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Entity_Action.Descriptor instead.
func (Entity_Action) EnumDescriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{0, 0}
}
// Status enumeration
type CreateEntityResponse_Status int32
const (
CreateEntityResponse_ERROR CreateEntityResponse_Status = 0
CreateEntityResponse_CREATED CreateEntityResponse_Status = 1
)
// Enum value maps for CreateEntityResponse_Status.
var (
CreateEntityResponse_Status_name = map[int32]string{
0: "ERROR",
1: "CREATED",
}
CreateEntityResponse_Status_value = map[string]int32{
"ERROR": 0,
"CREATED": 1,
}
)
func (x CreateEntityResponse_Status) Enum() *CreateEntityResponse_Status {
p := new(CreateEntityResponse_Status)
*p = x
return p
}
func (x CreateEntityResponse_Status) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CreateEntityResponse_Status) Descriptor() protoreflect.EnumDescriptor {
return file_entity_proto_enumTypes[1].Descriptor()
}
func (CreateEntityResponse_Status) Type() protoreflect.EnumType {
return &file_entity_proto_enumTypes[1]
}
func (x CreateEntityResponse_Status) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CreateEntityResponse_Status.Descriptor instead.
func (CreateEntityResponse_Status) EnumDescriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{7, 0}
}
// Status enumeration
type UpdateEntityResponse_Status int32
const (
UpdateEntityResponse_ERROR UpdateEntityResponse_Status = 0
UpdateEntityResponse_UPDATED UpdateEntityResponse_Status = 1
UpdateEntityResponse_UNCHANGED UpdateEntityResponse_Status = 2
)
// Enum value maps for UpdateEntityResponse_Status.
var (
UpdateEntityResponse_Status_name = map[int32]string{
0: "ERROR",
1: "UPDATED",
2: "UNCHANGED",
}
UpdateEntityResponse_Status_value = map[string]int32{
"ERROR": 0,
"UPDATED": 1,
"UNCHANGED": 2,
}
)
func (x UpdateEntityResponse_Status) Enum() *UpdateEntityResponse_Status {
p := new(UpdateEntityResponse_Status)
*p = x
return p
}
func (x UpdateEntityResponse_Status) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (UpdateEntityResponse_Status) Descriptor() protoreflect.EnumDescriptor {
return file_entity_proto_enumTypes[2].Descriptor()
}
func (UpdateEntityResponse_Status) Type() protoreflect.EnumType {
return &file_entity_proto_enumTypes[2]
}
func (x UpdateEntityResponse_Status) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use UpdateEntityResponse_Status.Descriptor instead.
func (UpdateEntityResponse_Status) EnumDescriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{9, 0}
}
// Status enumeration
type DeleteEntityResponse_Status int32
const (
DeleteEntityResponse_ERROR DeleteEntityResponse_Status = 0
DeleteEntityResponse_DELETED DeleteEntityResponse_Status = 1
DeleteEntityResponse_NOTFOUND DeleteEntityResponse_Status = 2
)
// Enum value maps for DeleteEntityResponse_Status.
var (
DeleteEntityResponse_Status_name = map[int32]string{
0: "ERROR",
1: "DELETED",
2: "NOTFOUND",
}
DeleteEntityResponse_Status_value = map[string]int32{
"ERROR": 0,
"DELETED": 1,
"NOTFOUND": 2,
}
)
func (x DeleteEntityResponse_Status) Enum() *DeleteEntityResponse_Status {
p := new(DeleteEntityResponse_Status)
*p = x
return p
}
func (x DeleteEntityResponse_Status) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DeleteEntityResponse_Status) Descriptor() protoreflect.EnumDescriptor {
return file_entity_proto_enumTypes[3].Descriptor()
}
func (DeleteEntityResponse_Status) Type() protoreflect.EnumType {
return &file_entity_proto_enumTypes[3]
}
func (x DeleteEntityResponse_Status) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DeleteEntityResponse_Status.Descriptor instead.
func (DeleteEntityResponse_Status) EnumDescriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{11, 0}
}
// The canonical entity/document data -- this represents the raw bytes and storage level metadata
type Entity struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Globally unique ID set by the system. This can not be set explicitly
Guid string `protobuf:"bytes,1,opt,name=guid,proto3" json:"guid,omitempty"`
// The resource version, this is a snowflake id controlled by storage
ResourceVersion int64 `protobuf:"varint,2,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"`
// group
Group string `protobuf:"bytes,24,opt,name=group,proto3" json:"group,omitempty"`
// kind resource
Resource string `protobuf:"bytes,25,opt,name=resource,proto3" json:"resource,omitempty"`
// namespace
Namespace string `protobuf:"bytes,26,opt,name=namespace,proto3" json:"namespace,omitempty"`
// k8s name
Name string `protobuf:"bytes,27,opt,name=name,proto3" json:"name,omitempty"`
// subresource
Subresource string `protobuf:"bytes,28,opt,name=subresource,proto3" json:"subresource,omitempty"`
// group version
GroupVersion string `protobuf:"bytes,23,opt,name=group_version,json=groupVersion,proto3" json:"group_version,omitempty"`
// k8s key value (TODO remove -- it is duplicate of group+resource+version)
Key string `protobuf:"bytes,22,opt,name=key,proto3" json:"key,omitempty"`
// The folder k8s name
Folder string `protobuf:"bytes,4,opt,name=folder,proto3" json:"folder,omitempty"`
// Raw meta from k8s
Meta []byte `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
// Raw bytes of the storage entity. The kind will determine what is a valid payload
Body []byte `protobuf:"bytes,6,opt,name=body,proto3" json:"body,omitempty"`
// k8s style status (ignored for now)
Status []byte `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"`
// the friendly name of the entity
Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"`
// Content Length
Size int64 `protobuf:"varint,9,opt,name=size,proto3" json:"size,omitempty"`
// MD5 digest of the body
ETag string `protobuf:"bytes,10,opt,name=ETag,proto3" json:"ETag,omitempty"`
// Time in epoch milliseconds that the entity was created
CreatedAt int64 `protobuf:"varint,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
// Who created the entity
CreatedBy string `protobuf:"bytes,12,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
// Time in epoch milliseconds that the entity was updated
UpdatedAt int64 `protobuf:"varint,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
// Who updated the entity
UpdatedBy string `protobuf:"bytes,14,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"`
// External location info
Origin *EntityOriginInfo `protobuf:"bytes,15,opt,name=origin,proto3" json:"origin,omitempty"`
// human-readable description of the entity
Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"`
// URL safe version of the name. It will be unique within the folder
Slug string `protobuf:"bytes,17,opt,name=slug,proto3" json:"slug,omitempty"`
// Commit message (optional)
Message string `protobuf:"bytes,18,opt,name=message,proto3" json:"message,omitempty"`
// Key value pairs. Tags are are represented as keys with empty values
Labels map[string]string `protobuf:"bytes,19,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Optional field values. The schema will define and document possible values for a given kind
Fields map[string]string `protobuf:"bytes,20,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// When errors exist
Errors []*EntityErrorInfo `protobuf:"bytes,21,rep,name=errors,proto3" json:"errors,omitempty"`
// Action code
Action Entity_Action `protobuf:"varint,3,opt,name=action,proto3,enum=entity.Entity_Action" json:"action,omitempty"`
}
func (x *Entity) Reset() {
*x = Entity{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Entity) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Entity) ProtoMessage() {}
func (x *Entity) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 Entity.ProtoReflect.Descriptor instead.
func (*Entity) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{0}
}
func (x *Entity) GetGuid() string {
if x != nil {
return x.Guid
}
return ""
}
func (x *Entity) GetResourceVersion() int64 {
if x != nil {
return x.ResourceVersion
}
return 0
}
func (x *Entity) GetGroup() string {
if x != nil {
return x.Group
}
return ""
}
func (x *Entity) GetResource() string {
if x != nil {
return x.Resource
}
return ""
}
func (x *Entity) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *Entity) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Entity) GetSubresource() string {
if x != nil {
return x.Subresource
}
return ""
}
func (x *Entity) GetGroupVersion() string {
if x != nil {
return x.GroupVersion
}
return ""
}
func (x *Entity) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *Entity) GetFolder() string {
if x != nil {
return x.Folder
}
return ""
}
func (x *Entity) GetMeta() []byte {
if x != nil {
return x.Meta
}
return nil
}
func (x *Entity) GetBody() []byte {
if x != nil {
return x.Body
}
return nil
}
func (x *Entity) GetStatus() []byte {
if x != nil {
return x.Status
}
return nil
}
func (x *Entity) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *Entity) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
func (x *Entity) GetETag() string {
if x != nil {
return x.ETag
}
return ""
}
func (x *Entity) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *Entity) GetCreatedBy() string {
if x != nil {
return x.CreatedBy
}
return ""
}
func (x *Entity) GetUpdatedAt() int64 {
if x != nil {
return x.UpdatedAt
}
return 0
}
func (x *Entity) GetUpdatedBy() string {
if x != nil {
return x.UpdatedBy
}
return ""
}
func (x *Entity) GetOrigin() *EntityOriginInfo {
if x != nil {
return x.Origin
}
return nil
}
func (x *Entity) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Entity) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Entity) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *Entity) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *Entity) GetFields() map[string]string {
if x != nil {
return x.Fields
}
return nil
}
func (x *Entity) GetErrors() []*EntityErrorInfo {
if x != nil {
return x.Errors
}
return nil
}
func (x *Entity) GetAction() Entity_Action {
if x != nil {
return x.Action
}
return Entity_UNKNOWN
}
// This stores additional metadata for items entities that were synced from external systmes
type EntityOriginInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// identify the external source (plugin, git instance, etc)
Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
// Key in the upstream system (git hash, file path, etc)
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
// Time in epoch milliseconds that the entity was last synced with an external system (provisioning/git)
Time int64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *EntityOriginInfo) Reset() {
*x = EntityOriginInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityOriginInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityOriginInfo) ProtoMessage() {}
func (x *EntityOriginInfo) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityOriginInfo.ProtoReflect.Descriptor instead.
func (*EntityOriginInfo) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{1}
}
func (x *EntityOriginInfo) GetSource() string {
if x != nil {
return x.Source
}
return ""
}
func (x *EntityOriginInfo) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *EntityOriginInfo) GetTime() int64 {
if x != nil {
return x.Time
}
return 0
}
// Report error while working with entitys
// NOTE: real systems at scale will contain errors.
type EntityErrorInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Match an error code registry?
Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
// Simple error display
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
// Details encoded in JSON
DetailsJson []byte `protobuf:"bytes,3,opt,name=details_json,json=detailsJson,proto3" json:"details_json,omitempty"`
}
func (x *EntityErrorInfo) Reset() {
*x = EntityErrorInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityErrorInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityErrorInfo) ProtoMessage() {}
func (x *EntityErrorInfo) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityErrorInfo.ProtoReflect.Descriptor instead.
func (*EntityErrorInfo) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{2}
}
func (x *EntityErrorInfo) GetCode() int64 {
if x != nil {
return x.Code
}
return 0
}
func (x *EntityErrorInfo) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *EntityErrorInfo) GetDetailsJson() []byte {
if x != nil {
return x.DetailsJson
}
return nil
}
type ReadEntityRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Entity identifier
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// Fetch an explicit version (default is latest)
ResourceVersion int64 `protobuf:"varint,2,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"`
// Include the full body
WithBody bool `protobuf:"varint,4,opt,name=with_body,json=withBody,proto3" json:"with_body,omitempty"`
// Include the status
WithStatus bool `protobuf:"varint,5,opt,name=with_status,json=withStatus,proto3" json:"with_status,omitempty"`
}
func (x *ReadEntityRequest) Reset() {
*x = ReadEntityRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReadEntityRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReadEntityRequest) ProtoMessage() {}
func (x *ReadEntityRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 ReadEntityRequest.ProtoReflect.Descriptor instead.
func (*ReadEntityRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{3}
}
func (x *ReadEntityRequest) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *ReadEntityRequest) GetResourceVersion() int64 {
if x != nil {
return x.ResourceVersion
}
return 0
}
func (x *ReadEntityRequest) GetWithBody() bool {
if x != nil {
return x.WithBody
}
return false
}
func (x *ReadEntityRequest) GetWithStatus() bool {
if x != nil {
return x.WithStatus
}
return false
}
type BatchReadEntityRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Batch []*ReadEntityRequest `protobuf:"bytes,1,rep,name=batch,proto3" json:"batch,omitempty"`
}
func (x *BatchReadEntityRequest) Reset() {
*x = BatchReadEntityRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchReadEntityRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchReadEntityRequest) ProtoMessage() {}
func (x *BatchReadEntityRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 BatchReadEntityRequest.ProtoReflect.Descriptor instead.
func (*BatchReadEntityRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{4}
}
func (x *BatchReadEntityRequest) GetBatch() []*ReadEntityRequest {
if x != nil {
return x.Batch
}
return nil
}
type BatchReadEntityResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Results []*Entity `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
}
func (x *BatchReadEntityResponse) Reset() {
*x = BatchReadEntityResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BatchReadEntityResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BatchReadEntityResponse) ProtoMessage() {}
func (x *BatchReadEntityResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 BatchReadEntityResponse.ProtoReflect.Descriptor instead.
func (*BatchReadEntityResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{5}
}
func (x *BatchReadEntityResponse) GetResults() []*Entity {
if x != nil {
return x.Results
}
return nil
}
type CreateEntityRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Entity details
Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
}
func (x *CreateEntityRequest) Reset() {
*x = CreateEntityRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateEntityRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateEntityRequest) ProtoMessage() {}
func (x *CreateEntityRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 CreateEntityRequest.ProtoReflect.Descriptor instead.
func (*CreateEntityRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{6}
}
func (x *CreateEntityRequest) GetEntity() *Entity {
if x != nil {
return x.Entity
}
return nil
}
type CreateEntityResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Error info -- if exists, the save did not happen
Error *EntityErrorInfo `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
// Entity details
Entity *Entity `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
// Status code
Status CreateEntityResponse_Status `protobuf:"varint,3,opt,name=status,proto3,enum=entity.CreateEntityResponse_Status" json:"status,omitempty"`
}
func (x *CreateEntityResponse) Reset() {
*x = CreateEntityResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateEntityResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateEntityResponse) ProtoMessage() {}
func (x *CreateEntityResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 CreateEntityResponse.ProtoReflect.Descriptor instead.
func (*CreateEntityResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{7}
}
func (x *CreateEntityResponse) GetError() *EntityErrorInfo {
if x != nil {
return x.Error
}
return nil
}
func (x *CreateEntityResponse) GetEntity() *Entity {
if x != nil {
return x.Entity
}
return nil
}
func (x *CreateEntityResponse) GetStatus() CreateEntityResponse_Status {
if x != nil {
return x.Status
}
return CreateEntityResponse_ERROR
}
type UpdateEntityRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Entity details
Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
// Used for optimistic locking. If missing, the previous version will be replaced regardless
PreviousVersion int64 `protobuf:"varint,2,opt,name=previous_version,json=previousVersion,proto3" json:"previous_version,omitempty"`
}
func (x *UpdateEntityRequest) Reset() {
*x = UpdateEntityRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateEntityRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateEntityRequest) ProtoMessage() {}
func (x *UpdateEntityRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 UpdateEntityRequest.ProtoReflect.Descriptor instead.
func (*UpdateEntityRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{8}
}
func (x *UpdateEntityRequest) GetEntity() *Entity {
if x != nil {
return x.Entity
}
return nil
}
func (x *UpdateEntityRequest) GetPreviousVersion() int64 {
if x != nil {
return x.PreviousVersion
}
return 0
}
type UpdateEntityResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Error info -- if exists, the save did not happen
Error *EntityErrorInfo `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
// Entity details
Entity *Entity `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
// Status code
Status UpdateEntityResponse_Status `protobuf:"varint,3,opt,name=status,proto3,enum=entity.UpdateEntityResponse_Status" json:"status,omitempty"`
}
func (x *UpdateEntityResponse) Reset() {
*x = UpdateEntityResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateEntityResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateEntityResponse) ProtoMessage() {}
func (x *UpdateEntityResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 UpdateEntityResponse.ProtoReflect.Descriptor instead.
func (*UpdateEntityResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{9}
}
func (x *UpdateEntityResponse) GetError() *EntityErrorInfo {
if x != nil {
return x.Error
}
return nil
}
func (x *UpdateEntityResponse) GetEntity() *Entity {
if x != nil {
return x.Entity
}
return nil
}
func (x *UpdateEntityResponse) GetStatus() UpdateEntityResponse_Status {
if x != nil {
return x.Status
}
return UpdateEntityResponse_ERROR
}
type DeleteEntityRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Entity identifier
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// Used for optimistic locking. If missing, the current version will be deleted regardless
PreviousVersion int64 `protobuf:"varint,2,opt,name=previous_version,json=previousVersion,proto3" json:"previous_version,omitempty"`
}
func (x *DeleteEntityRequest) Reset() {
*x = DeleteEntityRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteEntityRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteEntityRequest) ProtoMessage() {}
func (x *DeleteEntityRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 DeleteEntityRequest.ProtoReflect.Descriptor instead.
func (*DeleteEntityRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{10}
}
func (x *DeleteEntityRequest) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *DeleteEntityRequest) GetPreviousVersion() int64 {
if x != nil {
return x.PreviousVersion
}
return 0
}
type DeleteEntityResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Error info -- if exists, the delete did not happen
Error *EntityErrorInfo `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
// Entity details
Entity *Entity `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
// Status code
Status DeleteEntityResponse_Status `protobuf:"varint,3,opt,name=status,proto3,enum=entity.DeleteEntityResponse_Status" json:"status,omitempty"`
}
func (x *DeleteEntityResponse) Reset() {
*x = DeleteEntityResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteEntityResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteEntityResponse) ProtoMessage() {}
func (x *DeleteEntityResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 DeleteEntityResponse.ProtoReflect.Descriptor instead.
func (*DeleteEntityResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{11}
}
func (x *DeleteEntityResponse) GetError() *EntityErrorInfo {
if x != nil {
return x.Error
}
return nil
}
func (x *DeleteEntityResponse) GetEntity() *Entity {
if x != nil {
return x.Entity
}
return nil
}
func (x *DeleteEntityResponse) GetStatus() DeleteEntityResponse_Status {
if x != nil {
return x.Status
}
return DeleteEntityResponse_ERROR
}
type EntityHistoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Entity identifier
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// Maximum number of items to return
Limit int64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
// Starting from the requested page
NextPageToken string `protobuf:"bytes,5,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *EntityHistoryRequest) Reset() {
*x = EntityHistoryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityHistoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityHistoryRequest) ProtoMessage() {}
func (x *EntityHistoryRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityHistoryRequest.ProtoReflect.Descriptor instead.
func (*EntityHistoryRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{12}
}
func (x *EntityHistoryRequest) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *EntityHistoryRequest) GetLimit() int64 {
if x != nil {
return x.Limit
}
return 0
}
func (x *EntityHistoryRequest) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
type EntityHistoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Entity identifier
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// Entity metadata without the raw bytes
Versions []*Entity `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"`
// More results exist... pass this in the next request
NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *EntityHistoryResponse) Reset() {
*x = EntityHistoryResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityHistoryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityHistoryResponse) ProtoMessage() {}
func (x *EntityHistoryResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityHistoryResponse.ProtoReflect.Descriptor instead.
func (*EntityHistoryResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{13}
}
func (x *EntityHistoryResponse) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *EntityHistoryResponse) GetVersions() []*Entity {
if x != nil {
return x.Versions
}
return nil
}
func (x *EntityHistoryResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
type EntityListRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Starting from the requested page (other query parameters must match!)
NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// Maximum number of items to return
Limit int64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
// Free text query string -- mileage may vary :)
Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
// limit to a specific group (empty is all)
Group []string `protobuf:"bytes,9,rep,name=group,proto3" json:"group,omitempty"`
// limit to a specific resource (empty is all)
Resource []string `protobuf:"bytes,4,rep,name=resource,proto3" json:"resource,omitempty"`
// limit to a specific key
Key []string `protobuf:"bytes,11,rep,name=key,proto3" json:"key,omitempty"`
// Limit results to items in a specific folder
Folder string `protobuf:"bytes,5,opt,name=folder,proto3" json:"folder,omitempty"`
// Must match all labels
Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Sorting instructions `field ASC/DESC`
Sort []string `protobuf:"bytes,7,rep,name=sort,proto3" json:"sort,omitempty"`
// Return the full body in each payload
WithBody bool `protobuf:"varint,8,opt,name=with_body,json=withBody,proto3" json:"with_body,omitempty"`
// Return the full body in each payload
WithStatus bool `protobuf:"varint,10,opt,name=with_status,json=withStatus,proto3" json:"with_status,omitempty"`
// list deleted entities instead of active ones
Deleted bool `protobuf:"varint,12,opt,name=deleted,proto3" json:"deleted,omitempty"`
}
func (x *EntityListRequest) Reset() {
*x = EntityListRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityListRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityListRequest) ProtoMessage() {}
func (x *EntityListRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityListRequest.ProtoReflect.Descriptor instead.
func (*EntityListRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{14}
}
func (x *EntityListRequest) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
func (x *EntityListRequest) GetLimit() int64 {
if x != nil {
return x.Limit
}
return 0
}
func (x *EntityListRequest) GetQuery() string {
if x != nil {
return x.Query
}
return ""
}
func (x *EntityListRequest) GetGroup() []string {
if x != nil {
return x.Group
}
return nil
}
func (x *EntityListRequest) GetResource() []string {
if x != nil {
return x.Resource
}
return nil
}
func (x *EntityListRequest) GetKey() []string {
if x != nil {
return x.Key
}
return nil
}
func (x *EntityListRequest) GetFolder() string {
if x != nil {
return x.Folder
}
return ""
}
func (x *EntityListRequest) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *EntityListRequest) GetSort() []string {
if x != nil {
return x.Sort
}
return nil
}
func (x *EntityListRequest) GetWithBody() bool {
if x != nil {
return x.WithBody
}
return false
}
func (x *EntityListRequest) GetWithStatus() bool {
if x != nil {
return x.WithStatus
}
return false
}
func (x *EntityListRequest) GetDeleted() bool {
if x != nil {
return x.Deleted
}
return false
}
type ReferenceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Starting from the requested page (other query parameters must match!)
NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// Maximum number of items to return
Limit int64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
// Free text query string -- mileage may vary :)
Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"`
Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"`
Resource string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
// Free text query string -- mileage may vary :)
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *ReferenceRequest) Reset() {
*x = ReferenceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReferenceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReferenceRequest) ProtoMessage() {}
func (x *ReferenceRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 ReferenceRequest.ProtoReflect.Descriptor instead.
func (*ReferenceRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{15}
}
func (x *ReferenceRequest) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
func (x *ReferenceRequest) GetLimit() int64 {
if x != nil {
return x.Limit
}
return 0
}
func (x *ReferenceRequest) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *ReferenceRequest) GetGroup() string {
if x != nil {
return x.Group
}
return ""
}
func (x *ReferenceRequest) GetResource() string {
if x != nil {
return x.Resource
}
return ""
}
func (x *ReferenceRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type EntityListResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Results []*Entity `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
// More results exist... pass this in the next request
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// ResourceVersion of the list response
ResourceVersion int64 `protobuf:"varint,3,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"`
}
func (x *EntityListResponse) Reset() {
*x = EntityListResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityListResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityListResponse) ProtoMessage() {}
func (x *EntityListResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityListResponse.ProtoReflect.Descriptor instead.
func (*EntityListResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{16}
}
func (x *EntityListResponse) GetResults() []*Entity {
if x != nil {
return x.Results
}
return nil
}
func (x *EntityListResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
func (x *EntityListResponse) GetResourceVersion() int64 {
if x != nil {
return x.ResourceVersion
}
return 0
}
type EntityWatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// ResourceVersion of last changes. Empty will default to full history
Since int64 `protobuf:"varint,1,opt,name=since,proto3" json:"since,omitempty"`
// Watch specific entities
Key []string `protobuf:"bytes,2,rep,name=key,proto3" json:"key,omitempty"`
// limit to a specific resource (empty is all)
Resource []string `protobuf:"bytes,3,rep,name=resource,proto3" json:"resource,omitempty"`
// Limit results to items in a specific folder
Folder string `protobuf:"bytes,4,opt,name=folder,proto3" json:"folder,omitempty"`
// Must match all labels
Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Return the full body in each payload
WithBody bool `protobuf:"varint,6,opt,name=with_body,json=withBody,proto3" json:"with_body,omitempty"`
// Return the full status in each payload
WithStatus bool `protobuf:"varint,7,opt,name=with_status,json=withStatus,proto3" json:"with_status,omitempty"`
}
func (x *EntityWatchRequest) Reset() {
*x = EntityWatchRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityWatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityWatchRequest) ProtoMessage() {}
func (x *EntityWatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityWatchRequest.ProtoReflect.Descriptor instead.
func (*EntityWatchRequest) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{17}
}
func (x *EntityWatchRequest) GetSince() int64 {
if x != nil {
return x.Since
}
return 0
}
func (x *EntityWatchRequest) GetKey() []string {
if x != nil {
return x.Key
}
return nil
}
func (x *EntityWatchRequest) GetResource() []string {
if x != nil {
return x.Resource
}
return nil
}
func (x *EntityWatchRequest) GetFolder() string {
if x != nil {
return x.Folder
}
return ""
}
func (x *EntityWatchRequest) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *EntityWatchRequest) GetWithBody() bool {
if x != nil {
return x.WithBody
}
return false
}
func (x *EntityWatchRequest) GetWithStatus() bool {
if x != nil {
return x.WithStatus
}
return false
}
type EntityWatchResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Timestamp the event was sent
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// Entity that was created, updated, or deleted
Entity *Entity `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
}
func (x *EntityWatchResponse) Reset() {
*x = EntityWatchResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityWatchResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityWatchResponse) ProtoMessage() {}
func (x *EntityWatchResponse) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityWatchResponse.ProtoReflect.Descriptor instead.
func (*EntityWatchResponse) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{18}
}
func (x *EntityWatchResponse) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *EntityWatchResponse) GetEntity() *Entity {
if x != nil {
return x.Entity
}
return nil
}
type EntitySummary struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UID string `protobuf:"bytes,1,opt,name=UID,proto3" json:"UID,omitempty"`
Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
// Key value pairs. Tags are are represented as keys with empty values
Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Parent folder UID
Folder string `protobuf:"bytes,6,opt,name=folder,proto3" json:"folder,omitempty"`
// URL safe version of the name. It will be unique within the folder
Slug string `protobuf:"bytes,7,opt,name=slug,proto3" json:"slug,omitempty"`
// When errors exist
Error *EntityErrorInfo `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
// Optional field values. The schema will define and document possible values for a given kind
Fields map[string]string `protobuf:"bytes,9,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// eg: panels within dashboard
Nested []*EntitySummary `protobuf:"bytes,10,rep,name=nested,proto3" json:"nested,omitempty"`
// Optional references to external things
References []*EntityExternalReference `protobuf:"bytes,11,rep,name=references,proto3" json:"references,omitempty"`
}
func (x *EntitySummary) Reset() {
*x = EntitySummary{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntitySummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntitySummary) ProtoMessage() {}
func (x *EntitySummary) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntitySummary.ProtoReflect.Descriptor instead.
func (*EntitySummary) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{19}
}
func (x *EntitySummary) GetUID() string {
if x != nil {
return x.UID
}
return ""
}
func (x *EntitySummary) GetKind() string {
if x != nil {
return x.Kind
}
return ""
}
func (x *EntitySummary) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *EntitySummary) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *EntitySummary) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *EntitySummary) GetFolder() string {
if x != nil {
return x.Folder
}
return ""
}
func (x *EntitySummary) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *EntitySummary) GetError() *EntityErrorInfo {
if x != nil {
return x.Error
}
return nil
}
func (x *EntitySummary) GetFields() map[string]string {
if x != nil {
return x.Fields
}
return nil
}
func (x *EntitySummary) GetNested() []*EntitySummary {
if x != nil {
return x.Nested
}
return nil
}
func (x *EntitySummary) GetReferences() []*EntityExternalReference {
if x != nil {
return x.References
}
return nil
}
type EntityExternalReference struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Category of dependency
// eg: datasource, plugin, runtime
Family string `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
// datasource > prometheus|influx|...
// plugin > panel | datasource
// runtime > transformer
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
// datasource > UID
// plugin > plugin identifier
// runtime > name lookup
Identifier string `protobuf:"bytes,3,opt,name=identifier,proto3" json:"identifier,omitempty"`
}
func (x *EntityExternalReference) Reset() {
*x = EntityExternalReference{}
if protoimpl.UnsafeEnabled {
mi := &file_entity_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntityExternalReference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntityExternalReference) ProtoMessage() {}
func (x *EntityExternalReference) ProtoReflect() protoreflect.Message {
mi := &file_entity_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 EntityExternalReference.ProtoReflect.Descriptor instead.
func (*EntityExternalReference) Descriptor() ([]byte, []int) {
return file_entity_proto_rawDescGZIP(), []int{20}
}
func (x *EntityExternalReference) GetFamily() string {
if x != nil {
return x.Family
}
return ""
}
func (x *EntityExternalReference) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *EntityExternalReference) GetIdentifier() string {
if x != nil {
return x.Identifier
}
return ""
}
var File_entity_proto protoreflect.FileDescriptor
var file_entity_proto_rawDesc = []byte{
0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06,
0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x9f, 0x08, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a,
0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64,
0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x45, 0x54, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x45,
0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0e,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12,
0x30, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x18, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f,
0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69,
0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18,
0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x65, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62,
0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
0x47, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b,
0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02,
0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a,
0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x22, 0x50, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x0f, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x8e,
0x01, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1f,
0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
0x49, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x62, 0x61, 0x74,
0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x22, 0x43, 0x0a, 0x17, 0x42, 0x61,
0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,
0x3d, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xcc,
0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3b,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23,
0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x20, 0x0a, 0x06, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00,
0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x22, 0x68, 0x0a,
0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10,
0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12,
0x26, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x22, 0x2f, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x09,
0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44,
0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x43, 0x48, 0x41, 0x4e,
0x47, 0x45, 0x44, 0x10, 0x02, 0x22, 0x52, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29,
0x0a, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f,
0x75, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x01, 0x0a, 0x14, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44,
0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x46,
0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x22, 0x66, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7d,
0x0a, 0x15, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x08, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa9, 0x03,
0x0a, 0x11, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69,
0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a,
0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c,
0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09,
0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62,
0x6f, 0x64, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x42,
0x6f, 0x64, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0x39,
0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x01, 0x0a, 0x10, 0x52, 0x65,
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26,
0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67,
0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x22, 0x91, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x02, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x57,
0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x69, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x69, 0x6e, 0x63,
0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03,
0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f,
0x62, 0x6f, 0x64, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68,
0x42, 0x6f, 0x64, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0x5b, 0x0a, 0x13, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xa2, 0x04,
0x0a, 0x0d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x49,
0x44, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x06, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61,
0x72, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c,
0x75, 0x67, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x12, 0x39, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x06,
0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d,
0x61, 0x72, 0x79, 0x52, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45,
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x65, 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x32, 0xa8, 0x04, 0x0a, 0x0b, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x52, 0x65, 0x61,
0x64, 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x45,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x65,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x09,
0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1c, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x43, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1b,
0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x48, 0x69, 0x73,
0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x3d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x42, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x2e, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x66, 0x61, 0x6e, 0x61, 0x2f, 0x67, 0x72, 0x61, 0x66, 0x61,
0x6e, 0x61, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f,
0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_entity_proto_rawDescOnce sync.Once
file_entity_proto_rawDescData = file_entity_proto_rawDesc
)
func file_entity_proto_rawDescGZIP() []byte {
file_entity_proto_rawDescOnce.Do(func() {
file_entity_proto_rawDescData = protoimpl.X.CompressGZIP(file_entity_proto_rawDescData)
})
return file_entity_proto_rawDescData
}
var file_entity_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_entity_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_entity_proto_goTypes = []interface{}{
(Entity_Action)(0), // 0: entity.Entity.Action
(CreateEntityResponse_Status)(0), // 1: entity.CreateEntityResponse.Status
(UpdateEntityResponse_Status)(0), // 2: entity.UpdateEntityResponse.Status
(DeleteEntityResponse_Status)(0), // 3: entity.DeleteEntityResponse.Status
(*Entity)(nil), // 4: entity.Entity
(*EntityOriginInfo)(nil), // 5: entity.EntityOriginInfo
(*EntityErrorInfo)(nil), // 6: entity.EntityErrorInfo
(*ReadEntityRequest)(nil), // 7: entity.ReadEntityRequest
(*BatchReadEntityRequest)(nil), // 8: entity.BatchReadEntityRequest
(*BatchReadEntityResponse)(nil), // 9: entity.BatchReadEntityResponse
(*CreateEntityRequest)(nil), // 10: entity.CreateEntityRequest
(*CreateEntityResponse)(nil), // 11: entity.CreateEntityResponse
(*UpdateEntityRequest)(nil), // 12: entity.UpdateEntityRequest
(*UpdateEntityResponse)(nil), // 13: entity.UpdateEntityResponse
(*DeleteEntityRequest)(nil), // 14: entity.DeleteEntityRequest
(*DeleteEntityResponse)(nil), // 15: entity.DeleteEntityResponse
(*EntityHistoryRequest)(nil), // 16: entity.EntityHistoryRequest
(*EntityHistoryResponse)(nil), // 17: entity.EntityHistoryResponse
(*EntityListRequest)(nil), // 18: entity.EntityListRequest
(*ReferenceRequest)(nil), // 19: entity.ReferenceRequest
(*EntityListResponse)(nil), // 20: entity.EntityListResponse
(*EntityWatchRequest)(nil), // 21: entity.EntityWatchRequest
(*EntityWatchResponse)(nil), // 22: entity.EntityWatchResponse
(*EntitySummary)(nil), // 23: entity.EntitySummary
(*EntityExternalReference)(nil), // 24: entity.EntityExternalReference
nil, // 25: entity.Entity.LabelsEntry
nil, // 26: entity.Entity.FieldsEntry
nil, // 27: entity.EntityListRequest.LabelsEntry
nil, // 28: entity.EntityWatchRequest.LabelsEntry
nil, // 29: entity.EntitySummary.LabelsEntry
nil, // 30: entity.EntitySummary.FieldsEntry
}
var file_entity_proto_depIdxs = []int32{
5, // 0: entity.Entity.origin:type_name -> entity.EntityOriginInfo
25, // 1: entity.Entity.labels:type_name -> entity.Entity.LabelsEntry
26, // 2: entity.Entity.fields:type_name -> entity.Entity.FieldsEntry
6, // 3: entity.Entity.errors:type_name -> entity.EntityErrorInfo
0, // 4: entity.Entity.action:type_name -> entity.Entity.Action
7, // 5: entity.BatchReadEntityRequest.batch:type_name -> entity.ReadEntityRequest
4, // 6: entity.BatchReadEntityResponse.results:type_name -> entity.Entity
4, // 7: entity.CreateEntityRequest.entity:type_name -> entity.Entity
6, // 8: entity.CreateEntityResponse.error:type_name -> entity.EntityErrorInfo
4, // 9: entity.CreateEntityResponse.entity:type_name -> entity.Entity
1, // 10: entity.CreateEntityResponse.status:type_name -> entity.CreateEntityResponse.Status
4, // 11: entity.UpdateEntityRequest.entity:type_name -> entity.Entity
6, // 12: entity.UpdateEntityResponse.error:type_name -> entity.EntityErrorInfo
4, // 13: entity.UpdateEntityResponse.entity:type_name -> entity.Entity
2, // 14: entity.UpdateEntityResponse.status:type_name -> entity.UpdateEntityResponse.Status
6, // 15: entity.DeleteEntityResponse.error:type_name -> entity.EntityErrorInfo
4, // 16: entity.DeleteEntityResponse.entity:type_name -> entity.Entity
3, // 17: entity.DeleteEntityResponse.status:type_name -> entity.DeleteEntityResponse.Status
4, // 18: entity.EntityHistoryResponse.versions:type_name -> entity.Entity
27, // 19: entity.EntityListRequest.labels:type_name -> entity.EntityListRequest.LabelsEntry
4, // 20: entity.EntityListResponse.results:type_name -> entity.Entity
28, // 21: entity.EntityWatchRequest.labels:type_name -> entity.EntityWatchRequest.LabelsEntry
4, // 22: entity.EntityWatchResponse.entity:type_name -> entity.Entity
29, // 23: entity.EntitySummary.labels:type_name -> entity.EntitySummary.LabelsEntry
6, // 24: entity.EntitySummary.error:type_name -> entity.EntityErrorInfo
30, // 25: entity.EntitySummary.fields:type_name -> entity.EntitySummary.FieldsEntry
23, // 26: entity.EntitySummary.nested:type_name -> entity.EntitySummary
24, // 27: entity.EntitySummary.references:type_name -> entity.EntityExternalReference
7, // 28: entity.EntityStore.Read:input_type -> entity.ReadEntityRequest
8, // 29: entity.EntityStore.BatchRead:input_type -> entity.BatchReadEntityRequest
10, // 30: entity.EntityStore.Create:input_type -> entity.CreateEntityRequest
12, // 31: entity.EntityStore.Update:input_type -> entity.UpdateEntityRequest
14, // 32: entity.EntityStore.Delete:input_type -> entity.DeleteEntityRequest
16, // 33: entity.EntityStore.History:input_type -> entity.EntityHistoryRequest
18, // 34: entity.EntityStore.List:input_type -> entity.EntityListRequest
21, // 35: entity.EntityStore.Watch:input_type -> entity.EntityWatchRequest
4, // 36: entity.EntityStore.Read:output_type -> entity.Entity
9, // 37: entity.EntityStore.BatchRead:output_type -> entity.BatchReadEntityResponse
11, // 38: entity.EntityStore.Create:output_type -> entity.CreateEntityResponse
13, // 39: entity.EntityStore.Update:output_type -> entity.UpdateEntityResponse
15, // 40: entity.EntityStore.Delete:output_type -> entity.DeleteEntityResponse
17, // 41: entity.EntityStore.History:output_type -> entity.EntityHistoryResponse
20, // 42: entity.EntityStore.List:output_type -> entity.EntityListResponse
22, // 43: entity.EntityStore.Watch:output_type -> entity.EntityWatchResponse
36, // [36:44] is the sub-list for method output_type
28, // [28:36] is the sub-list for method input_type
28, // [28:28] is the sub-list for extension type_name
28, // [28:28] is the sub-list for extension extendee
0, // [0:28] is the sub-list for field type_name
}
func init() { file_entity_proto_init() }
func file_entity_proto_init() {
if File_entity_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_entity_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Entity); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityOriginInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityErrorInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadEntityRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchReadEntityRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BatchReadEntityResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateEntityRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateEntityResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateEntityRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateEntityResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteEntityRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteEntityResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityHistoryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityHistoryResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityListRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReferenceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityListResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityWatchRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityWatchResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntitySummary); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_entity_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntityExternalReference); 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_entity_proto_rawDesc,
NumEnums: 4,
NumMessages: 27,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_entity_proto_goTypes,
DependencyIndexes: file_entity_proto_depIdxs,
EnumInfos: file_entity_proto_enumTypes,
MessageInfos: file_entity_proto_msgTypes,
}.Build()
File_entity_proto = out.File
file_entity_proto_rawDesc = nil
file_entity_proto_goTypes = nil
file_entity_proto_depIdxs = nil
}