feat: updated crons to have a manifest in db

This commit is contained in:
Andrey Melnikov
2020-04-30 14:52:26 -07:00
parent b0571f69c9
commit 1fe4201704
8 changed files with 487 additions and 551 deletions

View File

@@ -26,98 +26,67 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type TerminateCronWorkflowRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
type CronWorkflow struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Manifest string `protobuf:"bytes,2,opt,name=manifest,proto3" json:"manifest,omitempty"`
WorkflowExecution *WorkflowExecution `protobuf:"bytes,3,opt,name=workflowExecution,proto3" json:"workflowExecution,omitempty"`
Labels []*KeyValue `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TerminateCronWorkflowRequest) Reset() { *m = TerminateCronWorkflowRequest{} }
func (m *TerminateCronWorkflowRequest) String() string { return proto.CompactTextString(m) }
func (*TerminateCronWorkflowRequest) ProtoMessage() {}
func (*TerminateCronWorkflowRequest) Descriptor() ([]byte, []int) {
func (m *CronWorkflow) Reset() { *m = CronWorkflow{} }
func (m *CronWorkflow) String() string { return proto.CompactTextString(m) }
func (*CronWorkflow) ProtoMessage() {}
func (*CronWorkflow) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{0}
}
func (m *TerminateCronWorkflowRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TerminateCronWorkflowRequest.Unmarshal(m, b)
func (m *CronWorkflow) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CronWorkflow.Unmarshal(m, b)
}
func (m *TerminateCronWorkflowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TerminateCronWorkflowRequest.Marshal(b, m, deterministic)
func (m *CronWorkflow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CronWorkflow.Marshal(b, m, deterministic)
}
func (m *TerminateCronWorkflowRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_TerminateCronWorkflowRequest.Merge(m, src)
func (m *CronWorkflow) XXX_Merge(src proto.Message) {
xxx_messageInfo_CronWorkflow.Merge(m, src)
}
func (m *TerminateCronWorkflowRequest) XXX_Size() int {
return xxx_messageInfo_TerminateCronWorkflowRequest.Size(m)
func (m *CronWorkflow) XXX_Size() int {
return xxx_messageInfo_CronWorkflow.Size(m)
}
func (m *TerminateCronWorkflowRequest) XXX_DiscardUnknown() {
xxx_messageInfo_TerminateCronWorkflowRequest.DiscardUnknown(m)
func (m *CronWorkflow) XXX_DiscardUnknown() {
xxx_messageInfo_CronWorkflow.DiscardUnknown(m)
}
var xxx_messageInfo_TerminateCronWorkflowRequest proto.InternalMessageInfo
var xxx_messageInfo_CronWorkflow proto.InternalMessageInfo
func (m *TerminateCronWorkflowRequest) GetNamespace() string {
if m != nil {
return m.Namespace
}
return ""
}
func (m *TerminateCronWorkflowRequest) GetName() string {
func (m *CronWorkflow) GetName() string {
if m != nil {
return m.Name
}
return ""
}
type GetCronWorkflowRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetCronWorkflowRequest) Reset() { *m = GetCronWorkflowRequest{} }
func (m *GetCronWorkflowRequest) String() string { return proto.CompactTextString(m) }
func (*GetCronWorkflowRequest) ProtoMessage() {}
func (*GetCronWorkflowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{1}
}
func (m *GetCronWorkflowRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetCronWorkflowRequest.Unmarshal(m, b)
}
func (m *GetCronWorkflowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetCronWorkflowRequest.Marshal(b, m, deterministic)
}
func (m *GetCronWorkflowRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetCronWorkflowRequest.Merge(m, src)
}
func (m *GetCronWorkflowRequest) XXX_Size() int {
return xxx_messageInfo_GetCronWorkflowRequest.Size(m)
}
func (m *GetCronWorkflowRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetCronWorkflowRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetCronWorkflowRequest proto.InternalMessageInfo
func (m *GetCronWorkflowRequest) GetNamespace() string {
func (m *CronWorkflow) GetManifest() string {
if m != nil {
return m.Namespace
return m.Manifest
}
return ""
}
func (m *GetCronWorkflowRequest) GetName() string {
func (m *CronWorkflow) GetWorkflowExecution() *WorkflowExecution {
if m != nil {
return m.Name
return m.WorkflowExecution
}
return ""
return nil
}
func (m *CronWorkflow) GetLabels() []*KeyValue {
if m != nil {
return m.Labels
}
return nil
}
type CreateCronWorkflowRequest struct {
@@ -132,7 +101,7 @@ func (m *CreateCronWorkflowRequest) Reset() { *m = CreateCronWorkflowReq
func (m *CreateCronWorkflowRequest) String() string { return proto.CompactTextString(m) }
func (*CreateCronWorkflowRequest) ProtoMessage() {}
func (*CreateCronWorkflowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{2}
return fileDescriptor_989cccaad551a50c, []int{1}
}
func (m *CreateCronWorkflowRequest) XXX_Unmarshal(b []byte) error {
@@ -167,6 +136,53 @@ func (m *CreateCronWorkflowRequest) GetCronWorkflow() *CronWorkflow {
return nil
}
type GetCronWorkflowRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetCronWorkflowRequest) Reset() { *m = GetCronWorkflowRequest{} }
func (m *GetCronWorkflowRequest) String() string { return proto.CompactTextString(m) }
func (*GetCronWorkflowRequest) ProtoMessage() {}
func (*GetCronWorkflowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{2}
}
func (m *GetCronWorkflowRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetCronWorkflowRequest.Unmarshal(m, b)
}
func (m *GetCronWorkflowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetCronWorkflowRequest.Marshal(b, m, deterministic)
}
func (m *GetCronWorkflowRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetCronWorkflowRequest.Merge(m, src)
}
func (m *GetCronWorkflowRequest) XXX_Size() int {
return xxx_messageInfo_GetCronWorkflowRequest.Size(m)
}
func (m *GetCronWorkflowRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetCronWorkflowRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetCronWorkflowRequest proto.InternalMessageInfo
func (m *GetCronWorkflowRequest) GetNamespace() string {
if m != nil {
return m.Namespace
}
return ""
}
func (m *GetCronWorkflowRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
type UpdateCronWorkflowRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
@@ -222,9 +238,56 @@ func (m *UpdateCronWorkflowRequest) GetCronWorkflow() *CronWorkflow {
return nil
}
type TerminateCronWorkflowRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TerminateCronWorkflowRequest) Reset() { *m = TerminateCronWorkflowRequest{} }
func (m *TerminateCronWorkflowRequest) String() string { return proto.CompactTextString(m) }
func (*TerminateCronWorkflowRequest) ProtoMessage() {}
func (*TerminateCronWorkflowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{4}
}
func (m *TerminateCronWorkflowRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TerminateCronWorkflowRequest.Unmarshal(m, b)
}
func (m *TerminateCronWorkflowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TerminateCronWorkflowRequest.Marshal(b, m, deterministic)
}
func (m *TerminateCronWorkflowRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_TerminateCronWorkflowRequest.Merge(m, src)
}
func (m *TerminateCronWorkflowRequest) XXX_Size() int {
return xxx_messageInfo_TerminateCronWorkflowRequest.Size(m)
}
func (m *TerminateCronWorkflowRequest) XXX_DiscardUnknown() {
xxx_messageInfo_TerminateCronWorkflowRequest.DiscardUnknown(m)
}
var xxx_messageInfo_TerminateCronWorkflowRequest proto.InternalMessageInfo
func (m *TerminateCronWorkflowRequest) GetNamespace() string {
if m != nil {
return m.Namespace
}
return ""
}
func (m *TerminateCronWorkflowRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
type ListCronWorkflowRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
WorkflowTemplateUid string `protobuf:"bytes,2,opt,name=workflow_template_uid,json=workflowTemplateUid,proto3" json:"workflow_template_uid,omitempty"`
WorkflowTemplateName string `protobuf:"bytes,2,opt,name=workflow_template_name,json=workflowTemplateName,proto3" json:"workflow_template_name,omitempty"`
PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -236,7 +299,7 @@ func (m *ListCronWorkflowRequest) Reset() { *m = ListCronWorkflowRequest
func (m *ListCronWorkflowRequest) String() string { return proto.CompactTextString(m) }
func (*ListCronWorkflowRequest) ProtoMessage() {}
func (*ListCronWorkflowRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{4}
return fileDescriptor_989cccaad551a50c, []int{5}
}
func (m *ListCronWorkflowRequest) XXX_Unmarshal(b []byte) error {
@@ -264,9 +327,9 @@ func (m *ListCronWorkflowRequest) GetNamespace() string {
return ""
}
func (m *ListCronWorkflowRequest) GetWorkflowTemplateUid() string {
func (m *ListCronWorkflowRequest) GetWorkflowTemplateName() string {
if m != nil {
return m.WorkflowTemplateUid
return m.WorkflowTemplateName
}
return ""
}
@@ -300,7 +363,7 @@ func (m *ListCronWorkflowsResponse) Reset() { *m = ListCronWorkflowsResp
func (m *ListCronWorkflowsResponse) String() string { return proto.CompactTextString(m) }
func (*ListCronWorkflowsResponse) ProtoMessage() {}
func (*ListCronWorkflowsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{5}
return fileDescriptor_989cccaad551a50c, []int{6}
}
func (m *ListCronWorkflowsResponse) XXX_Unmarshal(b []byte) error {
@@ -356,179 +419,60 @@ func (m *ListCronWorkflowsResponse) GetTotalCount() int32 {
return 0
}
type CronWorkflow struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Schedule string `protobuf:"bytes,2,opt,name=schedule,proto3" json:"schedule,omitempty"`
Timezone string `protobuf:"bytes,3,opt,name=timezone,proto3" json:"timezone,omitempty"`
Suspend bool `protobuf:"varint,4,opt,name=suspend,proto3" json:"suspend,omitempty"`
ConcurrencyPolicy string `protobuf:"bytes,5,opt,name=concurrencyPolicy,proto3" json:"concurrencyPolicy,omitempty"`
StartingDeadlineSeconds int64 `protobuf:"varint,6,opt,name=startingDeadlineSeconds,proto3" json:"startingDeadlineSeconds,omitempty"`
SuccessfulJobsHistoryLimit int32 `protobuf:"varint,7,opt,name=successfulJobsHistoryLimit,proto3" json:"successfulJobsHistoryLimit,omitempty"`
FailedJobsHistoryLimit int32 `protobuf:"varint,8,opt,name=failedJobsHistoryLimit,proto3" json:"failedJobsHistoryLimit,omitempty"`
WorkflowExecution *WorkflowExecution `protobuf:"bytes,9,opt,name=workflowExecution,proto3" json:"workflowExecution,omitempty"`
Labels []*KeyValue `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CronWorkflow) Reset() { *m = CronWorkflow{} }
func (m *CronWorkflow) String() string { return proto.CompactTextString(m) }
func (*CronWorkflow) ProtoMessage() {}
func (*CronWorkflow) Descriptor() ([]byte, []int) {
return fileDescriptor_989cccaad551a50c, []int{6}
}
func (m *CronWorkflow) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CronWorkflow.Unmarshal(m, b)
}
func (m *CronWorkflow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CronWorkflow.Marshal(b, m, deterministic)
}
func (m *CronWorkflow) XXX_Merge(src proto.Message) {
xxx_messageInfo_CronWorkflow.Merge(m, src)
}
func (m *CronWorkflow) XXX_Size() int {
return xxx_messageInfo_CronWorkflow.Size(m)
}
func (m *CronWorkflow) XXX_DiscardUnknown() {
xxx_messageInfo_CronWorkflow.DiscardUnknown(m)
}
var xxx_messageInfo_CronWorkflow proto.InternalMessageInfo
func (m *CronWorkflow) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *CronWorkflow) GetSchedule() string {
if m != nil {
return m.Schedule
}
return ""
}
func (m *CronWorkflow) GetTimezone() string {
if m != nil {
return m.Timezone
}
return ""
}
func (m *CronWorkflow) GetSuspend() bool {
if m != nil {
return m.Suspend
}
return false
}
func (m *CronWorkflow) GetConcurrencyPolicy() string {
if m != nil {
return m.ConcurrencyPolicy
}
return ""
}
func (m *CronWorkflow) GetStartingDeadlineSeconds() int64 {
if m != nil {
return m.StartingDeadlineSeconds
}
return 0
}
func (m *CronWorkflow) GetSuccessfulJobsHistoryLimit() int32 {
if m != nil {
return m.SuccessfulJobsHistoryLimit
}
return 0
}
func (m *CronWorkflow) GetFailedJobsHistoryLimit() int32 {
if m != nil {
return m.FailedJobsHistoryLimit
}
return 0
}
func (m *CronWorkflow) GetWorkflowExecution() *WorkflowExecution {
if m != nil {
return m.WorkflowExecution
}
return nil
}
func (m *CronWorkflow) GetLabels() []*KeyValue {
if m != nil {
return m.Labels
}
return nil
}
func init() {
proto.RegisterType((*TerminateCronWorkflowRequest)(nil), "api.TerminateCronWorkflowRequest")
proto.RegisterType((*GetCronWorkflowRequest)(nil), "api.GetCronWorkflowRequest")
proto.RegisterType((*CronWorkflow)(nil), "api.CronWorkflow")
proto.RegisterType((*CreateCronWorkflowRequest)(nil), "api.CreateCronWorkflowRequest")
proto.RegisterType((*GetCronWorkflowRequest)(nil), "api.GetCronWorkflowRequest")
proto.RegisterType((*UpdateCronWorkflowRequest)(nil), "api.UpdateCronWorkflowRequest")
proto.RegisterType((*TerminateCronWorkflowRequest)(nil), "api.TerminateCronWorkflowRequest")
proto.RegisterType((*ListCronWorkflowRequest)(nil), "api.ListCronWorkflowRequest")
proto.RegisterType((*ListCronWorkflowsResponse)(nil), "api.ListCronWorkflowsResponse")
proto.RegisterType((*CronWorkflow)(nil), "api.CronWorkflow")
}
func init() { proto.RegisterFile("cron_workflow.proto", fileDescriptor_989cccaad551a50c) }
var fileDescriptor_989cccaad551a50c = []byte{
// 759 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xdf, 0x4e, 0x1b, 0x47,
0x14, 0xc6, 0xb5, 0x18, 0x1b, 0xfb, 0x00, 0xad, 0x3c, 0x14, 0xb3, 0x2c, 0x16, 0xa2, 0x2b, 0x55,
0x45, 0x55, 0xe5, 0x2d, 0x54, 0x85, 0xfe, 0x51, 0x51, 0x5b, 0x40, 0xad, 0x28, 0x17, 0x68, 0x81,
0x22, 0xf5, 0x06, 0x8d, 0x77, 0x8f, 0xdd, 0x51, 0xd7, 0x33, 0x9b, 0x9d, 0x59, 0x88, 0x41, 0xdc,
0x44, 0x51, 0x6e, 0xa2, 0x5c, 0x45, 0xb9, 0xca, 0x6b, 0xe4, 0x05, 0x72, 0x95, 0x07, 0xc8, 0x2b,
0xe4, 0x41, 0xa2, 0x1d, 0xaf, 0x8d, 0xed, 0xb5, 0x91, 0x83, 0xb8, 0xf2, 0x9e, 0xf9, 0xce, 0xcc,
0xf9, 0xcd, 0x9c, 0xf1, 0x37, 0xb0, 0xe0, 0x45, 0x82, 0x9f, 0x5f, 0x8a, 0xe8, 0xff, 0x46, 0x20,
0x2e, 0x6b, 0x61, 0x24, 0x94, 0x20, 0x39, 0x1a, 0x32, 0xab, 0xda, 0x14, 0xa2, 0x19, 0xa0, 0x43,
0x43, 0xe6, 0x50, 0xce, 0x85, 0xa2, 0x8a, 0x09, 0x2e, 0x3b, 0x29, 0xd6, 0x4a, 0xaa, 0xea, 0xa8,
0x1e, 0x37, 0x1c, 0x6c, 0x85, 0xaa, 0x9d, 0x8a, 0x9f, 0x0d, 0xae, 0x67, 0xcd, 0x06, 0xb4, 0x8e,
0x41, 0x27, 0xb0, 0x8f, 0xa0, 0x7a, 0x82, 0x51, 0x8b, 0x71, 0xaa, 0x70, 0x37, 0x12, 0xfc, 0x2c,
0xcd, 0x75, 0xf1, 0x51, 0x8c, 0x52, 0x91, 0x2a, 0x94, 0x38, 0x6d, 0xa1, 0x0c, 0xa9, 0x87, 0xa6,
0xb1, 0x66, 0xac, 0x97, 0xdc, 0xdb, 0x01, 0x42, 0x60, 0x3a, 0x09, 0xcc, 0x29, 0x2d, 0xe8, 0x6f,
0xfb, 0x00, 0x2a, 0x7f, 0xa2, 0x7a, 0x98, 0xb5, 0x42, 0x58, 0xde, 0x8d, 0xf0, 0x5e, 0x68, 0x3f,
0xc0, 0x9c, 0xd7, 0x37, 0x49, 0x2f, 0x3b, 0xbb, 0x59, 0xae, 0xd1, 0x90, 0xd5, 0x06, 0x56, 0x1b,
0x48, 0xb3, 0x9f, 0x1a, 0xb0, 0x7c, 0x1a, 0xfa, 0x0f, 0x75, 0x1a, 0x19, 0x8c, 0xdc, 0x64, 0x18,
0xaf, 0x0d, 0x58, 0x3a, 0x64, 0xf2, 0x1e, 0xc7, 0xb8, 0x09, 0x8b, 0xdd, 0x7e, 0x9f, 0x2b, 0x6c,
0x85, 0x01, 0x55, 0x78, 0x1e, 0x33, 0x3f, 0xa5, 0x5a, 0xe8, 0x8a, 0x27, 0xa9, 0x76, 0xca, 0x7c,
0x62, 0x41, 0x31, 0xa4, 0x4d, 0x3c, 0x66, 0x57, 0xa8, 0x01, 0xf3, 0x6e, 0x2f, 0x4e, 0x36, 0x95,
0x7c, 0x9b, 0xd3, 0x7a, 0x5c, 0x7f, 0xdb, 0x6f, 0x0c, 0x58, 0x1e, 0xa6, 0x93, 0x2e, 0xca, 0x50,
0x70, 0x89, 0xe4, 0x0b, 0xc8, 0x7b, 0x22, 0xe6, 0x4a, 0xb3, 0xe5, 0xdd, 0x4e, 0x40, 0xb6, 0x61,
0xbe, 0x7f, 0x87, 0xd2, 0x9c, 0x5a, 0xcb, 0x8d, 0x3e, 0x89, 0xc1, 0xbc, 0x1e, 0x40, 0xee, 0x16,
0x20, 0x29, 0x91, 0xfc, 0xca, 0x94, 0xaa, 0x13, 0x90, 0x55, 0x00, 0x25, 0x14, 0x0d, 0x76, 0x75,
0xf5, 0xbc, 0x96, 0xfa, 0x46, 0xec, 0xb7, 0x39, 0x98, 0xeb, 0xaf, 0xd4, 0x6b, 0x98, 0xd1, 0xd7,
0x30, 0x0b, 0x8a, 0xd2, 0xfb, 0x0f, 0xfd, 0x38, 0xe8, 0x36, 0xb2, 0x17, 0x27, 0x9a, 0x62, 0x2d,
0xbc, 0x12, 0xbc, 0x83, 0x53, 0x72, 0x7b, 0x31, 0x31, 0x61, 0x46, 0xc6, 0x32, 0x44, 0xee, 0x6b,
0xa8, 0xa2, 0xdb, 0x0d, 0xc9, 0xb7, 0x50, 0xf6, 0x04, 0xf7, 0xe2, 0x28, 0x42, 0xee, 0xb5, 0x8f,
0x44, 0xc0, 0xbc, 0xb6, 0xa6, 0x2b, 0xb9, 0x59, 0x81, 0xfc, 0x08, 0x4b, 0x52, 0xd1, 0x48, 0x31,
0xde, 0xdc, 0x43, 0xea, 0x07, 0x8c, 0xe3, 0x31, 0x7a, 0x82, 0xfb, 0xd2, 0x2c, 0xac, 0x19, 0xeb,
0x39, 0x77, 0x9c, 0x4c, 0x76, 0xc0, 0x92, 0xb1, 0xe7, 0xa1, 0x94, 0x8d, 0x38, 0x38, 0x10, 0x75,
0xf9, 0x17, 0x93, 0x4a, 0x44, 0xed, 0x43, 0xd6, 0x62, 0xca, 0x9c, 0xd1, 0xc7, 0x71, 0x47, 0x06,
0xd9, 0x82, 0x4a, 0x83, 0xb2, 0x00, 0xfd, 0xcc, 0xdc, 0xa2, 0x9e, 0x3b, 0x46, 0x25, 0x7b, 0x50,
0xee, 0x5e, 0xaa, 0xfd, 0xc7, 0xe8, 0xc5, 0x89, 0x31, 0x99, 0x25, 0x7d, 0xcf, 0x2b, 0xba, 0xbb,
0x67, 0xc3, 0xaa, 0x9b, 0x9d, 0x40, 0xbe, 0x82, 0x82, 0xf6, 0x25, 0x69, 0x82, 0xbe, 0x18, 0xf3,
0x7a, 0xea, 0xdf, 0xd8, 0xfe, 0x87, 0x06, 0x31, 0xba, 0xa9, 0xb8, 0xf9, 0xbc, 0x00, 0x0b, 0xfd,
0x3d, 0x3c, 0xc6, 0xe8, 0x82, 0x79, 0x48, 0x9e, 0x19, 0x40, 0xb2, 0x56, 0x41, 0x56, 0xd3, 0xeb,
0x35, 0xc6, 0x43, 0xac, 0xec, 0xf5, 0xb3, 0x7f, 0x7d, 0xf2, 0xfe, 0xc3, 0xcb, 0xa9, 0x6d, 0xfb,
0xeb, 0xc4, 0x6b, 0xa5, 0x73, 0xb1, 0x51, 0x47, 0x45, 0x37, 0x9c, 0xeb, 0xde, 0x5f, 0xec, 0xc6,
0x19, 0x70, 0xe9, 0x9f, 0x07, 0xfe, 0xb9, 0xe4, 0x85, 0x01, 0x24, 0x6b, 0x20, 0x29, 0xc8, 0x58,
0x67, 0x19, 0x05, 0xb2, 0xa7, 0x41, 0x76, 0xec, 0xda, 0x84, 0x20, 0x1d, 0xe5, 0x66, 0x88, 0xa7,
0x0d, 0x9f, 0x0f, 0xd9, 0x31, 0x59, 0xd1, 0xb5, 0x46, 0x9b, 0xf4, 0x28, 0x90, 0x2d, 0x0d, 0xf2,
0x1d, 0xf9, 0x44, 0x10, 0xf2, 0xce, 0x80, 0x72, 0xc6, 0x26, 0x48, 0x55, 0x17, 0x18, 0x63, 0x6e,
0xd6, 0xea, 0x48, 0xb5, 0x67, 0x2e, 0xb6, 0xd2, 0x2c, 0x9c, 0xac, 0x4f, 0xc8, 0x22, 0xff, 0xfd,
0x83, 0xfc, 0x36, 0x69, 0xae, 0x73, 0x3d, 0xd2, 0x3a, 0x6f, 0xc8, 0x2b, 0x03, 0x16, 0x47, 0x3e,
0x93, 0xe4, 0x4b, 0xcd, 0x7b, 0xd7, 0x13, 0x6a, 0x55, 0x6a, 0x9d, 0xd7, 0xb9, 0xd6, 0x7d, 0x9d,
0x6b, 0xfb, 0xc9, 0xeb, 0x6c, 0xff, 0xae, 0xb7, 0xf2, 0xcb, 0x37, 0x3f, 0x4d, 0x8e, 0xa7, 0xcf,
0xd5, 0x51, 0xdd, 0x6a, 0xf5, 0x82, 0x5e, 0xf2, 0xfb, 0x8f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x84,
0xa9, 0x70, 0xbc, 0x38, 0x08, 0x00, 0x00,
// 636 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xcf, 0x6e, 0xd3, 0x4c,
0x10, 0xc0, 0xe5, 0xa4, 0x89, 0xbe, 0x4e, 0xda, 0x0f, 0x65, 0x5b, 0x82, 0xe3, 0x46, 0x51, 0xb0,
0x84, 0x88, 0x38, 0xd8, 0x34, 0xfc, 0xa9, 0x00, 0x81, 0x54, 0xa5, 0x15, 0x12, 0x20, 0x84, 0xdc,
0x42, 0x25, 0x2e, 0xd1, 0xc6, 0x6c, 0x22, 0x0b, 0xc7, 0x6b, 0xbc, 0xeb, 0x96, 0x50, 0xe5, 0x82,
0x10, 0x27, 0x38, 0x21, 0x8e, 0x3c, 0x01, 0x57, 0x1e, 0x82, 0x3b, 0xaf, 0xc0, 0x83, 0x20, 0xaf,
0xed, 0xc4, 0x8e, 0x1d, 0x94, 0x56, 0x9c, 0xbc, 0xb3, 0x33, 0x3b, 0xf3, 0x9b, 0xf1, 0xcc, 0x2e,
0x6c, 0x98, 0x1e, 0x75, 0x7a, 0x27, 0xd4, 0x7b, 0x3d, 0xb0, 0xe9, 0x89, 0xe6, 0x7a, 0x94, 0x53,
0x54, 0xc4, 0xae, 0xa5, 0x34, 0x86, 0x94, 0x0e, 0x6d, 0xa2, 0x63, 0xd7, 0xd2, 0xb1, 0xe3, 0x50,
0x8e, 0xb9, 0x45, 0x1d, 0x16, 0x9a, 0x28, 0x5b, 0x91, 0x56, 0x48, 0x7d, 0x7f, 0xa0, 0x93, 0x91,
0xcb, 0xc7, 0x91, 0xf2, 0xff, 0xb4, 0x3f, 0xa5, 0x62, 0xe3, 0x3e, 0xb1, 0x43, 0x41, 0xfd, 0x2e,
0xc1, 0x5a, 0xd7, 0xa3, 0xce, 0x51, 0x64, 0x83, 0x10, 0xac, 0x38, 0x78, 0x44, 0x64, 0xa9, 0x25,
0xb5, 0x57, 0x0d, 0xb1, 0x46, 0x0a, 0xfc, 0x37, 0xc2, 0x8e, 0x35, 0x20, 0x8c, 0xcb, 0x05, 0xb1,
0x3f, 0x95, 0xd1, 0x1e, 0x54, 0x63, 0xff, 0xfb, 0x6f, 0x89, 0xe9, 0x07, 0x58, 0x72, 0xb1, 0x25,
0xb5, 0x2b, 0x9d, 0x9a, 0x86, 0x5d, 0x4b, 0x3b, 0x9a, 0xd7, 0x1a, 0xd9, 0x03, 0xe8, 0x0a, 0x94,
0x05, 0x15, 0x93, 0x57, 0x5a, 0xc5, 0x76, 0xa5, 0xb3, 0x2e, 0x8e, 0x3e, 0x26, 0xe3, 0x17, 0xd8,
0xf6, 0x89, 0x11, 0x29, 0x55, 0x17, 0xea, 0x5d, 0x8f, 0x60, 0x4e, 0x92, 0xc8, 0x06, 0x79, 0xe3,
0x07, 0x24, 0x0d, 0x58, 0x0d, 0x68, 0x99, 0x8b, 0xcd, 0x18, 0x7f, 0xb6, 0x81, 0x6e, 0xc1, 0x9a,
0x99, 0x38, 0x24, 0xf2, 0xa8, 0x74, 0xaa, 0x22, 0x4e, 0xca, 0x5b, 0xca, 0x4c, 0x7d, 0x04, 0xb5,
0x87, 0x84, 0x9f, 0x3d, 0x5c, 0x5c, 0xc6, 0xc2, 0xac, 0x8c, 0xea, 0x07, 0x09, 0xea, 0xcf, 0xdd,
0x57, 0xe7, 0xc2, 0xcf, 0xf1, 0x97, 0x49, 0xa9, 0xb8, 0x5c, 0x4a, 0xcf, 0xa0, 0x71, 0x48, 0xbc,
0x91, 0xe5, 0xfc, 0x2b, 0x10, 0xf5, 0x9b, 0x04, 0x97, 0x9e, 0x58, 0xec, 0x1c, 0x65, 0xba, 0x09,
0xb5, 0xb8, 0x19, 0x7a, 0x9c, 0x8c, 0x5c, 0x1b, 0x73, 0xd2, 0x4b, 0xf8, 0xdf, 0x8c, 0xb5, 0x87,
0x91, 0xf2, 0x69, 0xd4, 0x8f, 0x2e, 0x1e, 0x92, 0x03, 0xeb, 0x1d, 0x11, 0x49, 0x97, 0x8c, 0xa9,
0x1c, 0xf0, 0x05, 0x6b, 0x79, 0x45, 0xec, 0x8b, 0xb5, 0xfa, 0x43, 0x82, 0xfa, 0x3c, 0x1f, 0x33,
0x08, 0x73, 0xa9, 0xc3, 0x08, 0xda, 0x84, 0x92, 0x49, 0x7d, 0x87, 0x0b, 0xba, 0x92, 0x11, 0x0a,
0x68, 0x07, 0xd6, 0x93, 0x55, 0x63, 0x72, 0x41, 0x34, 0x66, 0x4e, 0x75, 0xd3, 0x76, 0x53, 0x80,
0xe2, 0x0c, 0x20, 0x08, 0x11, 0x7c, 0x59, 0x44, 0x15, 0x0a, 0xa8, 0x09, 0xc0, 0x29, 0xc7, 0x76,
0x57, 0x44, 0x2f, 0x09, 0x55, 0x62, 0xa7, 0xf3, 0xa9, 0x0c, 0x1b, 0xc9, 0x48, 0x07, 0xc4, 0x3b,
0xb6, 0x4c, 0x82, 0x3e, 0x4a, 0x80, 0xb2, 0x63, 0x80, 0x9a, 0x11, 0xda, 0x82, 0xf9, 0x50, 0xb2,
0xe8, 0xea, 0xfd, 0xf7, 0xbf, 0x7e, 0x7f, 0x29, 0xec, 0xa8, 0x57, 0x83, 0x7b, 0x85, 0xe9, 0xc7,
0xdb, 0x7d, 0xc2, 0xf1, 0xb6, 0x7e, 0x3a, 0xfd, 0x41, 0x13, 0x3d, 0x75, 0x23, 0xdd, 0x4d, 0x75,
0x12, 0xfa, 0x2c, 0x01, 0xca, 0x36, 0x74, 0x04, 0xb2, 0xb0, 0xd3, 0xf3, 0x40, 0xf6, 0x04, 0xc8,
0x03, 0x45, 0x5b, 0x12, 0x24, 0xd4, 0x4c, 0xe6, 0x78, 0xc6, 0x70, 0x61, 0x6e, 0x58, 0xd1, 0x96,
0x88, 0x95, 0x3f, 0xc2, 0x79, 0x20, 0xb7, 0x05, 0xc8, 0x75, 0x74, 0x46, 0x10, 0xf4, 0x53, 0x82,
0x6a, 0xa6, 0xc5, 0x50, 0x43, 0x04, 0x58, 0x30, 0x1a, 0x4a, 0x33, 0x57, 0x3b, 0x6d, 0x4c, 0xd5,
0x17, 0x2c, 0x14, 0xb5, 0x97, 0x64, 0x61, 0x2f, 0xbb, 0x68, 0x77, 0x59, 0x5b, 0xfd, 0x34, 0x7f,
0xf0, 0x26, 0xe8, 0xab, 0x04, 0x17, 0x73, 0x2f, 0x08, 0x74, 0x59, 0x00, 0xff, 0xed, 0xf2, 0x50,
0x6a, 0x5a, 0xf8, 0x14, 0x69, 0xf1, 0x53, 0xa4, 0xed, 0x07, 0x4f, 0x91, 0xba, 0x2b, 0x72, 0xb9,
0x77, 0xed, 0xce, 0xf2, 0x7c, 0x82, 0x46, 0xe7, 0x71, 0xb4, 0x7e, 0x59, 0xb8, 0xbc, 0xf1, 0x27,
0x00, 0x00, 0xff, 0xff, 0xa3, 0x34, 0xa4, 0x31, 0x25, 0x07, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.