blob: cc046fe1733d07e9d9c2b995825ab2943092b33a [file] [log] [blame]
// Copyright 2020 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// WARNING: DO NOT USE these protos outside of suite scheduler. This is
// only intended to help the transition to starlark configs. It will
// be deprecated once the new replacement is in place.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.17.1
// source: testplans/suite_scheduler.proto
package testplans
import (
api "go.chromium.org/chromiumos/config/go/test/api"
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)
)
// Branches that can be targeted.
type Branch int32
const (
Branch_BRANCH_UNSPECIFIED Branch = 0
// Canary Branch or ToT.
Branch_CANARY Branch = 1
// Dev Branch or ToT-1.
Branch_DEV Branch = 2
// Beta Branch or ToT-2.
Branch_BETA Branch = 3
// Stable Branch or ToT-3.
Branch_STABLE Branch = 4
// Long term support tracking branch. This channel does not follow a ToT-N
// schema.
Branch_LTS Branch = 5
)
// Enum value maps for Branch.
var (
Branch_name = map[int32]string{
0: "BRANCH_UNSPECIFIED",
1: "CANARY",
2: "DEV",
3: "BETA",
4: "STABLE",
5: "LTS",
}
Branch_value = map[string]int32{
"BRANCH_UNSPECIFIED": 0,
"CANARY": 1,
"DEV": 2,
"BETA": 3,
"STABLE": 4,
"LTS": 5,
}
)
func (x Branch) Enum() *Branch {
p := new(Branch)
*p = x
return p
}
func (x Branch) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Branch) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[0].Descriptor()
}
func (Branch) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[0]
}
func (x Branch) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Branch.Descriptor instead.
func (Branch) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{0}
}
// Whether to use firmware from ToT or firmware branch.
type SchedulerConfig_FirmwareBranch int32
const (
SchedulerConfig_UNSPECIFIED SchedulerConfig_FirmwareBranch = 0
// Canary Branch or ToT.
SchedulerConfig_CROS SchedulerConfig_FirmwareBranch = 1
// Firmware branch.
SchedulerConfig_FIRMWARE SchedulerConfig_FirmwareBranch = 2
// Dev Branch or ToT-1.
SchedulerConfig_DEV SchedulerConfig_FirmwareBranch = 3
// Beta Branch or ToT-2.
SchedulerConfig_BETA SchedulerConfig_FirmwareBranch = 4
// Stable Branch or ToT-3.
SchedulerConfig_STABLE SchedulerConfig_FirmwareBranch = 5
)
// Enum value maps for SchedulerConfig_FirmwareBranch.
var (
SchedulerConfig_FirmwareBranch_name = map[int32]string{
0: "UNSPECIFIED",
1: "CROS",
2: "FIRMWARE",
3: "DEV",
4: "BETA",
5: "STABLE",
}
SchedulerConfig_FirmwareBranch_value = map[string]int32{
"UNSPECIFIED": 0,
"CROS": 1,
"FIRMWARE": 2,
"DEV": 3,
"BETA": 4,
"STABLE": 5,
}
)
func (x SchedulerConfig_FirmwareBranch) Enum() *SchedulerConfig_FirmwareBranch {
p := new(SchedulerConfig_FirmwareBranch)
*p = x
return p
}
func (x SchedulerConfig_FirmwareBranch) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SchedulerConfig_FirmwareBranch) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[1].Descriptor()
}
func (SchedulerConfig_FirmwareBranch) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[1]
}
func (x SchedulerConfig_FirmwareBranch) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SchedulerConfig_FirmwareBranch.Descriptor instead.
func (SchedulerConfig_FirmwareBranch) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 0}
}
type SchedulerConfig_TriggerType int32
const (
SchedulerConfig_TRIGGER_UNSPECIFIED SchedulerConfig_TriggerType = 0
// Trigger test whenever there is a new build for the primary board.
SchedulerConfig_PRIMARY SchedulerConfig_TriggerType = 1
// Trigger test when every board in the group has a new build.
SchedulerConfig_ALL SchedulerConfig_TriggerType = 2
)
// Enum value maps for SchedulerConfig_TriggerType.
var (
SchedulerConfig_TriggerType_name = map[int32]string{
0: "TRIGGER_UNSPECIFIED",
1: "PRIMARY",
2: "ALL",
}
SchedulerConfig_TriggerType_value = map[string]int32{
"TRIGGER_UNSPECIFIED": 0,
"PRIMARY": 1,
"ALL": 2,
}
)
func (x SchedulerConfig_TriggerType) Enum() *SchedulerConfig_TriggerType {
p := new(SchedulerConfig_TriggerType)
*p = x
return p
}
func (x SchedulerConfig_TriggerType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SchedulerConfig_TriggerType) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[2].Descriptor()
}
func (SchedulerConfig_TriggerType) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[2]
}
func (x SchedulerConfig_TriggerType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SchedulerConfig_TriggerType.Descriptor instead.
func (SchedulerConfig_TriggerType) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 1}
}
// LaunchProfile defines how often the suite is launched.
type SchedulerConfig_LaunchCriteria_LaunchProfile int32
const (
SchedulerConfig_LaunchCriteria_UNSPECIFIED SchedulerConfig_LaunchCriteria_LaunchProfile = 0
// Run on every new release build of the boards/variants targeted.
SchedulerConfig_LaunchCriteria_NEW_BUILD SchedulerConfig_LaunchCriteria_LaunchProfile = 1
// Run once a day at the specified hour. Used to be "NIGHTLY".
SchedulerConfig_LaunchCriteria_DAILY SchedulerConfig_LaunchCriteria_LaunchProfile = 2
// Run once a week at the specified time.
SchedulerConfig_LaunchCriteria_WEEKLY SchedulerConfig_LaunchCriteria_LaunchProfile = 3
// NOT SUPPORTED. Will be supported in the redesign.
SchedulerConfig_LaunchCriteria_CRON_BASED SchedulerConfig_LaunchCriteria_LaunchProfile = 4
// Run once every other week at the specified time
SchedulerConfig_LaunchCriteria_FORTNIGHTLY SchedulerConfig_LaunchCriteria_LaunchProfile = 5
// Run on when all release build of the boards/variants targeted in lab
// config have finished.
SchedulerConfig_LaunchCriteria_NEW_BUILD_3D SchedulerConfig_LaunchCriteria_LaunchProfile = 6
)
// Enum value maps for SchedulerConfig_LaunchCriteria_LaunchProfile.
var (
SchedulerConfig_LaunchCriteria_LaunchProfile_name = map[int32]string{
0: "UNSPECIFIED",
1: "NEW_BUILD",
2: "DAILY",
3: "WEEKLY",
4: "CRON_BASED",
5: "FORTNIGHTLY",
6: "NEW_BUILD_3D",
}
SchedulerConfig_LaunchCriteria_LaunchProfile_value = map[string]int32{
"UNSPECIFIED": 0,
"NEW_BUILD": 1,
"DAILY": 2,
"WEEKLY": 3,
"CRON_BASED": 4,
"FORTNIGHTLY": 5,
"NEW_BUILD_3D": 6,
}
)
func (x SchedulerConfig_LaunchCriteria_LaunchProfile) Enum() *SchedulerConfig_LaunchCriteria_LaunchProfile {
p := new(SchedulerConfig_LaunchCriteria_LaunchProfile)
*p = x
return p
}
func (x SchedulerConfig_LaunchCriteria_LaunchProfile) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SchedulerConfig_LaunchCriteria_LaunchProfile) Descriptor() protoreflect.EnumDescriptor {
return file_testplans_suite_scheduler_proto_enumTypes[3].Descriptor()
}
func (SchedulerConfig_LaunchCriteria_LaunchProfile) Type() protoreflect.EnumType {
return &file_testplans_suite_scheduler_proto_enumTypes[3]
}
func (x SchedulerConfig_LaunchCriteria_LaunchProfile) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SchedulerConfig_LaunchCriteria_LaunchProfile.Descriptor instead.
func (SchedulerConfig_LaunchCriteria_LaunchProfile) EnumDescriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 1, 0}
}
// Defines a board, its variants and its models.
type Board struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the board. Eg: eve.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// List of variants assiciated with the board.
// This should only be the suffixes. Eg: ['-kernelnext'].
Variants []string `protobuf:"bytes,2,rep,name=variants,proto3" json:"variants,omitempty"`
// List of models of the boards to test on.
Models []string `protobuf:"bytes,3,rep,name=models,proto3" json:"models,omitempty"`
}
func (x *Board) Reset() {
*x = Board{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Board) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Board) ProtoMessage() {}
func (x *Board) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 Board.ProtoReflect.Descriptor instead.
func (*Board) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{0}
}
func (x *Board) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Board) GetVariants() []string {
if x != nil {
return x.Variants
}
return nil
}
func (x *Board) GetModels() []string {
if x != nil {
return x.Models
}
return nil
}
// Aims to reflect data in lab_config.ini.
type LabConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of board definitions for ChromeOS.
Boards []*Board `protobuf:"bytes,1,rep,name=boards,proto3" json:"boards,omitempty"`
// List of board definitions for Android.
AndroidBoards []*Board `protobuf:"bytes,2,rep,name=android_boards,json=androidBoards,proto3" json:"android_boards,omitempty"`
}
func (x *LabConfig) Reset() {
*x = LabConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LabConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LabConfig) ProtoMessage() {}
func (x *LabConfig) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 LabConfig.ProtoReflect.Descriptor instead.
func (*LabConfig) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{1}
}
func (x *LabConfig) GetBoards() []*Board {
if x != nil {
return x.Boards
}
return nil
}
func (x *LabConfig) GetAndroidBoards() []*Board {
if x != nil {
return x.AndroidBoards
}
return nil
}
// Specify a Board and Variant pair.
type BoardVariant struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Board string `protobuf:"bytes,1,opt,name=board,proto3" json:"board,omitempty"`
Variant string `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
}
func (x *BoardVariant) Reset() {
*x = BoardVariant{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BoardVariant) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BoardVariant) ProtoMessage() {}
func (x *BoardVariant) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 BoardVariant.ProtoReflect.Descriptor instead.
func (*BoardVariant) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{2}
}
func (x *BoardVariant) GetBoard() string {
if x != nil {
return x.Board
}
return ""
}
func (x *BoardVariant) GetVariant() string {
if x != nil {
return x.Variant
}
return ""
}
// Most fields are the same as suite_scheduler.ini just better organized.
// The entries will be used to generate a suite_scheduler.ini in starlark
// scripts. next: 23
type SchedulerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the config. Needs to be unique.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Name of the suite to run.
Suite string `protobuf:"bytes,2,opt,name=suite,proto3" json:"suite,omitempty"`
Contacts []*SchedulerConfig_Contact `protobuf:"bytes,3,rep,name=contacts,proto3" json:"contacts,omitempty"`
LaunchCriteria *SchedulerConfig_LaunchCriteria `protobuf:"bytes,4,opt,name=launch_criteria,json=launchCriteria,proto3" json:"launch_criteria,omitempty"`
// Branches to target.
Branches []Branch `protobuf:"varint,5,rep,packed,name=branches,proto3,enum=testplans.Branch" json:"branches,omitempty"`
TargetOptions *SchedulerConfig_TargetOptions `protobuf:"bytes,6,opt,name=target_options,json=targetOptions,proto3" json:"target_options,omitempty"`
PoolOptions *SchedulerConfig_PoolOptions `protobuf:"bytes,7,opt,name=pool_options,json=poolOptions,proto3" json:"pool_options,omitempty"`
// Assume as AP build.
//
// Types that are assignable to FirmwareRo:
// *SchedulerConfig_FirmwareRoBuildSpec
// *SchedulerConfig_FirmwareRoVersion
FirmwareRo isSchedulerConfig_FirmwareRo `protobuf_oneof:"firmware_ro"`
// Assume as AP build.
//
// Types that are assignable to FirmwareRw:
// *SchedulerConfig_FirmwareRwBuildSpec
// *SchedulerConfig_FirmwareRwVersion
FirmwareRw isSchedulerConfig_FirmwareRw `protobuf_oneof:"firmware_rw"`
// Types that are assignable to FirmwareEcRo:
// *SchedulerConfig_FirmwareEcRoBuildSpec
// *SchedulerConfig_FirmwareEcRoVersion
FirmwareEcRo isSchedulerConfig_FirmwareEcRo `protobuf_oneof:"firmware_ec_ro"`
// Types that are assignable to FirmwareEcRw:
// *SchedulerConfig_FirmwareEcRwBuildSpec
// *SchedulerConfig_FirmwareEcRwVersion
FirmwareEcRw isSchedulerConfig_FirmwareEcRw `protobuf_oneof:"firmware_ec_rw"`
// The name of the firmware branch to use for firmware_ro_build_spec
// and firmware_rw_build_spec is normally the derived from the board.
// Set firmware_board_name to override this.
FirmwareBoardName string `protobuf:"bytes,14,opt,name=firmware_board_name,json=firmwareBoardName,proto3" json:"firmware_board_name,omitempty"`
RunOptions *SchedulerConfig_RunOptions `protobuf:"bytes,9,opt,name=run_options,json=runOptions,proto3" json:"run_options,omitempty"`
// Name of the config, used for analytics. Does not have to be unique.
AnalyticsName string `protobuf:"bytes,10,opt,name=analytics_name,json=analyticsName,proto3" json:"analytics_name,omitempty"`
// The android image version for android provisioning
AndroidImageVersion string `protobuf:"bytes,15,opt,name=android_image_version,json=androidImageVersion,proto3" json:"android_image_version,omitempty"`
// GMSCORE cipd package ref for android provisioning
GmsCorePackage string `protobuf:"bytes,16,opt,name=gms_core_package,json=gmsCorePackage,proto3" json:"gms_core_package,omitempty"`
// List of Karbon Filters for the ctpv2 request object.
// To be converted to json str for config generation.
KarbonFilters []*api.CTPFilter `protobuf:"bytes,17,rep,name=karbon_filters,json=karbonFilters,proto3" json:"karbon_filters,omitempty"`
// List of Koffee Filters for the ctpv2 request object.
// To be converted to json str for config generation.
KoffeeFilters []*api.CTPFilter `protobuf:"bytes,18,rep,name=koffee_filters,json=koffeeFilters,proto3" json:"koffee_filters,omitempty"`
// Args will be provided to the respective test harness.
TestArgs string `protobuf:"bytes,23,opt,name=test_args,json=testArgs,proto3" json:"test_args,omitempty"`
// if enable_autotest_sharding is True, then autotest tests will be sharded.
EnableAutotestSharding bool `protobuf:"varint,24,opt,name=enable_autotest_sharding,json=enableAutotestSharding,proto3" json:"enable_autotest_sharding,omitempty"`
// If set the suite will be run using CTPv2, using the 3D solver to determine
// hardware Note all tests within this suite/group *must* have a 3d expression
// set in the respective harness
DddSuite bool `protobuf:"varint,25,opt,name=ddd_suite,json=dddSuite,proto3" json:"ddd_suite,omitempty"`
}
func (x *SchedulerConfig) Reset() {
*x = SchedulerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig) ProtoMessage() {}
func (x *SchedulerConfig) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig.ProtoReflect.Descriptor instead.
func (*SchedulerConfig) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3}
}
func (x *SchedulerConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SchedulerConfig) GetSuite() string {
if x != nil {
return x.Suite
}
return ""
}
func (x *SchedulerConfig) GetContacts() []*SchedulerConfig_Contact {
if x != nil {
return x.Contacts
}
return nil
}
func (x *SchedulerConfig) GetLaunchCriteria() *SchedulerConfig_LaunchCriteria {
if x != nil {
return x.LaunchCriteria
}
return nil
}
func (x *SchedulerConfig) GetBranches() []Branch {
if x != nil {
return x.Branches
}
return nil
}
func (x *SchedulerConfig) GetTargetOptions() *SchedulerConfig_TargetOptions {
if x != nil {
return x.TargetOptions
}
return nil
}
func (x *SchedulerConfig) GetPoolOptions() *SchedulerConfig_PoolOptions {
if x != nil {
return x.PoolOptions
}
return nil
}
func (m *SchedulerConfig) GetFirmwareRo() isSchedulerConfig_FirmwareRo {
if m != nil {
return m.FirmwareRo
}
return nil
}
func (x *SchedulerConfig) GetFirmwareRoBuildSpec() SchedulerConfig_FirmwareBranch {
if x, ok := x.GetFirmwareRo().(*SchedulerConfig_FirmwareRoBuildSpec); ok {
return x.FirmwareRoBuildSpec
}
return SchedulerConfig_UNSPECIFIED
}
func (x *SchedulerConfig) GetFirmwareRoVersion() string {
if x, ok := x.GetFirmwareRo().(*SchedulerConfig_FirmwareRoVersion); ok {
return x.FirmwareRoVersion
}
return ""
}
func (m *SchedulerConfig) GetFirmwareRw() isSchedulerConfig_FirmwareRw {
if m != nil {
return m.FirmwareRw
}
return nil
}
func (x *SchedulerConfig) GetFirmwareRwBuildSpec() SchedulerConfig_FirmwareBranch {
if x, ok := x.GetFirmwareRw().(*SchedulerConfig_FirmwareRwBuildSpec); ok {
return x.FirmwareRwBuildSpec
}
return SchedulerConfig_UNSPECIFIED
}
func (x *SchedulerConfig) GetFirmwareRwVersion() string {
if x, ok := x.GetFirmwareRw().(*SchedulerConfig_FirmwareRwVersion); ok {
return x.FirmwareRwVersion
}
return ""
}
func (m *SchedulerConfig) GetFirmwareEcRo() isSchedulerConfig_FirmwareEcRo {
if m != nil {
return m.FirmwareEcRo
}
return nil
}
func (x *SchedulerConfig) GetFirmwareEcRoBuildSpec() SchedulerConfig_FirmwareBranch {
if x, ok := x.GetFirmwareEcRo().(*SchedulerConfig_FirmwareEcRoBuildSpec); ok {
return x.FirmwareEcRoBuildSpec
}
return SchedulerConfig_UNSPECIFIED
}
func (x *SchedulerConfig) GetFirmwareEcRoVersion() string {
if x, ok := x.GetFirmwareEcRo().(*SchedulerConfig_FirmwareEcRoVersion); ok {
return x.FirmwareEcRoVersion
}
return ""
}
func (m *SchedulerConfig) GetFirmwareEcRw() isSchedulerConfig_FirmwareEcRw {
if m != nil {
return m.FirmwareEcRw
}
return nil
}
func (x *SchedulerConfig) GetFirmwareEcRwBuildSpec() SchedulerConfig_FirmwareBranch {
if x, ok := x.GetFirmwareEcRw().(*SchedulerConfig_FirmwareEcRwBuildSpec); ok {
return x.FirmwareEcRwBuildSpec
}
return SchedulerConfig_UNSPECIFIED
}
func (x *SchedulerConfig) GetFirmwareEcRwVersion() string {
if x, ok := x.GetFirmwareEcRw().(*SchedulerConfig_FirmwareEcRwVersion); ok {
return x.FirmwareEcRwVersion
}
return ""
}
func (x *SchedulerConfig) GetFirmwareBoardName() string {
if x != nil {
return x.FirmwareBoardName
}
return ""
}
func (x *SchedulerConfig) GetRunOptions() *SchedulerConfig_RunOptions {
if x != nil {
return x.RunOptions
}
return nil
}
func (x *SchedulerConfig) GetAnalyticsName() string {
if x != nil {
return x.AnalyticsName
}
return ""
}
func (x *SchedulerConfig) GetAndroidImageVersion() string {
if x != nil {
return x.AndroidImageVersion
}
return ""
}
func (x *SchedulerConfig) GetGmsCorePackage() string {
if x != nil {
return x.GmsCorePackage
}
return ""
}
func (x *SchedulerConfig) GetKarbonFilters() []*api.CTPFilter {
if x != nil {
return x.KarbonFilters
}
return nil
}
func (x *SchedulerConfig) GetKoffeeFilters() []*api.CTPFilter {
if x != nil {
return x.KoffeeFilters
}
return nil
}
func (x *SchedulerConfig) GetTestArgs() string {
if x != nil {
return x.TestArgs
}
return ""
}
func (x *SchedulerConfig) GetEnableAutotestSharding() bool {
if x != nil {
return x.EnableAutotestSharding
}
return false
}
func (x *SchedulerConfig) GetDddSuite() bool {
if x != nil {
return x.DddSuite
}
return false
}
type isSchedulerConfig_FirmwareRo interface {
isSchedulerConfig_FirmwareRo()
}
type SchedulerConfig_FirmwareRoBuildSpec struct {
FirmwareRoBuildSpec SchedulerConfig_FirmwareBranch `protobuf:"varint,8,opt,name=firmware_ro_build_spec,json=firmwareRoBuildSpec,proto3,enum=testplans.SchedulerConfig_FirmwareBranch,oneof"`
}
type SchedulerConfig_FirmwareRoVersion struct {
// Pinned RO firmware path (e.g. coral-firmware/R64-10068.106.0)
// Uses firmware_from_source.tar.bz2 from this archive path
// instead of pulling from latest firmware-branch or cros-tot build.
FirmwareRoVersion string `protobuf:"bytes,11,opt,name=firmware_ro_version,json=firmwareRoVersion,proto3,oneof"`
}
func (*SchedulerConfig_FirmwareRoBuildSpec) isSchedulerConfig_FirmwareRo() {}
func (*SchedulerConfig_FirmwareRoVersion) isSchedulerConfig_FirmwareRo() {}
type isSchedulerConfig_FirmwareRw interface {
isSchedulerConfig_FirmwareRw()
}
type SchedulerConfig_FirmwareRwBuildSpec struct {
FirmwareRwBuildSpec SchedulerConfig_FirmwareBranch `protobuf:"varint,12,opt,name=firmware_rw_build_spec,json=firmwareRwBuildSpec,proto3,enum=testplans.SchedulerConfig_FirmwareBranch,oneof"`
}
type SchedulerConfig_FirmwareRwVersion struct {
// Pinned RW firmware path (e.g. coral-firmware/R64-10068.106.0)
// Uses firmware_from_source.tar.bz2 from this archive path
// instead of pulling from latest firmware-branch or cros-tot build.
FirmwareRwVersion string `protobuf:"bytes,13,opt,name=firmware_rw_version,json=firmwareRwVersion,proto3,oneof"`
}
func (*SchedulerConfig_FirmwareRwBuildSpec) isSchedulerConfig_FirmwareRw() {}
func (*SchedulerConfig_FirmwareRwVersion) isSchedulerConfig_FirmwareRw() {}
type isSchedulerConfig_FirmwareEcRo interface {
isSchedulerConfig_FirmwareEcRo()
}
type SchedulerConfig_FirmwareEcRoBuildSpec struct {
FirmwareEcRoBuildSpec SchedulerConfig_FirmwareBranch `protobuf:"varint,19,opt,name=firmware_ec_ro_build_spec,json=firmwareEcRoBuildSpec,proto3,enum=testplans.SchedulerConfig_FirmwareBranch,oneof"`
}
type SchedulerConfig_FirmwareEcRoVersion struct {
// Pinned RO firmware path (e.g. coral-firmware/R64-10068.106.0)
// Uses firmware_from_source.tar.bz2 from this archive path
// instead of pulling from latest firmware-branch or cros-tot build.
FirmwareEcRoVersion string `protobuf:"bytes,20,opt,name=firmware_ec_ro_version,json=firmwareEcRoVersion,proto3,oneof"`
}
func (*SchedulerConfig_FirmwareEcRoBuildSpec) isSchedulerConfig_FirmwareEcRo() {}
func (*SchedulerConfig_FirmwareEcRoVersion) isSchedulerConfig_FirmwareEcRo() {}
type isSchedulerConfig_FirmwareEcRw interface {
isSchedulerConfig_FirmwareEcRw()
}
type SchedulerConfig_FirmwareEcRwBuildSpec struct {
FirmwareEcRwBuildSpec SchedulerConfig_FirmwareBranch `protobuf:"varint,21,opt,name=firmware_ec_rw_build_spec,json=firmwareEcRwBuildSpec,proto3,enum=testplans.SchedulerConfig_FirmwareBranch,oneof"`
}
type SchedulerConfig_FirmwareEcRwVersion struct {
// Pinned RW firmware path (e.g. coral-firmware/R64-10068.106.0)
// Uses firmware_from_source.tar.bz2 from this archive path
// instead of pulling from latest firmware-branch or cros-tot build.
FirmwareEcRwVersion string `protobuf:"bytes,22,opt,name=firmware_ec_rw_version,json=firmwareEcRwVersion,proto3,oneof"`
}
func (*SchedulerConfig_FirmwareEcRwBuildSpec) isSchedulerConfig_FirmwareEcRw() {}
func (*SchedulerConfig_FirmwareEcRwVersion) isSchedulerConfig_FirmwareEcRw() {}
// A proto to contain all the configs.
type SchedulerCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Configs []*SchedulerConfig `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
}
func (x *SchedulerCfg) Reset() {
*x = SchedulerCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerCfg) ProtoMessage() {}
func (x *SchedulerCfg) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerCfg.ProtoReflect.Descriptor instead.
func (*SchedulerCfg) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{4}
}
func (x *SchedulerCfg) GetConfigs() []*SchedulerConfig {
if x != nil {
return x.Configs
}
return nil
}
// Contact emails will one day be paged in case of problems with the config.
type SchedulerConfig_Contact struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
}
func (x *SchedulerConfig_Contact) Reset() {
*x = SchedulerConfig_Contact{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_Contact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_Contact) ProtoMessage() {}
func (x *SchedulerConfig_Contact) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_Contact.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_Contact) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 0}
}
func (x *SchedulerConfig_Contact) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
// LaunchCriteria specifies when the suite should be launched.
type SchedulerConfig_LaunchCriteria struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LaunchProfile SchedulerConfig_LaunchCriteria_LaunchProfile `protobuf:"varint,1,opt,name=launch_profile,json=launchProfile,proto3,enum=testplans.SchedulerConfig_LaunchCriteria_LaunchProfile" json:"launch_profile,omitempty"`
// Hour at which to run. Needs to be specified for nightly and weekly
// profiles. Has to be [0, 23].
Hour int32 `protobuf:"varint,2,opt,name=hour,proto3" json:"hour,omitempty"`
// Day on which to run. Needs to be specified for weekly AND fortnightly
// profile. Has to be [0, 6].
Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
// NOT SUPPORTED. Cron compatible schedule eg: "* * 1,3,5 * *".
CronSchedule string `protobuf:"bytes,4,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"`
}
func (x *SchedulerConfig_LaunchCriteria) Reset() {
*x = SchedulerConfig_LaunchCriteria{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_LaunchCriteria) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_LaunchCriteria) ProtoMessage() {}
func (x *SchedulerConfig_LaunchCriteria) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_LaunchCriteria.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_LaunchCriteria) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 1}
}
func (x *SchedulerConfig_LaunchCriteria) GetLaunchProfile() SchedulerConfig_LaunchCriteria_LaunchProfile {
if x != nil {
return x.LaunchProfile
}
return SchedulerConfig_LaunchCriteria_UNSPECIFIED
}
func (x *SchedulerConfig_LaunchCriteria) GetHour() int32 {
if x != nil {
return x.Hour
}
return 0
}
func (x *SchedulerConfig_LaunchCriteria) GetDay() int32 {
if x != nil {
return x.Day
}
return 0
}
func (x *SchedulerConfig_LaunchCriteria) GetCronSchedule() string {
if x != nil {
return x.CronSchedule
}
return ""
}
// Set of boards, variants and models to target.
// next tag: 12
type SchedulerConfig_TargetOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Use at the most one among the two fields below. If boards_list is empty,
// all boards are targeted. exclude_boards will exclude those boards from
// the all boards list.
BoardsList []string `protobuf:"bytes,1,rep,name=boards_list,json=boardsList,proto3" json:"boards_list,omitempty"`
ExcludeBoards []string `protobuf:"bytes,2,rep,name=exclude_boards,json=excludeBoards,proto3" json:"exclude_boards,omitempty"`
// To specify variants, either all variants can be skipped.
SkipVariants bool `protobuf:"varint,8,opt,name=skip_variants,json=skipVariants,proto3" json:"skip_variants,omitempty"`
// OR use at the most one among the two fields below. If variants_list is
// empty, all variants are targeted. exclude_variants will exclude those
// variants from the all variants list.
VariantsList []*BoardVariant `protobuf:"bytes,3,rep,name=variants_list,json=variantsList,proto3" json:"variants_list,omitempty"`
ExcludeVariants []*BoardVariant `protobuf:"bytes,4,rep,name=exclude_variants,json=excludeVariants,proto3" json:"exclude_variants,omitempty"`
// There's two ways of specifying models. If all of these fields are empty,
// all possible models are targeted.
// Models to be targeted can be listed explicitly in models_list.
ModelsList []string `protobuf:"bytes,5,rep,name=models_list,json=modelsList,proto3" json:"models_list,omitempty"`
// OR start with the complete list and exclude some specific models.
// any_model only tests the suite on a single model.
AnyModel bool `protobuf:"varint,6,opt,name=any_model,json=anyModel,proto3" json:"any_model,omitempty"`
ExcludeModels []string `protobuf:"bytes,7,rep,name=exclude_models,json=excludeModels,proto3" json:"exclude_models,omitempty"`
// Option to speicify Mult-DUTs testing board/model, use only one of
// below options. When below multi-DUTs options are invoked, boards_list
// models_list, variants, and exclude control above will be ignored.
MultiDutsBoardsList []*SchedulerConfig_TargetOptions_MultiDutsByBoard `protobuf:"bytes,9,rep,name=multi_duts_boards_list,json=multiDutsBoardsList,proto3" json:"multi_duts_boards_list,omitempty"`
MultiDutsModelsList []*SchedulerConfig_TargetOptions_MultiDutsByModel `protobuf:"bytes,11,rep,name=multi_duts_models_list,json=multiDutsModelsList,proto3" json:"multi_duts_models_list,omitempty"`
}
func (x *SchedulerConfig_TargetOptions) Reset() {
*x = SchedulerConfig_TargetOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_TargetOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_TargetOptions) ProtoMessage() {}
func (x *SchedulerConfig_TargetOptions) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_TargetOptions.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_TargetOptions) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 2}
}
func (x *SchedulerConfig_TargetOptions) GetBoardsList() []string {
if x != nil {
return x.BoardsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetExcludeBoards() []string {
if x != nil {
return x.ExcludeBoards
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetSkipVariants() bool {
if x != nil {
return x.SkipVariants
}
return false
}
func (x *SchedulerConfig_TargetOptions) GetVariantsList() []*BoardVariant {
if x != nil {
return x.VariantsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetExcludeVariants() []*BoardVariant {
if x != nil {
return x.ExcludeVariants
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetModelsList() []string {
if x != nil {
return x.ModelsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetAnyModel() bool {
if x != nil {
return x.AnyModel
}
return false
}
func (x *SchedulerConfig_TargetOptions) GetExcludeModels() []string {
if x != nil {
return x.ExcludeModels
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetMultiDutsBoardsList() []*SchedulerConfig_TargetOptions_MultiDutsByBoard {
if x != nil {
return x.MultiDutsBoardsList
}
return nil
}
func (x *SchedulerConfig_TargetOptions) GetMultiDutsModelsList() []*SchedulerConfig_TargetOptions_MultiDutsByModel {
if x != nil {
return x.MultiDutsModelsList
}
return nil
}
// Aggregate of options related to DUT pool.
type SchedulerConfig_PoolOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Quota Scheduler account to use.
QsAccount string `protobuf:"bytes,1,opt,name=qs_account,json=qsAccount,proto3" json:"qs_account,omitempty"`
// Pool to schedule on.
Pool string `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
// Integer priority to assign. Only used by CTS. Quota scheduler takes care
// of priorities for the rest. Has to be [20, 255].
Priority int32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"`
}
func (x *SchedulerConfig_PoolOptions) Reset() {
*x = SchedulerConfig_PoolOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_PoolOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_PoolOptions) ProtoMessage() {}
func (x *SchedulerConfig_PoolOptions) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_PoolOptions.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_PoolOptions) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 3}
}
func (x *SchedulerConfig_PoolOptions) GetQsAccount() string {
if x != nil {
return x.QsAccount
}
return ""
}
func (x *SchedulerConfig_PoolOptions) GetPool() string {
if x != nil {
return x.Pool
}
return ""
}
func (x *SchedulerConfig_PoolOptions) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
// Execution related options.
type SchedulerConfig_RunOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Whether to retry if the task fails.
Retry bool `protobuf:"varint,1,opt,name=retry,proto3" json:"retry,omitempty"`
Dimensions []*SchedulerConfig_RunOptions_SwarmingDimension `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
// Timeout of the task.
TimeoutMins int32 `protobuf:"varint,3,opt,name=timeout_mins,json=timeoutMins,proto3" json:"timeout_mins,omitempty"`
// Use only_successful_build_required instead.
//
// Deprecated: Do not use.
OnlySanityTestRequired bool `protobuf:"varint,4,opt,name=only_sanity_test_required,json=onlySanityTestRequired,proto3" json:"only_sanity_test_required,omitempty"`
TriggerType SchedulerConfig_TriggerType `protobuf:"varint,5,opt,name=trigger_type,json=triggerType,proto3,enum=testplans.SchedulerConfig_TriggerType" json:"trigger_type,omitempty"`
// If build passed and was uploaded, launch this test.
OnlySuccessfulBuildRequired bool `protobuf:"varint,6,opt,name=only_successful_build_required,json=onlySuccessfulBuildRequired,proto3" json:"only_successful_build_required,omitempty"`
// If set, suite will be executed through CFT execution path.
RunViaCft bool `protobuf:"varint,7,opt,name=run_via_cft,json=runViaCft,proto3" json:"run_via_cft,omitempty"`
// Tags criteria that will be used to enumerate tests for CFT test execution
// workflow. Will only be used if run_via_cft is true.
TagCriteria *api.TestSuite_TestCaseTagCriteria `protobuf:"bytes,8,opt,name=tag_criteria,json=tagCriteria,proto3" json:"tag_criteria,omitempty"`
// Bucket to schedule tasks in. If not provided, suite scheduler should
// assign the task to an appropriate "mainlab" builder.
BuilderId *SchedulerConfig_RunOptions_BuilderID `protobuf:"bytes,9,opt,name=builder_id,json=builderId,proto3" json:"builder_id,omitempty"`
// If set, suite will be executed through ctpv2.
RunViaCtpv2 bool `protobuf:"varint,10,opt,name=run_via_ctpv2,json=runViaCtpv2,proto3" json:"run_via_ctpv2,omitempty"`
// GCS Bucket to fetch CrOS images from. If not provided, will be
// "chromeos-image-archive"
CrosImageBucket string `protobuf:"bytes,11,opt,name=cros_image_bucket,json=crosImageBucket,proto3" json:"cros_image_bucket,omitempty"`
// If true and run_via_cft is true, this suite will run via trv2.
RunViaTrv2 bool `protobuf:"varint,12,opt,name=run_via_trv2,json=runViaTrv2,proto3" json:"run_via_trv2,omitempty"`
// If set, trv2 request will be translated to the dynamic trv2 request.
// Requires run_via_trv2 is true.
DynamicTrv2 bool `protobuf:"varint,13,opt,name=dynamic_trv2,json=dynamicTrv2,proto3" json:"dynamic_trv2,omitempty"`
}
func (x *SchedulerConfig_RunOptions) Reset() {
*x = SchedulerConfig_RunOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_RunOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_RunOptions) ProtoMessage() {}
func (x *SchedulerConfig_RunOptions) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_RunOptions.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_RunOptions) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 4}
}
func (x *SchedulerConfig_RunOptions) GetRetry() bool {
if x != nil {
return x.Retry
}
return false
}
func (x *SchedulerConfig_RunOptions) GetDimensions() []*SchedulerConfig_RunOptions_SwarmingDimension {
if x != nil {
return x.Dimensions
}
return nil
}
func (x *SchedulerConfig_RunOptions) GetTimeoutMins() int32 {
if x != nil {
return x.TimeoutMins
}
return 0
}
// Deprecated: Do not use.
func (x *SchedulerConfig_RunOptions) GetOnlySanityTestRequired() bool {
if x != nil {
return x.OnlySanityTestRequired
}
return false
}
func (x *SchedulerConfig_RunOptions) GetTriggerType() SchedulerConfig_TriggerType {
if x != nil {
return x.TriggerType
}
return SchedulerConfig_TRIGGER_UNSPECIFIED
}
func (x *SchedulerConfig_RunOptions) GetOnlySuccessfulBuildRequired() bool {
if x != nil {
return x.OnlySuccessfulBuildRequired
}
return false
}
func (x *SchedulerConfig_RunOptions) GetRunViaCft() bool {
if x != nil {
return x.RunViaCft
}
return false
}
func (x *SchedulerConfig_RunOptions) GetTagCriteria() *api.TestSuite_TestCaseTagCriteria {
if x != nil {
return x.TagCriteria
}
return nil
}
func (x *SchedulerConfig_RunOptions) GetBuilderId() *SchedulerConfig_RunOptions_BuilderID {
if x != nil {
return x.BuilderId
}
return nil
}
func (x *SchedulerConfig_RunOptions) GetRunViaCtpv2() bool {
if x != nil {
return x.RunViaCtpv2
}
return false
}
func (x *SchedulerConfig_RunOptions) GetCrosImageBucket() string {
if x != nil {
return x.CrosImageBucket
}
return ""
}
func (x *SchedulerConfig_RunOptions) GetRunViaTrv2() bool {
if x != nil {
return x.RunViaTrv2
}
return false
}
func (x *SchedulerConfig_RunOptions) GetDynamicTrv2() bool {
if x != nil {
return x.DynamicTrv2
}
return false
}
// next tag: 3
type SchedulerConfig_TargetOptions_MultiDutsByBoard struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PrimaryBoard string `protobuf:"bytes,1,opt,name=primary_board,json=primaryBoard,proto3" json:"primary_board,omitempty"`
SecondaryBoards []string `protobuf:"bytes,2,rep,name=secondary_boards,json=secondaryBoards,proto3" json:"secondary_boards,omitempty"`
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByBoard) Reset() {
*x = SchedulerConfig_TargetOptions_MultiDutsByBoard{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByBoard) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_TargetOptions_MultiDutsByBoard) ProtoMessage() {}
func (x *SchedulerConfig_TargetOptions_MultiDutsByBoard) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_TargetOptions_MultiDutsByBoard.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_TargetOptions_MultiDutsByBoard) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 2, 0}
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByBoard) GetPrimaryBoard() string {
if x != nil {
return x.PrimaryBoard
}
return ""
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByBoard) GetSecondaryBoards() []string {
if x != nil {
return x.SecondaryBoards
}
return nil
}
// next tag: 3
type SchedulerConfig_TargetOptions_MultiDutsByModel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PrimaryModel string `protobuf:"bytes,1,opt,name=primary_model,json=primaryModel,proto3" json:"primary_model,omitempty"`
SecondaryModels []string `protobuf:"bytes,2,rep,name=secondary_models,json=secondaryModels,proto3" json:"secondary_models,omitempty"`
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByModel) Reset() {
*x = SchedulerConfig_TargetOptions_MultiDutsByModel{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByModel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_TargetOptions_MultiDutsByModel) ProtoMessage() {}
func (x *SchedulerConfig_TargetOptions_MultiDutsByModel) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_TargetOptions_MultiDutsByModel.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_TargetOptions_MultiDutsByModel) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 2, 1}
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByModel) GetPrimaryModel() string {
if x != nil {
return x.PrimaryModel
}
return ""
}
func (x *SchedulerConfig_TargetOptions_MultiDutsByModel) GetSecondaryModels() []string {
if x != nil {
return x.SecondaryModels
}
return nil
}
// A list of extra labels/dimensions to attach.
// Extra Swarming Dimensions that can be specified.
type SchedulerConfig_RunOptions_SwarmingDimension struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) Reset() {
*x = SchedulerConfig_RunOptions_SwarmingDimension{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_RunOptions_SwarmingDimension) ProtoMessage() {}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_RunOptions_SwarmingDimension.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_RunOptions_SwarmingDimension) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 4, 0}
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *SchedulerConfig_RunOptions_SwarmingDimension) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
// Identifies a unique buildbucket builder.
type SchedulerConfig_RunOptions_BuilderID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Project that the builder exists in.
Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
// Bucket that the builder exists in.
Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
// Name of the builder.
Builder string `protobuf:"bytes,3,opt,name=builder,proto3" json:"builder,omitempty"`
}
func (x *SchedulerConfig_RunOptions_BuilderID) Reset() {
*x = SchedulerConfig_RunOptions_BuilderID{}
if protoimpl.UnsafeEnabled {
mi := &file_testplans_suite_scheduler_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerConfig_RunOptions_BuilderID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerConfig_RunOptions_BuilderID) ProtoMessage() {}
func (x *SchedulerConfig_RunOptions_BuilderID) ProtoReflect() protoreflect.Message {
mi := &file_testplans_suite_scheduler_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 SchedulerConfig_RunOptions_BuilderID.ProtoReflect.Descriptor instead.
func (*SchedulerConfig_RunOptions_BuilderID) Descriptor() ([]byte, []int) {
return file_testplans_suite_scheduler_proto_rawDescGZIP(), []int{3, 4, 1}
}
func (x *SchedulerConfig_RunOptions_BuilderID) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *SchedulerConfig_RunOptions_BuilderID) GetBucket() string {
if x != nil {
return x.Bucket
}
return ""
}
func (x *SchedulerConfig_RunOptions_BuilderID) GetBuilder() string {
if x != nil {
return x.Builder
}
return ""
}
var File_testplans_suite_scheduler_proto protoreflect.FileDescriptor
var file_testplans_suite_scheduler_proto_rawDesc = []byte{
0x0a, 0x1f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x73, 0x75, 0x69, 0x74,
0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x09, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x1a, 0x24, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74,
0x65, 0x73, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x74, 0x70, 0x32, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x05, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x09, 0x52, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x22, 0x6e, 0x0a, 0x09, 0x4c, 0x61, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x28, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x42, 0x6f, 0x61,
0x72, 0x64, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x0e, 0x61, 0x6e,
0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x42,
0x6f, 0x61, 0x72, 0x64, 0x52, 0x0d, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x42, 0x6f, 0x61,
0x72, 0x64, 0x73, 0x22, 0x3e, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x56, 0x61, 0x72, 0x69,
0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72,
0x69, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x69,
0x61, 0x6e, 0x74, 0x22, 0x85, 0x1e, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x75, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x75, 0x69, 0x74,
0x65, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
0x73, 0x12, 0x52, 0x0a, 0x0f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x69, 0x74,
0x65, 0x72, 0x69, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43, 0x72, 0x69,
0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0e, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43, 0x72, 0x69,
0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x2d, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65,
0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c,
0x61, 0x6e, 0x73, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e,
0x63, 0x68, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x60, 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, 0x08, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x72,
0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x48, 0x00, 0x52, 0x13, 0x66,
0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x70,
0x65, 0x63, 0x12, 0x30, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72,
0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48,
0x00, 0x52, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x60, 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, 0x0c,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73,
0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x48,
0x01, 0x52, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x77, 0x42, 0x75, 0x69,
0x6c, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61,
0x72, 0x65, 0x5f, 0x72, 0x77, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52,
0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x19, 0x66, 0x69, 0x72, 0x6d,
0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x72, 0x6f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x48, 0x02, 0x52, 0x15, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61,
0x72, 0x65, 0x45, 0x63, 0x52, 0x6f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12,
0x35, 0x0a, 0x16, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x72,
0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48,
0x02, 0x52, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x63, 0x52, 0x6f, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x19, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61,
0x72, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x72, 0x77, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73,
0x70, 0x65, 0x63, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x72,
0x61, 0x6e, 0x63, 0x68, 0x48, 0x03, 0x52, 0x15, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
0x45, 0x63, 0x52, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a,
0x16, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x72, 0x77, 0x5f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52,
0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x63, 0x52, 0x77, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x09, 0x52, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x65, 0x73, 0x74,
0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x0a, 0x72, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e,
0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69,
0x6d, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01,
0x28, 0x09, 0x52, 0x13, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x6d, 0x73, 0x5f, 0x63,
0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0e, 0x67, 0x6d, 0x73, 0x43, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
0x65, 0x12, 0x45, 0x0a, 0x0e, 0x6b, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74,
0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x43, 0x54, 0x50, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x6b, 0x61, 0x72, 0x62, 0x6f,
0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x6b, 0x6f, 0x66, 0x66,
0x65, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x54, 0x50, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x52, 0x0d, 0x6b, 0x6f, 0x66, 0x66, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12,
0x1b, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x17, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x18,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x53, 0x68,
0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x64, 0x64, 0x5f, 0x73, 0x75,
0x69, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x64, 0x64, 0x53, 0x75,
0x69, 0x74, 0x65, 0x1a, 0x1f, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x14,
0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x1a, 0xb6, 0x02, 0x0a, 0x0e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x43,
0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x5e, 0x0a, 0x0e, 0x6c, 0x61, 0x75, 0x6e, 0x63,
0x68, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x37, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x75, 0x6e,
0x63, 0x68, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63,
0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0d, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68,
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x64,
0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x23, 0x0a,
0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x22, 0x79, 0x0a, 0x0d, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66,
0x69, 0x6c, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x55, 0x49, 0x4c,
0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0a,
0x0a, 0x06, 0x57, 0x45, 0x45, 0x4b, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52,
0x4f, 0x4e, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f,
0x52, 0x54, 0x4e, 0x49, 0x47, 0x48, 0x54, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x4e,
0x45, 0x57, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x33, 0x44, 0x10, 0x06, 0x1a, 0x91, 0x06,
0x0a, 0x0d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x6f, 0x61, 0x72,
0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f,
0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
0x73, 0x6b, 0x69, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0d,
0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e,
0x42, 0x6f, 0x61, 0x72, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x76, 0x61,
0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x65, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73,
0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x0f, 0x65,
0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1f,
0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01,
0x28, 0x08, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0e,
0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x12, 0x6e, 0x0a, 0x16, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x64, 0x75, 0x74,
0x73, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x44, 0x75, 0x74, 0x73, 0x42, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x13,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x44, 0x75, 0x74, 0x73, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x64, 0x75, 0x74,
0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x44, 0x75, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x13,
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x44, 0x75, 0x74, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4c,
0x69, 0x73, 0x74, 0x1a, 0x62, 0x0a, 0x10, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x44, 0x75, 0x74, 0x73,
0x42, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61,
0x72, 0x79, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x29, 0x0a, 0x10,
0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72,
0x79, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x62, 0x0a, 0x10, 0x4d, 0x75, 0x6c, 0x74, 0x69,
0x44, 0x75, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x70,
0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f,
0x6e, 0x64, 0x61, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4a, 0x04, 0x08, 0x0a, 0x10,
0x0b, 0x1a, 0x5c, 0x0a, 0x0b, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a,
0xdf, 0x06, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72,
0x65, 0x74, 0x72, 0x79, 0x12, 0x57, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70,
0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
0x6e, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a,
0x0c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x69, 0x6e, 0x73,
0x12, 0x3d, 0x0a, 0x19, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f,
0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x61, 0x6e,
0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12,
0x49, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e,
0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74,
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x1e, 0x6f, 0x6e,
0x6c, 0x79, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x08, 0x52, 0x1b, 0x6f, 0x6e, 0x6c, 0x79, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66,
0x75, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12,
0x1e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x63, 0x66, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x56, 0x69, 0x61, 0x43, 0x66, 0x74, 0x12,
0x55, 0x0a, 0x0c, 0x74, 0x61, 0x67, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74,
0x53, 0x75, 0x69, 0x74, 0x65, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x54, 0x61,
0x67, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0b, 0x74, 0x61, 0x67, 0x43, 0x72,
0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x4e, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65,
0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x73,
0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x44, 0x52, 0x09, 0x62, 0x75, 0x69,
0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x5f, 0x76, 0x69,
0x61, 0x5f, 0x63, 0x74, 0x70, 0x76, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72,
0x75, 0x6e, 0x56, 0x69, 0x61, 0x43, 0x74, 0x70, 0x76, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72,
0x6f, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x6f, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x75, 0x6e, 0x5f, 0x76, 0x69,
0x61, 0x5f, 0x74, 0x72, 0x76, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x75,
0x6e, 0x56, 0x69, 0x61, 0x54, 0x72, 0x76, 0x32, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x79, 0x6e, 0x61,
0x6d, 0x69, 0x63, 0x5f, 0x74, 0x72, 0x76, 0x32, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x72, 0x76, 0x32, 0x1a, 0x3b, 0x0a, 0x11, 0x53,
0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c,
0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65,
0x72, 0x22, 0x58, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x42, 0x72, 0x61,
0x6e, 0x63, 0x68, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x52, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x0c,
0x0a, 0x08, 0x46, 0x49, 0x52, 0x4d, 0x57, 0x41, 0x52, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03,
0x44, 0x45, 0x56, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10, 0x04, 0x12,
0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x22, 0x3c, 0x0a, 0x0b, 0x54,
0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52,
0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01,
0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x66, 0x69, 0x72,
0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x66, 0x69, 0x72, 0x6d,
0x77, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x77, 0x42, 0x10, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x6d, 0x77,
0x61, 0x72, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x72, 0x6f, 0x42, 0x10, 0x0a, 0x0e, 0x66, 0x69, 0x72,
0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x72, 0x77, 0x22, 0x44, 0x0a, 0x0c, 0x53,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x66, 0x67, 0x12, 0x34, 0x0a, 0x07, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74,
0x65, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x73, 0x2a, 0x54, 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x12, 0x42,
0x52, 0x41, 0x4e, 0x43, 0x48, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, 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, 0x12, 0x07,
0x0a, 0x03, 0x4c, 0x54, 0x53, 0x10, 0x05, 0x42, 0x35, 0x5a, 0x33, 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, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_testplans_suite_scheduler_proto_rawDescOnce sync.Once
file_testplans_suite_scheduler_proto_rawDescData = file_testplans_suite_scheduler_proto_rawDesc
)
func file_testplans_suite_scheduler_proto_rawDescGZIP() []byte {
file_testplans_suite_scheduler_proto_rawDescOnce.Do(func() {
file_testplans_suite_scheduler_proto_rawDescData = protoimpl.X.CompressGZIP(file_testplans_suite_scheduler_proto_rawDescData)
})
return file_testplans_suite_scheduler_proto_rawDescData
}
var file_testplans_suite_scheduler_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_testplans_suite_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_testplans_suite_scheduler_proto_goTypes = []interface{}{
(Branch)(0), // 0: testplans.Branch
(SchedulerConfig_FirmwareBranch)(0), // 1: testplans.SchedulerConfig.FirmwareBranch
(SchedulerConfig_TriggerType)(0), // 2: testplans.SchedulerConfig.TriggerType
(SchedulerConfig_LaunchCriteria_LaunchProfile)(0), // 3: testplans.SchedulerConfig.LaunchCriteria.LaunchProfile
(*Board)(nil), // 4: testplans.Board
(*LabConfig)(nil), // 5: testplans.LabConfig
(*BoardVariant)(nil), // 6: testplans.BoardVariant
(*SchedulerConfig)(nil), // 7: testplans.SchedulerConfig
(*SchedulerCfg)(nil), // 8: testplans.SchedulerCfg
(*SchedulerConfig_Contact)(nil), // 9: testplans.SchedulerConfig.Contact
(*SchedulerConfig_LaunchCriteria)(nil), // 10: testplans.SchedulerConfig.LaunchCriteria
(*SchedulerConfig_TargetOptions)(nil), // 11: testplans.SchedulerConfig.TargetOptions
(*SchedulerConfig_PoolOptions)(nil), // 12: testplans.SchedulerConfig.PoolOptions
(*SchedulerConfig_RunOptions)(nil), // 13: testplans.SchedulerConfig.RunOptions
(*SchedulerConfig_TargetOptions_MultiDutsByBoard)(nil), // 14: testplans.SchedulerConfig.TargetOptions.MultiDutsByBoard
(*SchedulerConfig_TargetOptions_MultiDutsByModel)(nil), // 15: testplans.SchedulerConfig.TargetOptions.MultiDutsByModel
(*SchedulerConfig_RunOptions_SwarmingDimension)(nil), // 16: testplans.SchedulerConfig.RunOptions.SwarmingDimension
(*SchedulerConfig_RunOptions_BuilderID)(nil), // 17: testplans.SchedulerConfig.RunOptions.BuilderID
(*api.CTPFilter)(nil), // 18: chromiumos.test.api.CTPFilter
(*api.TestSuite_TestCaseTagCriteria)(nil), // 19: chromiumos.test.api.TestSuite.TestCaseTagCriteria
}
var file_testplans_suite_scheduler_proto_depIdxs = []int32{
4, // 0: testplans.LabConfig.boards:type_name -> testplans.Board
4, // 1: testplans.LabConfig.android_boards:type_name -> testplans.Board
9, // 2: testplans.SchedulerConfig.contacts:type_name -> testplans.SchedulerConfig.Contact
10, // 3: testplans.SchedulerConfig.launch_criteria:type_name -> testplans.SchedulerConfig.LaunchCriteria
0, // 4: testplans.SchedulerConfig.branches:type_name -> testplans.Branch
11, // 5: testplans.SchedulerConfig.target_options:type_name -> testplans.SchedulerConfig.TargetOptions
12, // 6: testplans.SchedulerConfig.pool_options:type_name -> testplans.SchedulerConfig.PoolOptions
1, // 7: testplans.SchedulerConfig.firmware_ro_build_spec:type_name -> testplans.SchedulerConfig.FirmwareBranch
1, // 8: testplans.SchedulerConfig.firmware_rw_build_spec:type_name -> testplans.SchedulerConfig.FirmwareBranch
1, // 9: testplans.SchedulerConfig.firmware_ec_ro_build_spec:type_name -> testplans.SchedulerConfig.FirmwareBranch
1, // 10: testplans.SchedulerConfig.firmware_ec_rw_build_spec:type_name -> testplans.SchedulerConfig.FirmwareBranch
13, // 11: testplans.SchedulerConfig.run_options:type_name -> testplans.SchedulerConfig.RunOptions
18, // 12: testplans.SchedulerConfig.karbon_filters:type_name -> chromiumos.test.api.CTPFilter
18, // 13: testplans.SchedulerConfig.koffee_filters:type_name -> chromiumos.test.api.CTPFilter
7, // 14: testplans.SchedulerCfg.configs:type_name -> testplans.SchedulerConfig
3, // 15: testplans.SchedulerConfig.LaunchCriteria.launch_profile:type_name -> testplans.SchedulerConfig.LaunchCriteria.LaunchProfile
6, // 16: testplans.SchedulerConfig.TargetOptions.variants_list:type_name -> testplans.BoardVariant
6, // 17: testplans.SchedulerConfig.TargetOptions.exclude_variants:type_name -> testplans.BoardVariant
14, // 18: testplans.SchedulerConfig.TargetOptions.multi_duts_boards_list:type_name -> testplans.SchedulerConfig.TargetOptions.MultiDutsByBoard
15, // 19: testplans.SchedulerConfig.TargetOptions.multi_duts_models_list:type_name -> testplans.SchedulerConfig.TargetOptions.MultiDutsByModel
16, // 20: testplans.SchedulerConfig.RunOptions.dimensions:type_name -> testplans.SchedulerConfig.RunOptions.SwarmingDimension
2, // 21: testplans.SchedulerConfig.RunOptions.trigger_type:type_name -> testplans.SchedulerConfig.TriggerType
19, // 22: testplans.SchedulerConfig.RunOptions.tag_criteria:type_name -> chromiumos.test.api.TestSuite.TestCaseTagCriteria
17, // 23: testplans.SchedulerConfig.RunOptions.builder_id:type_name -> testplans.SchedulerConfig.RunOptions.BuilderID
24, // [24:24] is the sub-list for method output_type
24, // [24:24] is the sub-list for method input_type
24, // [24:24] is the sub-list for extension type_name
24, // [24:24] is the sub-list for extension extendee
0, // [0:24] is the sub-list for field type_name
}
func init() { file_testplans_suite_scheduler_proto_init() }
func file_testplans_suite_scheduler_proto_init() {
if File_testplans_suite_scheduler_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_testplans_suite_scheduler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Board); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LabConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BoardVariant); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_Contact); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_LaunchCriteria); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_TargetOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_PoolOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_RunOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_TargetOptions_MultiDutsByBoard); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_TargetOptions_MultiDutsByModel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_RunOptions_SwarmingDimension); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_testplans_suite_scheduler_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerConfig_RunOptions_BuilderID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_testplans_suite_scheduler_proto_msgTypes[3].OneofWrappers = []interface{}{
(*SchedulerConfig_FirmwareRoBuildSpec)(nil),
(*SchedulerConfig_FirmwareRoVersion)(nil),
(*SchedulerConfig_FirmwareRwBuildSpec)(nil),
(*SchedulerConfig_FirmwareRwVersion)(nil),
(*SchedulerConfig_FirmwareEcRoBuildSpec)(nil),
(*SchedulerConfig_FirmwareEcRoVersion)(nil),
(*SchedulerConfig_FirmwareEcRwBuildSpec)(nil),
(*SchedulerConfig_FirmwareEcRwVersion)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_testplans_suite_scheduler_proto_rawDesc,
NumEnums: 4,
NumMessages: 14,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_testplans_suite_scheduler_proto_goTypes,
DependencyIndexes: file_testplans_suite_scheduler_proto_depIdxs,
EnumInfos: file_testplans_suite_scheduler_proto_enumTypes,
MessageInfos: file_testplans_suite_scheduler_proto_msgTypes,
}.Build()
File_testplans_suite_scheduler_proto = out.File
file_testplans_suite_scheduler_proto_rawDesc = nil
file_testplans_suite_scheduler_proto_goTypes = nil
file_testplans_suite_scheduler_proto_depIdxs = nil
}