grafana/pkg/services/store/entity/entity.pb.go
Dan Cech 89f3b70e17
Storage: Add support for listing resource history (#84331)
* add support for listing resource history

* make watch handle custom label selectors properly

* fix tests

* Apply suggestions from code review

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>

* properly handle special characters in json label matcher

* tidy up

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-03-15 19:17:54 -04:00

2728 lines
96 KiB
Go

// 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"`
// 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"`
}
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 ""
}
func (x *EntityHistoryRequest) GetSort() []string {
if x != nil {
return x.Sort
}
return nil
}
func (x *EntityHistoryRequest) GetWithBody() bool {
if x != nil {
return x.WithBody
}
return false
}
func (x *EntityHistoryRequest) GetWithStatus() bool {
if x != nil {
return x.WithStatus
}
return false
}
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"`
// ResourceVersion of the response
ResourceVersion int64 `protobuf:"varint,4,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,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 ""
}
func (x *EntityHistoryResponse) GetResourceVersion() int64 {
if x != nil {
return x.ResourceVersion
}
return 0
}
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, 0xb8, 0x01, 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, 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, 0x22, 0xa8, 0x01, 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, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 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
}