blob: 83b49d443426a1f45c3872aafcf4c49834a7ad42 [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.6.1
// source: test_platform/suite_scheduler/analytics.proto
package suite_scheduler
import (
timestamp "github.com/golang/protobuf/ptypes/timestamp"
api "go.chromium.org/chromiumos/infra/proto/go/chromite/api"
chromiumos "go.chromium.org/chromiumos/infra/proto/go/chromiumos"
device "go.chromium.org/chromiumos/infra/proto/go/device"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type BranchFilter_Channel int32
const (
BranchFilter_BRANCH_REF_NOT_SET BranchFilter_Channel = 0
BranchFilter_MASTER BranchFilter_Channel = 1
BranchFilter_DEV BranchFilter_Channel = 2
BranchFilter_BETA BranchFilter_Channel = 3
BranchFilter_STABLE BranchFilter_Channel = 4
)
// Enum value maps for BranchFilter_Channel.
var (
BranchFilter_Channel_name = map[int32]string{
0: "BRANCH_REF_NOT_SET",
1: "MASTER",
2: "DEV",
3: "BETA",
4: "STABLE",
}
BranchFilter_Channel_value = map[string]int32{
"BRANCH_REF_NOT_SET": 0,
"MASTER": 1,
"DEV": 2,
"BETA": 3,
"STABLE": 4,
}
)
func (x BranchFilter_Channel) Enum() *BranchFilter_Channel {
p := new(BranchFilter_Channel)
*p = x
return p
}
func (x BranchFilter_Channel) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (BranchFilter_Channel) Descriptor() protoreflect.EnumDescriptor {
return file_test_platform_suite_scheduler_analytics_proto_enumTypes[0].Descriptor()
}
func (BranchFilter_Channel) Type() protoreflect.EnumType {
return &file_test_platform_suite_scheduler_analytics_proto_enumTypes[0]
}
func (x BranchFilter_Channel) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use BranchFilter_Channel.Descriptor instead.
func (BranchFilter_Channel) EnumDescriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{2, 0}
}
type BranchFilter_Operator int32
const (
BranchFilter_UNDEFINED BranchFilter_Operator = 0
BranchFilter_EQ BranchFilter_Operator = 1 // "=="
BranchFilter_GE BranchFilter_Operator = 2 // ">="
BranchFilter_LE BranchFilter_Operator = 3 // "<="
)
// Enum value maps for BranchFilter_Operator.
var (
BranchFilter_Operator_name = map[int32]string{
0: "UNDEFINED",
1: "EQ",
2: "GE",
3: "LE",
}
BranchFilter_Operator_value = map[string]int32{
"UNDEFINED": 0,
"EQ": 1,
"GE": 2,
"LE": 3,
}
)
func (x BranchFilter_Operator) Enum() *BranchFilter_Operator {
p := new(BranchFilter_Operator)
*p = x
return p
}
func (x BranchFilter_Operator) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (BranchFilter_Operator) Descriptor() protoreflect.EnumDescriptor {
return file_test_platform_suite_scheduler_analytics_proto_enumTypes[1].Descriptor()
}
func (BranchFilter_Operator) Type() protoreflect.EnumType {
return &file_test_platform_suite_scheduler_analytics_proto_enumTypes[1]
}
func (x BranchFilter_Operator) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use BranchFilter_Operator.Descriptor instead.
func (BranchFilter_Operator) EnumDescriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{2, 1}
}
// The build information queried from BuildBucket DB.
type BuildInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of the build target (a.k.a. board name), e.g., "gale", "eve".
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
// The milestone number (e.g. 73).
Milestone uint32 `protobuf:"varint,2,opt,name=milestone,proto3" json:"milestone,omitempty"`
// The chrome os version (e.g. "12240.0.0" or "").
ChromeOsVersion string `protobuf:"bytes,3,opt,name=chrome_os_version,json=chromeOsVersion,proto3" json:"chrome_os_version,omitempty"`
// Build type with the board name as the prefix, e.g.
// "RELEASE" or "FIRMWARE".
Type chromiumos.Branch_BranchType `protobuf:"varint,4,opt,name=type,proto3,enum=chromiumos.Branch_BranchType" json:"type,omitempty"`
}
func (x *BuildInfo) Reset() {
*x = BuildInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildInfo) ProtoMessage() {}
func (x *BuildInfo) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 BuildInfo.ProtoReflect.Descriptor instead.
func (*BuildInfo) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{0}
}
func (x *BuildInfo) GetBuildTarget() *chromiumos.BuildTarget {
if x != nil {
return x.BuildTarget
}
return nil
}
func (x *BuildInfo) GetMilestone() uint32 {
if x != nil {
return x.Milestone
}
return 0
}
func (x *BuildInfo) GetChromeOsVersion() string {
if x != nil {
return x.ChromeOsVersion
}
return ""
}
func (x *BuildInfo) GetType() chromiumos.Branch_BranchType {
if x != nil {
return x.Type
}
return chromiumos.Branch_UNSPECIFIED
}
// The firmware build information queried from BuildBucket DB.
type FirmwareBuildInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Board name.
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
// Build type, "RELEASE" or "FIRMWARE". Each has different form of
// artifacts.
Type chromiumos.Branch_BranchType `protobuf:"varint,2,opt,name=type,proto3,enum=chromiumos.Branch_BranchType" json:"type,omitempty"`
// Relative path to the artifact file, e.g.
// "firmware-board-12345.67.B-firmwarebranch/RFoo-1.0.0-b1e234567/board"
// for firmware type or "board-release/R81-12766.0.0" for release type.
Artifact *api.Artifact `protobuf:"bytes,3,opt,name=artifact,proto3" json:"artifact,omitempty"`
}
func (x *FirmwareBuildInfo) Reset() {
*x = FirmwareBuildInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FirmwareBuildInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FirmwareBuildInfo) ProtoMessage() {}
func (x *FirmwareBuildInfo) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 FirmwareBuildInfo.ProtoReflect.Descriptor instead.
func (*FirmwareBuildInfo) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{1}
}
func (x *FirmwareBuildInfo) GetBuildTarget() *chromiumos.BuildTarget {
if x != nil {
return x.BuildTarget
}
return nil
}
func (x *FirmwareBuildInfo) GetType() chromiumos.Branch_BranchType {
if x != nil {
return x.Type
}
return chromiumos.Branch_UNSPECIFIED
}
func (x *FirmwareBuildInfo) GetArtifact() *api.Artifact {
if x != nil {
return x.Artifact
}
return nil
}
// BranchFilter is a combination of channel, operator and
// lag, e.g. a filter of the form ">=tot-2" is stated as
// { channel = MASTER; operator = GE; lag = 2; };
// a filter of "==tot" is translated to
// { channel = MASTER; operator = EQ; lag = 0; }.
type BranchFilter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Channel BranchFilter_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=test_platform.suite_scheduler.BranchFilter_Channel" json:"channel,omitempty"`
Operator BranchFilter_Operator `protobuf:"varint,2,opt,name=operator,proto3,enum=test_platform.suite_scheduler.BranchFilter_Operator" json:"operator,omitempty"`
// Number of minor versions behind tip-of-tree on channel.
Lag int32 `protobuf:"varint,3,opt,name=lag,proto3" json:"lag,omitempty"`
}
func (x *BranchFilter) Reset() {
*x = BranchFilter{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BranchFilter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BranchFilter) ProtoMessage() {}
func (x *BranchFilter) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 BranchFilter.ProtoReflect.Descriptor instead.
func (*BranchFilter) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{2}
}
func (x *BranchFilter) GetChannel() BranchFilter_Channel {
if x != nil {
return x.Channel
}
return BranchFilter_BRANCH_REF_NOT_SET
}
func (x *BranchFilter) GetOperator() BranchFilter_Operator {
if x != nil {
return x.Operator
}
return BranchFilter_UNDEFINED
}
func (x *BranchFilter) GetLag() int32 {
if x != nil {
return x.Lag
}
return 0
}
// BuildFilters defines on which build to run a suite test.
type BuildFilters struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true, use the relax_builds.
OnlyHwtestSanityRequired bool `protobuf:"varint,1,opt,name=only_hwtest_sanity_required,json=onlyHwtestSanityRequired,proto3" json:"only_hwtest_sanity_required,omitempty"`
// BranchFilter defines the target branch of the new build.
// Note, the final result is "AND" of each single filter.
BranchFilters []*BranchFilter `protobuf:"bytes,2,rep,name=branch_filters,json=branchFilters,proto3" json:"branch_filters,omitempty"`
// The firmware build type, e.g., "RELEASE" or "FIRMWARE". Note,
// in suite scheduler, "cros" = "RELEASE".
FirmwareRoBuildSpec chromiumos.Branch_BranchType `protobuf:"varint,3,opt,name=firmware_ro_build_spec,json=firmwareRoBuildSpec,proto3,enum=chromiumos.Branch_BranchType" json:"firmware_ro_build_spec,omitempty"`
FirmwareRwBuildSpec chromiumos.Branch_BranchType `protobuf:"varint,4,opt,name=firmware_rw_build_spec,json=firmwareRwBuildSpec,proto3,enum=chromiumos.Branch_BranchType" json:"firmware_rw_build_spec,omitempty"`
}
func (x *BuildFilters) Reset() {
*x = BuildFilters{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildFilters) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildFilters) ProtoMessage() {}
func (x *BuildFilters) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 BuildFilters.ProtoReflect.Descriptor instead.
func (*BuildFilters) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{3}
}
func (x *BuildFilters) GetOnlyHwtestSanityRequired() bool {
if x != nil {
return x.OnlyHwtestSanityRequired
}
return false
}
func (x *BuildFilters) GetBranchFilters() []*BranchFilter {
if x != nil {
return x.BranchFilters
}
return nil
}
func (x *BuildFilters) GetFirmwareRoBuildSpec() chromiumos.Branch_BranchType {
if x != nil {
return x.FirmwareRoBuildSpec
}
return chromiumos.Branch_UNSPECIFIED
}
func (x *BuildFilters) GetFirmwareRwBuildSpec() chromiumos.Branch_BranchType {
if x != nil {
return x.FirmwareRwBuildSpec
}
return chromiumos.Branch_UNSPECIFIED
}
// ScheduleJobTrigger defines the trigger to kick off a suite test.
type ScheduleJobTrigger struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Trigger:
// *ScheduleJobTrigger_Weekly
// *ScheduleJobTrigger_Nightly
// *ScheduleJobTrigger_Interval
Trigger isScheduleJobTrigger_Trigger `protobuf_oneof:"trigger"`
BuildFilters *BuildFilters `protobuf:"bytes,4,opt,name=build_filters,json=buildFilters,proto3" json:"build_filters,omitempty"`
}
func (x *ScheduleJobTrigger) Reset() {
*x = ScheduleJobTrigger{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJobTrigger) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJobTrigger) ProtoMessage() {}
func (x *ScheduleJobTrigger) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJobTrigger.ProtoReflect.Descriptor instead.
func (*ScheduleJobTrigger) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{4}
}
func (m *ScheduleJobTrigger) GetTrigger() isScheduleJobTrigger_Trigger {
if m != nil {
return m.Trigger
}
return nil
}
func (x *ScheduleJobTrigger) GetWeekly() *ScheduleJobTrigger_WeeklyTrigger {
if x, ok := x.GetTrigger().(*ScheduleJobTrigger_Weekly); ok {
return x.Weekly
}
return nil
}
func (x *ScheduleJobTrigger) GetNightly() *ScheduleJobTrigger_NightlyTrigger {
if x, ok := x.GetTrigger().(*ScheduleJobTrigger_Nightly); ok {
return x.Nightly
}
return nil
}
func (x *ScheduleJobTrigger) GetInterval() *ScheduleJobTrigger_IntervalTrigger {
if x, ok := x.GetTrigger().(*ScheduleJobTrigger_Interval); ok {
return x.Interval
}
return nil
}
func (x *ScheduleJobTrigger) GetBuildFilters() *BuildFilters {
if x != nil {
return x.BuildFilters
}
return nil
}
type isScheduleJobTrigger_Trigger interface {
isScheduleJobTrigger_Trigger()
}
type ScheduleJobTrigger_Weekly struct {
Weekly *ScheduleJobTrigger_WeeklyTrigger `protobuf:"bytes,1,opt,name=weekly,proto3,oneof"`
}
type ScheduleJobTrigger_Nightly struct {
Nightly *ScheduleJobTrigger_NightlyTrigger `protobuf:"bytes,2,opt,name=nightly,proto3,oneof"`
}
type ScheduleJobTrigger_Interval struct {
// TODO: This feature is not implemented to suite scheduler yet. So
// if IntervalTrigger is configured, pause should be zero all the time.
Interval *ScheduleJobTrigger_IntervalTrigger `protobuf:"bytes,3,opt,name=interval,proto3,oneof"`
}
func (*ScheduleJobTrigger_Weekly) isScheduleJobTrigger_Trigger() {}
func (*ScheduleJobTrigger_Nightly) isScheduleJobTrigger_Trigger() {}
func (*ScheduleJobTrigger_Interval) isScheduleJobTrigger_Trigger() {}
// ScheduleJob represents the schedule result for a specific board
// and model.
type ScheduleJob struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Model.
Model *device.ModelId `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
// Board.
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,2,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
// Types that are assignable to Result:
// *ScheduleJob_QueuedTaskId
// *ScheduleJob_Justification
Result isScheduleJob_Result `protobuf_oneof:"result"`
// Result generated time in UTC.
GeneratedTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=generated_time,json=generatedTime,proto3" json:"generated_time,omitempty"`
}
func (x *ScheduleJob) Reset() {
*x = ScheduleJob{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJob) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJob) ProtoMessage() {}
func (x *ScheduleJob) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJob.ProtoReflect.Descriptor instead.
func (*ScheduleJob) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{5}
}
func (x *ScheduleJob) GetModel() *device.ModelId {
if x != nil {
return x.Model
}
return nil
}
func (x *ScheduleJob) GetBuildTarget() *chromiumos.BuildTarget {
if x != nil {
return x.BuildTarget
}
return nil
}
func (m *ScheduleJob) GetResult() isScheduleJob_Result {
if m != nil {
return m.Result
}
return nil
}
func (x *ScheduleJob) GetQueuedTaskId() string {
if x, ok := x.GetResult().(*ScheduleJob_QueuedTaskId); ok {
return x.QueuedTaskId
}
return ""
}
func (x *ScheduleJob) GetJustification() string {
if x, ok := x.GetResult().(*ScheduleJob_Justification); ok {
return x.Justification
}
return ""
}
func (x *ScheduleJob) GetGeneratedTime() *timestamp.Timestamp {
if x != nil {
return x.GeneratedTime
}
return nil
}
type isScheduleJob_Result interface {
isScheduleJob_Result()
}
type ScheduleJob_QueuedTaskId struct {
// If this job qualifies to kick off a suite test, suite scheduler
// creates a task to the task-queue and assigns an ID for tracking
// the execution.
QueuedTaskId string `protobuf:"bytes,3,opt,name=queued_task_id,json=queuedTaskId,proto3,oneof"`
}
type ScheduleJob_Justification struct {
// If the job failed to schedule a suite test, clarify the reason.
Justification string `protobuf:"bytes,4,opt,name=justification,proto3,oneof"`
}
func (*ScheduleJob_QueuedTaskId) isScheduleJob_Result() {}
func (*ScheduleJob_Justification) isScheduleJob_Result() {}
// ScheduleJobSection represents a schedule request configured in
// suite_scheduler.ini. Varying boards and models, a job section can
// have multiple suite tests scheduled.
type ScheduleJobSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// job_name is the name of a schedule request defined in config,
// e.g. “CrosAVAnalysis”.
JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
// Trigger to run jobs under this section.
ScheduleJobTrigger *ScheduleJobTrigger `protobuf:"bytes,2,opt,name=schedule_job_trigger,json=scheduleJobTrigger,proto3" json:"schedule_job_trigger,omitempty"`
// Specific models to run this suite.
Models []*device.ModelId `protobuf:"bytes,3,rep,name=models,proto3" json:"models,omitempty"`
// Specific boards to run this suite.
BuildTargets []*chromiumos.BuildTarget `protobuf:"bytes,4,rep,name=build_targets,json=buildTargets,proto3" json:"build_targets,omitempty"`
MatchedBuilds []*ScheduleJobSection_MatchedBuild `protobuf:"bytes,5,rep,name=matched_builds,json=matchedBuilds,proto3" json:"matched_builds,omitempty"`
// Jobs in this section.
ScheduleJobs []*ScheduleJob `protobuf:"bytes,6,rep,name=schedule_jobs,json=scheduleJobs,proto3" json:"schedule_jobs,omitempty"`
// The pool to run jobs in this section.
Pool string `protobuf:"bytes,7,opt,name=pool,proto3" json:"pool,omitempty"`
// The suite name this section to execute.
Suite string `protobuf:"bytes,8,opt,name=suite,proto3" json:"suite,omitempty"`
}
func (x *ScheduleJobSection) Reset() {
*x = ScheduleJobSection{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJobSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJobSection) ProtoMessage() {}
func (x *ScheduleJobSection) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJobSection.ProtoReflect.Descriptor instead.
func (*ScheduleJobSection) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{6}
}
func (x *ScheduleJobSection) GetJobName() string {
if x != nil {
return x.JobName
}
return ""
}
func (x *ScheduleJobSection) GetScheduleJobTrigger() *ScheduleJobTrigger {
if x != nil {
return x.ScheduleJobTrigger
}
return nil
}
func (x *ScheduleJobSection) GetModels() []*device.ModelId {
if x != nil {
return x.Models
}
return nil
}
func (x *ScheduleJobSection) GetBuildTargets() []*chromiumos.BuildTarget {
if x != nil {
return x.BuildTargets
}
return nil
}
func (x *ScheduleJobSection) GetMatchedBuilds() []*ScheduleJobSection_MatchedBuild {
if x != nil {
return x.MatchedBuilds
}
return nil
}
func (x *ScheduleJobSection) GetScheduleJobs() []*ScheduleJob {
if x != nil {
return x.ScheduleJobs
}
return nil
}
func (x *ScheduleJobSection) GetPool() string {
if x != nil {
return x.Pool
}
return ""
}
func (x *ScheduleJobSection) GetSuite() string {
if x != nil {
return x.Suite
}
return ""
}
// The response received from cros_test_platform.
type ExecutionResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// build id used in cros_test_platform.
CtpBuildId string `protobuf:"bytes,1,opt,name=ctp_build_id,json=ctpBuildId,proto3" json:"ctp_build_id,omitempty"`
}
func (x *ExecutionResponse) Reset() {
*x = ExecutionResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecutionResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecutionResponse) ProtoMessage() {}
func (x *ExecutionResponse) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ExecutionResponse.ProtoReflect.Descriptor instead.
func (*ExecutionResponse) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{7}
}
func (x *ExecutionResponse) GetCtpBuildId() string {
if x != nil {
return x.CtpBuildId
}
return ""
}
// The error message received from cros_test_platform.
type ExecutionError struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ErrorMessage string `protobuf:"bytes,1,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
}
func (x *ExecutionError) Reset() {
*x = ExecutionError{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecutionError) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecutionError) ProtoMessage() {}
func (x *ExecutionError) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ExecutionError.ProtoReflect.Descriptor instead.
func (*ExecutionError) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{8}
}
func (x *ExecutionError) GetErrorMessage() string {
if x != nil {
return x.ErrorMessage
}
return ""
}
// ExecutionTask bridges suite scheduler and cros_test_platform. With it,
// we could track the execution reuslt for a scheduled test.
type ExecutionTask struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The ID used in JobResult, to track suite's execution.
QueuedTaskId string `protobuf:"bytes,1,opt,name=queued_task_id,json=queuedTaskId,proto3" json:"queued_task_id,omitempty"`
// The scheduling result from cros_test_platform, either a build id
// error message.
//
// Types that are assignable to Result:
// *ExecutionTask_Response
// *ExecutionTask_Error
Result isExecutionTask_Result `protobuf_oneof:"result"`
// Request sent time in UTC.
RequestSent *timestamp.Timestamp `protobuf:"bytes,4,opt,name=request_sent,json=requestSent,proto3" json:"request_sent,omitempty"`
// The CTP request tag for grouping several ScheduleJobs into
// a multiple CTP request.
RequestTag string `protobuf:"bytes,5,opt,name=request_tag,json=requestTag,proto3" json:"request_tag,omitempty"`
}
func (x *ExecutionTask) Reset() {
*x = ExecutionTask{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExecutionTask) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExecutionTask) ProtoMessage() {}
func (x *ExecutionTask) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ExecutionTask.ProtoReflect.Descriptor instead.
func (*ExecutionTask) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{9}
}
func (x *ExecutionTask) GetQueuedTaskId() string {
if x != nil {
return x.QueuedTaskId
}
return ""
}
func (m *ExecutionTask) GetResult() isExecutionTask_Result {
if m != nil {
return m.Result
}
return nil
}
func (x *ExecutionTask) GetResponse() *ExecutionResponse {
if x, ok := x.GetResult().(*ExecutionTask_Response); ok {
return x.Response
}
return nil
}
func (x *ExecutionTask) GetError() *ExecutionError {
if x, ok := x.GetResult().(*ExecutionTask_Error); ok {
return x.Error
}
return nil
}
func (x *ExecutionTask) GetRequestSent() *timestamp.Timestamp {
if x != nil {
return x.RequestSent
}
return nil
}
func (x *ExecutionTask) GetRequestTag() string {
if x != nil {
return x.RequestTag
}
return ""
}
type isExecutionTask_Result interface {
isExecutionTask_Result()
}
type ExecutionTask_Response struct {
Response *ExecutionResponse `protobuf:"bytes,2,opt,name=response,proto3,oneof"`
}
type ExecutionTask_Error struct {
Error *ExecutionError `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
}
func (*ExecutionTask_Response) isExecutionTask_Result() {}
func (*ExecutionTask_Error) isExecutionTask_Result() {}
// WeeklyTrigger is for the suite test running every week.
// "day" is from 0 to 6.
type ScheduleJobTrigger_WeeklyTrigger struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day uint32 `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
}
func (x *ScheduleJobTrigger_WeeklyTrigger) Reset() {
*x = ScheduleJobTrigger_WeeklyTrigger{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJobTrigger_WeeklyTrigger) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJobTrigger_WeeklyTrigger) ProtoMessage() {}
func (x *ScheduleJobTrigger_WeeklyTrigger) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJobTrigger_WeeklyTrigger.ProtoReflect.Descriptor instead.
func (*ScheduleJobTrigger_WeeklyTrigger) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{4, 0}
}
func (x *ScheduleJobTrigger_WeeklyTrigger) GetDay() uint32 {
if x != nil {
return x.Day
}
return 0
}
// NightlyTrigger is for the suite test running every day.
// "hour" is from 0 to 23.
type ScheduleJobTrigger_NightlyTrigger struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hour uint32 `protobuf:"varint,1,opt,name=hour,proto3" json:"hour,omitempty"`
}
func (x *ScheduleJobTrigger_NightlyTrigger) Reset() {
*x = ScheduleJobTrigger_NightlyTrigger{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJobTrigger_NightlyTrigger) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJobTrigger_NightlyTrigger) ProtoMessage() {}
func (x *ScheduleJobTrigger_NightlyTrigger) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJobTrigger_NightlyTrigger.ProtoReflect.Descriptor instead.
func (*ScheduleJobTrigger_NightlyTrigger) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{4, 1}
}
func (x *ScheduleJobTrigger_NightlyTrigger) GetHour() uint32 {
if x != nil {
return x.Hour
}
return 0
}
// IntervalTrigger is for the suite test running every N times the
// scheduler operates.
type ScheduleJobTrigger_IntervalTrigger struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// pause represents the number of times scheduler skips this job
// once the job completed. If pause is zero, we pick this job
// whenever scheduler is kicked off.
Pause uint32 `protobuf:"varint,1,opt,name=pause,proto3" json:"pause,omitempty"`
}
func (x *ScheduleJobTrigger_IntervalTrigger) Reset() {
*x = ScheduleJobTrigger_IntervalTrigger{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJobTrigger_IntervalTrigger) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJobTrigger_IntervalTrigger) ProtoMessage() {}
func (x *ScheduleJobTrigger_IntervalTrigger) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJobTrigger_IntervalTrigger.ProtoReflect.Descriptor instead.
func (*ScheduleJobTrigger_IntervalTrigger) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{4, 2}
}
func (x *ScheduleJobTrigger_IntervalTrigger) GetPause() uint32 {
if x != nil {
return x.Pause
}
return 0
}
// The build matched with this job section on BuildTarget and BuildFilters.
type ScheduleJobSection_MatchedBuild struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to CrosBuild:
// *ScheduleJobSection_MatchedBuild_ReleaseBuild
// *ScheduleJobSection_MatchedBuild_RelaxBuild
// *ScheduleJobSection_MatchedBuild_FirmwareRoBuild
// *ScheduleJobSection_MatchedBuild_FirmwareRwBuild
CrosBuild isScheduleJobSection_MatchedBuild_CrosBuild `protobuf_oneof:"cros_build"`
}
func (x *ScheduleJobSection_MatchedBuild) Reset() {
*x = ScheduleJobSection_MatchedBuild{}
if protoimpl.UnsafeEnabled {
mi := &file_test_platform_suite_scheduler_analytics_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleJobSection_MatchedBuild) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleJobSection_MatchedBuild) ProtoMessage() {}
func (x *ScheduleJobSection_MatchedBuild) ProtoReflect() protoreflect.Message {
mi := &file_test_platform_suite_scheduler_analytics_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 ScheduleJobSection_MatchedBuild.ProtoReflect.Descriptor instead.
func (*ScheduleJobSection_MatchedBuild) Descriptor() ([]byte, []int) {
return file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP(), []int{6, 0}
}
func (m *ScheduleJobSection_MatchedBuild) GetCrosBuild() isScheduleJobSection_MatchedBuild_CrosBuild {
if m != nil {
return m.CrosBuild
}
return nil
}
func (x *ScheduleJobSection_MatchedBuild) GetReleaseBuild() *BuildInfo {
if x, ok := x.GetCrosBuild().(*ScheduleJobSection_MatchedBuild_ReleaseBuild); ok {
return x.ReleaseBuild
}
return nil
}
func (x *ScheduleJobSection_MatchedBuild) GetRelaxBuild() *BuildInfo {
if x, ok := x.GetCrosBuild().(*ScheduleJobSection_MatchedBuild_RelaxBuild); ok {
return x.RelaxBuild
}
return nil
}
func (x *ScheduleJobSection_MatchedBuild) GetFirmwareRoBuild() *FirmwareBuildInfo {
if x, ok := x.GetCrosBuild().(*ScheduleJobSection_MatchedBuild_FirmwareRoBuild); ok {
return x.FirmwareRoBuild
}
return nil
}
func (x *ScheduleJobSection_MatchedBuild) GetFirmwareRwBuild() *FirmwareBuildInfo {
if x, ok := x.GetCrosBuild().(*ScheduleJobSection_MatchedBuild_FirmwareRwBuild); ok {
return x.FirmwareRwBuild
}
return nil
}
type isScheduleJobSection_MatchedBuild_CrosBuild interface {
isScheduleJobSection_MatchedBuild_CrosBuild()
}
type ScheduleJobSection_MatchedBuild_ReleaseBuild struct {
// The release build information.
ReleaseBuild *BuildInfo `protobuf:"bytes,1,opt,name=release_build,json=releaseBuild,proto3,oneof"`
}
type ScheduleJobSection_MatchedBuild_RelaxBuild struct {
// relax_builds are the builds failed but met the relaxed success
// requirement. Relax builds are for the suite job configured
// "only_hwtest_sanity_required: True".
RelaxBuild *BuildInfo `protobuf:"bytes,2,opt,name=relax_build,json=relaxBuild,proto3,oneof"`
}
type ScheduleJobSection_MatchedBuild_FirmwareRoBuild struct {
// The firmware build information.
FirmwareRoBuild *FirmwareBuildInfo `protobuf:"bytes,3,opt,name=firmware_ro_build,json=firmwareRoBuild,proto3,oneof"`
}
type ScheduleJobSection_MatchedBuild_FirmwareRwBuild struct {
FirmwareRwBuild *FirmwareBuildInfo `protobuf:"bytes,4,opt,name=firmware_rw_build,json=firmwareRwBuild,proto3,oneof"`
}
func (*ScheduleJobSection_MatchedBuild_ReleaseBuild) isScheduleJobSection_MatchedBuild_CrosBuild() {}
func (*ScheduleJobSection_MatchedBuild_RelaxBuild) isScheduleJobSection_MatchedBuild_CrosBuild() {}
func (*ScheduleJobSection_MatchedBuild_FirmwareRoBuild) isScheduleJobSection_MatchedBuild_CrosBuild() {
}
func (*ScheduleJobSection_MatchedBuild_FirmwareRwBuild) isScheduleJobSection_MatchedBuild_CrosBuild() {
}
var File_test_platform_suite_scheduler_analytics_proto protoreflect.FileDescriptor
var file_test_platform_suite_scheduler_analytics_proto_rawDesc = []byte{
0x0a, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f,
0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x1d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73,
0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x1a, 0x1c,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72,
0x67, 0x65, 0x74, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x2a,
0x0a, 0x11, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x5f, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x68, 0x72, 0x6f, 0x6d,
0x65, 0x4f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79,
0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x61,
0x6e, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x01,
0x0a, 0x11, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x72,
0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67,
0x65, 0x74, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63,
0x68, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72,
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0xc2, 0x02, 0x0a, 0x0c, 0x42, 0x72, 0x61, 0x6e, 0x63,
0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x46,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63,
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x50, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x46,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08,
0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x67, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6c, 0x61, 0x67, 0x22, 0x4c, 0x0a, 0x07, 0x43, 0x68,
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x52, 0x41, 0x4e, 0x43, 0x48, 0x5f,
0x52, 0x45, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a,
0x06, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x45, 0x56,
0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06,
0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x22, 0x31, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x6f, 0x72, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45,
0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47,
0x45, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x03, 0x22, 0xc9, 0x02, 0x0a, 0x0c,
0x42, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x1b,
0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x68, 0x77, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x61, 0x6e, 0x69,
0x74, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x18, 0x6f, 0x6e, 0x6c, 0x79, 0x48, 0x77, 0x74, 0x65, 0x73, 0x74, 0x53, 0x61, 0x6e,
0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x0e, 0x62,
0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x52, 0x0d, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12,
0x52, 0x0a, 0x16, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x5f, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x1d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x72, 0x61,
0x6e, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13,
0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53,
0x70, 0x65, 0x63, 0x12, 0x52, 0x0a, 0x16, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f,
0x72, 0x77, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73,
0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x54, 0x79,
0x70, 0x65, 0x52, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x77, 0x42, 0x75,
0x69, 0x6c, 0x64, 0x53, 0x70, 0x65, 0x63, 0x22, 0xfd, 0x03, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x59,
0x0a, 0x06, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f,
0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73,
0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
0x72, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48,
0x00, 0x52, 0x06, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x12, 0x5c, 0x0a, 0x07, 0x6e, 0x69, 0x67,
0x68, 0x74, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65,
0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x4e, 0x69,
0x67, 0x68, 0x74, 0x6c, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07,
0x6e, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x12, 0x5f, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72,
0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74,
0x65, 0x72, 0x76, 0x61, 0x6c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08,
0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x42, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0c, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x21, 0x0a, 0x0d, 0x57, 0x65,
0x65, 0x6b, 0x6c, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x64,
0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x64, 0x61, 0x79, 0x1a, 0x24, 0x0a,
0x0e, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12,
0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68,
0x6f, 0x75, 0x72, 0x1a, 0x27, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x54,
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07,
0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x8d, 0x02, 0x0a, 0x0b, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x3a,
0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x71, 0x75,
0x65, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b,
0x49, 0x64, 0x12, 0x26, 0x0a, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6a, 0x75, 0x73,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0e, 0x67, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d,
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a,
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xda, 0x06, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19,
0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x14, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x27,
0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x52,
0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c,
0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61,
0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x65, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64,
0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e,
0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75,
0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x0d, 0x6d,
0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x4f, 0x0a, 0x0d,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x52,
0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x12, 0x0a,
0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x6f,
0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x75, 0x69, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x73, 0x75, 0x69, 0x74, 0x65, 0x1a, 0xfa, 0x02, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x65, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x65,
0x61, 0x73, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x28, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6c,
0x65, 0x61, 0x73, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x72, 0x65, 0x6c,
0x61, 0x78, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73,
0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x42,
0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61,
0x78, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x5e, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61,
0x72, 0x65, 0x5f, 0x72, 0x6f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x30, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52,
0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x5e, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61,
0x72, 0x65, 0x5f, 0x72, 0x77, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x30, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49,
0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52,
0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x73, 0x5f, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x22, 0x35, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x74, 0x70,
0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x63, 0x74, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x0e, 0x45,
0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a,
0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x74,
0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75,
0x65, 0x75, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x72, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69,
0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x45, 0x78, 0x65,
0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6e,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x74,
0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x61,
0x67, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x49, 0x5a, 0x47, 0x67,
0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_test_platform_suite_scheduler_analytics_proto_rawDescOnce sync.Once
file_test_platform_suite_scheduler_analytics_proto_rawDescData = file_test_platform_suite_scheduler_analytics_proto_rawDesc
)
func file_test_platform_suite_scheduler_analytics_proto_rawDescGZIP() []byte {
file_test_platform_suite_scheduler_analytics_proto_rawDescOnce.Do(func() {
file_test_platform_suite_scheduler_analytics_proto_rawDescData = protoimpl.X.CompressGZIP(file_test_platform_suite_scheduler_analytics_proto_rawDescData)
})
return file_test_platform_suite_scheduler_analytics_proto_rawDescData
}
var file_test_platform_suite_scheduler_analytics_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_test_platform_suite_scheduler_analytics_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_test_platform_suite_scheduler_analytics_proto_goTypes = []interface{}{
(BranchFilter_Channel)(0), // 0: test_platform.suite_scheduler.BranchFilter.Channel
(BranchFilter_Operator)(0), // 1: test_platform.suite_scheduler.BranchFilter.Operator
(*BuildInfo)(nil), // 2: test_platform.suite_scheduler.BuildInfo
(*FirmwareBuildInfo)(nil), // 3: test_platform.suite_scheduler.FirmwareBuildInfo
(*BranchFilter)(nil), // 4: test_platform.suite_scheduler.BranchFilter
(*BuildFilters)(nil), // 5: test_platform.suite_scheduler.BuildFilters
(*ScheduleJobTrigger)(nil), // 6: test_platform.suite_scheduler.ScheduleJobTrigger
(*ScheduleJob)(nil), // 7: test_platform.suite_scheduler.ScheduleJob
(*ScheduleJobSection)(nil), // 8: test_platform.suite_scheduler.ScheduleJobSection
(*ExecutionResponse)(nil), // 9: test_platform.suite_scheduler.ExecutionResponse
(*ExecutionError)(nil), // 10: test_platform.suite_scheduler.ExecutionError
(*ExecutionTask)(nil), // 11: test_platform.suite_scheduler.ExecutionTask
(*ScheduleJobTrigger_WeeklyTrigger)(nil), // 12: test_platform.suite_scheduler.ScheduleJobTrigger.WeeklyTrigger
(*ScheduleJobTrigger_NightlyTrigger)(nil), // 13: test_platform.suite_scheduler.ScheduleJobTrigger.NightlyTrigger
(*ScheduleJobTrigger_IntervalTrigger)(nil), // 14: test_platform.suite_scheduler.ScheduleJobTrigger.IntervalTrigger
(*ScheduleJobSection_MatchedBuild)(nil), // 15: test_platform.suite_scheduler.ScheduleJobSection.MatchedBuild
(*chromiumos.BuildTarget)(nil), // 16: chromiumos.BuildTarget
(chromiumos.Branch_BranchType)(0), // 17: chromiumos.Branch.BranchType
(*api.Artifact)(nil), // 18: chromite.api.Artifact
(*device.ModelId)(nil), // 19: device.ModelId
(*timestamp.Timestamp)(nil), // 20: google.protobuf.Timestamp
}
var file_test_platform_suite_scheduler_analytics_proto_depIdxs = []int32{
16, // 0: test_platform.suite_scheduler.BuildInfo.build_target:type_name -> chromiumos.BuildTarget
17, // 1: test_platform.suite_scheduler.BuildInfo.type:type_name -> chromiumos.Branch.BranchType
16, // 2: test_platform.suite_scheduler.FirmwareBuildInfo.build_target:type_name -> chromiumos.BuildTarget
17, // 3: test_platform.suite_scheduler.FirmwareBuildInfo.type:type_name -> chromiumos.Branch.BranchType
18, // 4: test_platform.suite_scheduler.FirmwareBuildInfo.artifact:type_name -> chromite.api.Artifact
0, // 5: test_platform.suite_scheduler.BranchFilter.channel:type_name -> test_platform.suite_scheduler.BranchFilter.Channel
1, // 6: test_platform.suite_scheduler.BranchFilter.operator:type_name -> test_platform.suite_scheduler.BranchFilter.Operator
4, // 7: test_platform.suite_scheduler.BuildFilters.branch_filters:type_name -> test_platform.suite_scheduler.BranchFilter
17, // 8: test_platform.suite_scheduler.BuildFilters.firmware_ro_build_spec:type_name -> chromiumos.Branch.BranchType
17, // 9: test_platform.suite_scheduler.BuildFilters.firmware_rw_build_spec:type_name -> chromiumos.Branch.BranchType
12, // 10: test_platform.suite_scheduler.ScheduleJobTrigger.weekly:type_name -> test_platform.suite_scheduler.ScheduleJobTrigger.WeeklyTrigger
13, // 11: test_platform.suite_scheduler.ScheduleJobTrigger.nightly:type_name -> test_platform.suite_scheduler.ScheduleJobTrigger.NightlyTrigger
14, // 12: test_platform.suite_scheduler.ScheduleJobTrigger.interval:type_name -> test_platform.suite_scheduler.ScheduleJobTrigger.IntervalTrigger
5, // 13: test_platform.suite_scheduler.ScheduleJobTrigger.build_filters:type_name -> test_platform.suite_scheduler.BuildFilters
19, // 14: test_platform.suite_scheduler.ScheduleJob.model:type_name -> device.ModelId
16, // 15: test_platform.suite_scheduler.ScheduleJob.build_target:type_name -> chromiumos.BuildTarget
20, // 16: test_platform.suite_scheduler.ScheduleJob.generated_time:type_name -> google.protobuf.Timestamp
6, // 17: test_platform.suite_scheduler.ScheduleJobSection.schedule_job_trigger:type_name -> test_platform.suite_scheduler.ScheduleJobTrigger
19, // 18: test_platform.suite_scheduler.ScheduleJobSection.models:type_name -> device.ModelId
16, // 19: test_platform.suite_scheduler.ScheduleJobSection.build_targets:type_name -> chromiumos.BuildTarget
15, // 20: test_platform.suite_scheduler.ScheduleJobSection.matched_builds:type_name -> test_platform.suite_scheduler.ScheduleJobSection.MatchedBuild
7, // 21: test_platform.suite_scheduler.ScheduleJobSection.schedule_jobs:type_name -> test_platform.suite_scheduler.ScheduleJob
9, // 22: test_platform.suite_scheduler.ExecutionTask.response:type_name -> test_platform.suite_scheduler.ExecutionResponse
10, // 23: test_platform.suite_scheduler.ExecutionTask.error:type_name -> test_platform.suite_scheduler.ExecutionError
20, // 24: test_platform.suite_scheduler.ExecutionTask.request_sent:type_name -> google.protobuf.Timestamp
2, // 25: test_platform.suite_scheduler.ScheduleJobSection.MatchedBuild.release_build:type_name -> test_platform.suite_scheduler.BuildInfo
2, // 26: test_platform.suite_scheduler.ScheduleJobSection.MatchedBuild.relax_build:type_name -> test_platform.suite_scheduler.BuildInfo
3, // 27: test_platform.suite_scheduler.ScheduleJobSection.MatchedBuild.firmware_ro_build:type_name -> test_platform.suite_scheduler.FirmwareBuildInfo
3, // 28: test_platform.suite_scheduler.ScheduleJobSection.MatchedBuild.firmware_rw_build:type_name -> test_platform.suite_scheduler.FirmwareBuildInfo
29, // [29:29] is the sub-list for method output_type
29, // [29:29] is the sub-list for method input_type
29, // [29:29] is the sub-list for extension type_name
29, // [29:29] is the sub-list for extension extendee
0, // [0:29] is the sub-list for field type_name
}
func init() { file_test_platform_suite_scheduler_analytics_proto_init() }
func file_test_platform_suite_scheduler_analytics_proto_init() {
if File_test_platform_suite_scheduler_analytics_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_test_platform_suite_scheduler_analytics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FirmwareBuildInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BranchFilter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildFilters); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJobTrigger); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJob); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJobSection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecutionResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecutionError); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExecutionTask); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJobTrigger_WeeklyTrigger); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJobTrigger_NightlyTrigger); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJobTrigger_IntervalTrigger); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleJobSection_MatchedBuild); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[4].OneofWrappers = []interface{}{
(*ScheduleJobTrigger_Weekly)(nil),
(*ScheduleJobTrigger_Nightly)(nil),
(*ScheduleJobTrigger_Interval)(nil),
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[5].OneofWrappers = []interface{}{
(*ScheduleJob_QueuedTaskId)(nil),
(*ScheduleJob_Justification)(nil),
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[9].OneofWrappers = []interface{}{
(*ExecutionTask_Response)(nil),
(*ExecutionTask_Error)(nil),
}
file_test_platform_suite_scheduler_analytics_proto_msgTypes[13].OneofWrappers = []interface{}{
(*ScheduleJobSection_MatchedBuild_ReleaseBuild)(nil),
(*ScheduleJobSection_MatchedBuild_RelaxBuild)(nil),
(*ScheduleJobSection_MatchedBuild_FirmwareRoBuild)(nil),
(*ScheduleJobSection_MatchedBuild_FirmwareRwBuild)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_test_platform_suite_scheduler_analytics_proto_rawDesc,
NumEnums: 2,
NumMessages: 14,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_test_platform_suite_scheduler_analytics_proto_goTypes,
DependencyIndexes: file_test_platform_suite_scheduler_analytics_proto_depIdxs,
EnumInfos: file_test_platform_suite_scheduler_analytics_proto_enumTypes,
MessageInfos: file_test_platform_suite_scheduler_analytics_proto_msgTypes,
}.Build()
File_test_platform_suite_scheduler_analytics_proto = out.File
file_test_platform_suite_scheduler_analytics_proto_rawDesc = nil
file_test_platform_suite_scheduler_analytics_proto_goTypes = nil
file_test_platform_suite_scheduler_analytics_proto_depIdxs = nil
}