blob: 5ba647eb996fa2ac7800244826ff9a7030834507 [file] [log] [blame]
// Copyright 2018 The LUCI Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Schemas for service configs.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v3.21.7
// source: go.chromium.org/luci/buildbucket/proto/service_config.proto
package buildbucketpb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
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)
)
// Schema of settings.cfg file, a service config.
type SettingsCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Swarmbucket settings.
Swarming *SwarmingSettings `protobuf:"bytes,1,opt,name=swarming,proto3" json:"swarming,omitempty"`
Logdog *LogDogSettings `protobuf:"bytes,2,opt,name=logdog,proto3" json:"logdog,omitempty"`
Resultdb *ResultDBSettings `protobuf:"bytes,4,opt,name=resultdb,proto3" json:"resultdb,omitempty"`
Experiment *ExperimentSettings `protobuf:"bytes,5,opt,name=experiment,proto3" json:"experiment,omitempty"`
Cipd *CipdSettings `protobuf:"bytes,6,opt,name=cipd,proto3" json:"cipd,omitempty"`
// List of Gerrit hosts to force git authentication for.
//
// By default public hosts are accessed anonymously, and the anonymous access
// has very low quota. Context needs to know all such hostnames in advance to
// be able to force authenticated access to them.
KnownPublicGerritHosts []string `protobuf:"bytes,3,rep,name=known_public_gerrit_hosts,json=knownPublicGerritHosts,proto3" json:"known_public_gerrit_hosts,omitempty"`
// List of known backend configurations.
Backends []*BackendSetting `protobuf:"bytes,7,rep,name=backends,proto3" json:"backends,omitempty"`
// A swarming_host -> backend_target map.
// It's used during the raw swarming to swarming based backend migration to
// derive a backend config from swarming related configs.
// So we could control the migration process behind the scene.
SwarmingBackends map[string]string `protobuf:"bytes,8,rep,name=swarming_backends,json=swarmingBackends,proto3" json:"swarming_backends,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *SettingsCfg) Reset() {
*x = SettingsCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SettingsCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SettingsCfg) ProtoMessage() {}
func (x *SettingsCfg) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 SettingsCfg.ProtoReflect.Descriptor instead.
func (*SettingsCfg) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{0}
}
func (x *SettingsCfg) GetSwarming() *SwarmingSettings {
if x != nil {
return x.Swarming
}
return nil
}
func (x *SettingsCfg) GetLogdog() *LogDogSettings {
if x != nil {
return x.Logdog
}
return nil
}
func (x *SettingsCfg) GetResultdb() *ResultDBSettings {
if x != nil {
return x.Resultdb
}
return nil
}
func (x *SettingsCfg) GetExperiment() *ExperimentSettings {
if x != nil {
return x.Experiment
}
return nil
}
func (x *SettingsCfg) GetCipd() *CipdSettings {
if x != nil {
return x.Cipd
}
return nil
}
func (x *SettingsCfg) GetKnownPublicGerritHosts() []string {
if x != nil {
return x.KnownPublicGerritHosts
}
return nil
}
func (x *SettingsCfg) GetBackends() []*BackendSetting {
if x != nil {
return x.Backends
}
return nil
}
func (x *SettingsCfg) GetSwarmingBackends() map[string]string {
if x != nil {
return x.SwarmingBackends
}
return nil
}
// Backend setting.
type BackendSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Target backend. e.g. "swarming://chromium-swarm".
Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
// hostname for the target backend. e.g. chromium-swarm.appspot.com
Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
// The associated UpdateBuildTask pubsub id for this task backend.
// This must be set in order for buildbucket to recieve task updates and send
// a pubsup topic that the task backend can use to send updates to.
// This id is provided by the backend owner, but added to buildbucket's service
// config by the buildbucket team.
// Buildbucket will subscribe to the pubsub subscription, which itself is
// subscribed to the topic that task backends send messages to.
// i.e.
//
// For this pubsub subscription:
// project/cr-buildbucket/subscriptions/chormium-swarm-backend
// and topic:
// project/cr-buildbucket/topics/chormium-swarm-backend
// The pubsub_id would be:
// chormium-swarm-backend
//
// DEPRECATED: please set into `full_mode` field.
//
// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/service_config.proto.
PubsubId string `protobuf:"bytes,3,opt,name=pubsub_id,json=pubsubId,proto3" json:"pubsub_id,omitempty"`
// DEPRECATED: please set into `full_mode` field.
//
// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/service_config.proto.
BuildSyncSetting *BackendSetting_BuildSyncSetting `protobuf:"bytes,4,opt,name=build_sync_setting,json=buildSyncSetting,proto3" json:"build_sync_setting,omitempty"`
// The mode of the backend.
//
// Types that are assignable to Mode:
//
// *BackendSetting_FullMode_
// *BackendSetting_LiteMode_
Mode isBackendSetting_Mode `protobuf_oneof:"Mode"`
// Maximum time for Buildbucket to retry creating a task.
//
// Default timeout is 10 minutes.
//
// If the timeout is reached, the build is marked as INFRA_FAILURE status.
TaskCreatingTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=task_creating_timeout,json=taskCreatingTimeout,proto3" json:"task_creating_timeout,omitempty"`
}
func (x *BackendSetting) Reset() {
*x = BackendSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BackendSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BackendSetting) ProtoMessage() {}
func (x *BackendSetting) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 BackendSetting.ProtoReflect.Descriptor instead.
func (*BackendSetting) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{1}
}
func (x *BackendSetting) GetTarget() string {
if x != nil {
return x.Target
}
return ""
}
func (x *BackendSetting) GetHostname() string {
if x != nil {
return x.Hostname
}
return ""
}
// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/service_config.proto.
func (x *BackendSetting) GetPubsubId() string {
if x != nil {
return x.PubsubId
}
return ""
}
// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/service_config.proto.
func (x *BackendSetting) GetBuildSyncSetting() *BackendSetting_BuildSyncSetting {
if x != nil {
return x.BuildSyncSetting
}
return nil
}
func (m *BackendSetting) GetMode() isBackendSetting_Mode {
if m != nil {
return m.Mode
}
return nil
}
func (x *BackendSetting) GetFullMode() *BackendSetting_FullMode {
if x, ok := x.GetMode().(*BackendSetting_FullMode_); ok {
return x.FullMode
}
return nil
}
func (x *BackendSetting) GetLiteMode() *BackendSetting_LiteMode {
if x, ok := x.GetMode().(*BackendSetting_LiteMode_); ok {
return x.LiteMode
}
return nil
}
func (x *BackendSetting) GetTaskCreatingTimeout() *durationpb.Duration {
if x != nil {
return x.TaskCreatingTimeout
}
return nil
}
type isBackendSetting_Mode interface {
isBackendSetting_Mode()
}
type BackendSetting_FullMode_ struct {
FullMode *BackendSetting_FullMode `protobuf:"bytes,5,opt,name=full_mode,json=fullMode,proto3,oneof"`
}
type BackendSetting_LiteMode_ struct {
LiteMode *BackendSetting_LiteMode `protobuf:"bytes,6,opt,name=lite_mode,json=liteMode,proto3,oneof"`
}
func (*BackendSetting_FullMode_) isBackendSetting_Mode() {}
func (*BackendSetting_LiteMode_) isBackendSetting_Mode() {}
// Swarmbucket settings.
type SwarmingSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Swarmbucket build URLs will point to this Milo instance.
MiloHostname string `protobuf:"bytes,2,opt,name=milo_hostname,json=miloHostname,proto3" json:"milo_hostname,omitempty"`
// These caches are available to all builders implicitly.
// A builder may override a cache specified here.
GlobalCaches []*BuilderConfig_CacheEntry `protobuf:"bytes,4,rep,name=global_caches,json=globalCaches,proto3" json:"global_caches,omitempty"`
// Packages available to the user executable in $PATH.
// Installed in "{TASK_RUN_DIR}/cipd_bin_packages".
// "{TASK_RUN_DIR}/cipd_bin_packages" and
// "{TASK_RUN_DIR}/cipd_bin_packages/bin" are prepended to $PATH.
UserPackages []*SwarmingSettings_Package `protobuf:"bytes,5,rep,name=user_packages,json=userPackages,proto3" json:"user_packages,omitempty"`
// Package of buildbucket agent,
// https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/buildbucket/cmd/bbagent
// used to run LUCI executables.
BbagentPackage *SwarmingSettings_Package `protobuf:"bytes,8,opt,name=bbagent_package,json=bbagentPackage,proto3" json:"bbagent_package,omitempty"`
// CIPD package of kitchen binary. DEPRECATED. TODO(nodir): remove.
KitchenPackage *SwarmingSettings_Package `protobuf:"bytes,7,opt,name=kitchen_package,json=kitchenPackage,proto3" json:"kitchen_package,omitempty"`
// Package of alternative buildbucket agent sources.
// They should only be used in certain situations (i.e. in an experiment),
// so they should have constraints on either omit_on_experiment
// or include_on_experiment.
AlternativeAgentPackages []*SwarmingSettings_Package `protobuf:"bytes,9,rep,name=alternative_agent_packages,json=alternativeAgentPackages,proto3" json:"alternative_agent_packages,omitempty"`
// Packages for bbagent to use.
// Installed in "{TASK_RUN_DIR}/bbagent_utility_packages".
BbagentUtilityPackages []*SwarmingSettings_Package `protobuf:"bytes,10,rep,name=bbagent_utility_packages,json=bbagentUtilityPackages,proto3" json:"bbagent_utility_packages,omitempty"`
}
func (x *SwarmingSettings) Reset() {
*x = SwarmingSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SwarmingSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SwarmingSettings) ProtoMessage() {}
func (x *SwarmingSettings) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 SwarmingSettings.ProtoReflect.Descriptor instead.
func (*SwarmingSettings) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{2}
}
func (x *SwarmingSettings) GetMiloHostname() string {
if x != nil {
return x.MiloHostname
}
return ""
}
func (x *SwarmingSettings) GetGlobalCaches() []*BuilderConfig_CacheEntry {
if x != nil {
return x.GlobalCaches
}
return nil
}
func (x *SwarmingSettings) GetUserPackages() []*SwarmingSettings_Package {
if x != nil {
return x.UserPackages
}
return nil
}
func (x *SwarmingSettings) GetBbagentPackage() *SwarmingSettings_Package {
if x != nil {
return x.BbagentPackage
}
return nil
}
func (x *SwarmingSettings) GetKitchenPackage() *SwarmingSettings_Package {
if x != nil {
return x.KitchenPackage
}
return nil
}
func (x *SwarmingSettings) GetAlternativeAgentPackages() []*SwarmingSettings_Package {
if x != nil {
return x.AlternativeAgentPackages
}
return nil
}
func (x *SwarmingSettings) GetBbagentUtilityPackages() []*SwarmingSettings_Package {
if x != nil {
return x.BbagentUtilityPackages
}
return nil
}
type LogDogSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Hostname of the LogDog instance to use, e.g. "logs.chromium.org".
Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
}
func (x *LogDogSettings) Reset() {
*x = LogDogSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LogDogSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogDogSettings) ProtoMessage() {}
func (x *LogDogSettings) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 LogDogSettings.ProtoReflect.Descriptor instead.
func (*LogDogSettings) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{3}
}
func (x *LogDogSettings) GetHostname() string {
if x != nil {
return x.Hostname
}
return ""
}
// ExperimentSettings controls all well-known global experiment values.
type ExperimentSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Experiments []*ExperimentSettings_Experiment `protobuf:"bytes,1,rep,name=experiments,proto3" json:"experiments,omitempty"`
}
func (x *ExperimentSettings) Reset() {
*x = ExperimentSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExperimentSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExperimentSettings) ProtoMessage() {}
func (x *ExperimentSettings) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 ExperimentSettings.ProtoReflect.Descriptor instead.
func (*ExperimentSettings) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{4}
}
func (x *ExperimentSettings) GetExperiments() []*ExperimentSettings_Experiment {
if x != nil {
return x.Experiments
}
return nil
}
// A predicate for a builder.
type BuilderPredicate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OR-connected list of regular expressions for a string
// "{project}/{bucket}/{builder}".
// Each regex is wrapped in ^ and $ automatically.
// Examples:
//
// # All builders in "chromium" project
// regex: "chromium/.+"
// # A specific builder.
// regex: "infra/ci/infra-continuous-trusty-64"
//
// Defaults to [".*"].
Regex []string `protobuf:"bytes,1,rep,name=regex,proto3" json:"regex,omitempty"`
// Like regex field, but negation. Negation always wins.
RegexExclude []string `protobuf:"bytes,2,rep,name=regex_exclude,json=regexExclude,proto3" json:"regex_exclude,omitempty"`
}
func (x *BuilderPredicate) Reset() {
*x = BuilderPredicate{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuilderPredicate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuilderPredicate) ProtoMessage() {}
func (x *BuilderPredicate) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 BuilderPredicate.ProtoReflect.Descriptor instead.
func (*BuilderPredicate) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{5}
}
func (x *BuilderPredicate) GetRegex() []string {
if x != nil {
return x.Regex
}
return nil
}
func (x *BuilderPredicate) GetRegexExclude() []string {
if x != nil {
return x.RegexExclude
}
return nil
}
type ResultDBSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Hostname of the ResultDB instance to use, e.g. "results.api.cr.dev".
Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
}
func (x *ResultDBSettings) Reset() {
*x = ResultDBSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResultDBSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResultDBSettings) ProtoMessage() {}
func (x *ResultDBSettings) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 ResultDBSettings.ProtoReflect.Descriptor instead.
func (*ResultDBSettings) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{6}
}
func (x *ResultDBSettings) GetHostname() string {
if x != nil {
return x.Hostname
}
return ""
}
type CipdSettings struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// default CIPD server to use for this setting configuration,
// e.g. "chrome-infra-packages.appspot.com".
Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
// Source of the cipd package itself
Source *CipdSettings_Source `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
}
func (x *CipdSettings) Reset() {
*x = CipdSettings{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CipdSettings) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CipdSettings) ProtoMessage() {}
func (x *CipdSettings) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 CipdSettings.ProtoReflect.Descriptor instead.
func (*CipdSettings) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{7}
}
func (x *CipdSettings) GetServer() string {
if x != nil {
return x.Server
}
return ""
}
func (x *CipdSettings) GetSource() *CipdSettings_Source {
if x != nil {
return x.Source
}
return nil
}
// Setting for the fetch tasks cron job.
type BackendSetting_BuildSyncSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of shards for Buildbucket to save the update_time of the builds on
// this backend.
//
// In Build model, we need to keep an index on the build update time in order
// to get all builds it haven't heard for a while.
// To avoid hotspotting, a new computed property NextBackendSyncTime is added
// for indexing, with format
// <backend_target>--<project>--<shard index>--<update_time>.
//
// Because some backends serves significantly larger amount of builds than
// other backends, we need different number of shards for each backend.
//
// Must be greater than or equal to 0, while 0 effectively means 1 shard.
//
// Note: when updating this field, the new number MUST be greater than the
// old one.
Shards int32 `protobuf:"varint,1,opt,name=shards,proto3" json:"shards,omitempty"`
// How often should a incomplete build get updated. If Buildbucket doesn't
// hear from this build for sync_interval, it will sync it with its backend
// task.
//
// Buildbucket runs a cron job to find builds to sync every minute, so
// sync_interval_seconds must be greater than or equal to 60.
//
// If unset, a default threshold of 5min will be applied.
SyncIntervalSeconds int32 `protobuf:"varint,2,opt,name=sync_interval_seconds,json=syncIntervalSeconds,proto3" json:"sync_interval_seconds,omitempty"`
}
func (x *BackendSetting_BuildSyncSetting) Reset() {
*x = BackendSetting_BuildSyncSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BackendSetting_BuildSyncSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BackendSetting_BuildSyncSetting) ProtoMessage() {}
func (x *BackendSetting_BuildSyncSetting) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 BackendSetting_BuildSyncSetting.ProtoReflect.Descriptor instead.
func (*BackendSetting_BuildSyncSetting) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{1, 0}
}
func (x *BackendSetting_BuildSyncSetting) GetShards() int32 {
if x != nil {
return x.Shards
}
return 0
}
func (x *BackendSetting_BuildSyncSetting) GetSyncIntervalSeconds() int32 {
if x != nil {
return x.SyncIntervalSeconds
}
return 0
}
// The corresponding backend should be a full-featured `TaskBackend`
// implementation.
type BackendSetting_FullMode struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The associated UpdateBuildTask pubsub id for this task backend.
// This must be set in order for buildbucket to recieve task updates and send
// a pubsup topic that the task backend can use to send updates to.
// This id is provided by the backend owner, but added to buildbucket's service
// config by the buildbucket team.
// Buildbucket will subscribe to the pubsub subscription, which itself is
// subscribed to the topic that task backends send messages to.
// i.e.
//
// For this pubsub subscription:
// project/cr-buildbucket/subscriptions/chormium-swarm-backend
// and topic:
// project/cr-buildbucket/topics/chormium-swarm-backend
// The pubsub_id would be:
// chormium-swarm-backend
PubsubId string `protobuf:"bytes,1,opt,name=pubsub_id,json=pubsubId,proto3" json:"pubsub_id,omitempty"`
// The setting for syncing backend tasks.
BuildSyncSetting *BackendSetting_BuildSyncSetting `protobuf:"bytes,2,opt,name=build_sync_setting,json=buildSyncSetting,proto3" json:"build_sync_setting,omitempty"`
// If set to true, visiting "cr-buildbucket.appspot.com/build/<build_id>"
// will be redirected to the corresponding task page instead of the Milo
// build page.
RedirectToTaskPage bool `protobuf:"varint,3,opt,name=redirect_to_task_page,json=redirectToTaskPage,proto3" json:"redirect_to_task_page,omitempty"`
}
func (x *BackendSetting_FullMode) Reset() {
*x = BackendSetting_FullMode{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BackendSetting_FullMode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BackendSetting_FullMode) ProtoMessage() {}
func (x *BackendSetting_FullMode) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 BackendSetting_FullMode.ProtoReflect.Descriptor instead.
func (*BackendSetting_FullMode) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{1, 1}
}
func (x *BackendSetting_FullMode) GetPubsubId() string {
if x != nil {
return x.PubsubId
}
return ""
}
func (x *BackendSetting_FullMode) GetBuildSyncSetting() *BackendSetting_BuildSyncSetting {
if x != nil {
return x.BuildSyncSetting
}
return nil
}
func (x *BackendSetting_FullMode) GetRedirectToTaskPage() bool {
if x != nil {
return x.RedirectToTaskPage
}
return false
}
// The corresponding backend should be a `TaskBackendLite` implementation,
// where it doesn't support the task update and sync.
type BackendSetting_LiteMode struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *BackendSetting_LiteMode) Reset() {
*x = BackendSetting_LiteMode{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BackendSetting_LiteMode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BackendSetting_LiteMode) ProtoMessage() {}
func (x *BackendSetting_LiteMode) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 BackendSetting_LiteMode.ProtoReflect.Descriptor instead.
func (*BackendSetting_LiteMode) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{1, 2}
}
// CIPD package. Does not specify installation path.
type SwarmingSettings_Package struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// CIPD package name, e.g. "infra/python/cpython/${platform}"
PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
// CIPD instance version, e.g. "version:2.7.15.chromium14".
// Used for non-canary builds.
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
// CIPD instance version for canary builds.
// Defaults to version.
VersionCanary string `protobuf:"bytes,3,opt,name=version_canary,json=versionCanary,proto3" json:"version_canary,omitempty"`
// Include in builders matching the predicate.
Builders *BuilderPredicate `protobuf:"bytes,4,opt,name=builders,proto3" json:"builders,omitempty"`
// Subdirectory to install the package into, relative to the installation
// root. Useful if installing two packages at the same root would conflict.
Subdir string `protobuf:"bytes,5,opt,name=subdir,proto3" json:"subdir,omitempty"`
// Omit this package from the build having any of these experiments.
OmitOnExperiment []string `protobuf:"bytes,6,rep,name=omit_on_experiment,json=omitOnExperiment,proto3" json:"omit_on_experiment,omitempty"`
// If non-empty, include this package only on builds which have any of these
// experiments set. `omit_on_experiment` takes precedence if an experiment
// is in both of these lists.
IncludeOnExperiment []string `protobuf:"bytes,7,rep,name=include_on_experiment,json=includeOnExperiment,proto3" json:"include_on_experiment,omitempty"`
}
func (x *SwarmingSettings_Package) Reset() {
*x = SwarmingSettings_Package{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SwarmingSettings_Package) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SwarmingSettings_Package) ProtoMessage() {}
func (x *SwarmingSettings_Package) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 SwarmingSettings_Package.ProtoReflect.Descriptor instead.
func (*SwarmingSettings_Package) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{2, 0}
}
func (x *SwarmingSettings_Package) GetPackageName() string {
if x != nil {
return x.PackageName
}
return ""
}
func (x *SwarmingSettings_Package) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *SwarmingSettings_Package) GetVersionCanary() string {
if x != nil {
return x.VersionCanary
}
return ""
}
func (x *SwarmingSettings_Package) GetBuilders() *BuilderPredicate {
if x != nil {
return x.Builders
}
return nil
}
func (x *SwarmingSettings_Package) GetSubdir() string {
if x != nil {
return x.Subdir
}
return ""
}
func (x *SwarmingSettings_Package) GetOmitOnExperiment() []string {
if x != nil {
return x.OmitOnExperiment
}
return nil
}
func (x *SwarmingSettings_Package) GetIncludeOnExperiment() []string {
if x != nil {
return x.IncludeOnExperiment
}
return nil
}
type ExperimentSettings_Experiment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of the global experiment.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The default_value (% chance, 0 - 100) of the global experiment.
//
// This must be greater than or equal to minimum_value.
DefaultValue int32 `protobuf:"varint,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
// The minimum_value (% chance, 0 - 100) of the global experiment.
//
// This will override lower Builder-defined experiment values.
MinimumValue int32 `protobuf:"varint,3,opt,name=minimum_value,json=minimumValue,proto3" json:"minimum_value,omitempty"`
// Allows temporary exclusion of builders from the experiment.
// Each line here should have a corresponding bug to remove the exclusion.
//
// If a builder is excluded from this experiment, it acts as though
// default_value and minimum_value are both 0.
Builders *BuilderPredicate `protobuf:"bytes,4,opt,name=builders,proto3" json:"builders,omitempty"`
// If this is true it means that the experiment has no effect, and is safe
// to stop setting in user configs. Additionally, Buildbucket will stop
// setting this experiment negatively on Builds.
//
// When removing a global experiment, set this to true rather than removing
// the experiment entirely, because Buildbucket still needs this to permit
// (and ignore) user configs which still mention reserved experiments (e.g.
// if we have "luci.something" which someone explicitly specifies, and we
// ramp it to 100% and remove it from the global spec, Buildbucket will
// start complaining that users are using a reserved experiment name, rather
// than just ignoring it).
//
// If inactive experiments appear in user configurations, it may cause
// warnings to be printed e.g. at config validation time and/or on the LUCI
// UI, etc.
Inactive bool `protobuf:"varint,5,opt,name=inactive,proto3" json:"inactive,omitempty"`
}
func (x *ExperimentSettings_Experiment) Reset() {
*x = ExperimentSettings_Experiment{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExperimentSettings_Experiment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExperimentSettings_Experiment) ProtoMessage() {}
func (x *ExperimentSettings_Experiment) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_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 ExperimentSettings_Experiment.ProtoReflect.Descriptor instead.
func (*ExperimentSettings_Experiment) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{4, 0}
}
func (x *ExperimentSettings_Experiment) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ExperimentSettings_Experiment) GetDefaultValue() int32 {
if x != nil {
return x.DefaultValue
}
return 0
}
func (x *ExperimentSettings_Experiment) GetMinimumValue() int32 {
if x != nil {
return x.MinimumValue
}
return 0
}
func (x *ExperimentSettings_Experiment) GetBuilders() *BuilderPredicate {
if x != nil {
return x.Builders
}
return nil
}
func (x *ExperimentSettings_Experiment) GetInactive() bool {
if x != nil {
return x.Inactive
}
return false
}
type CipdSettings_Source struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// CIPD package name, e.g. "infra/tools/cipd/${platform}"
PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
// CIPD instance version, e.g. "L34sd94gsdgs4gsd" or some hash.
// Used for non-canary builds.
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
// CIPD instance version for canary builds.
// Defaults to version.
VersionCanary string `protobuf:"bytes,4,opt,name=version_canary,json=versionCanary,proto3" json:"version_canary,omitempty"`
}
func (x *CipdSettings_Source) Reset() {
*x = CipdSettings_Source{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CipdSettings_Source) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CipdSettings_Source) ProtoMessage() {}
func (x *CipdSettings_Source) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CipdSettings_Source.ProtoReflect.Descriptor instead.
func (*CipdSettings_Source) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP(), []int{7, 0}
}
func (x *CipdSettings_Source) GetPackageName() string {
if x != nil {
return x.PackageName
}
return ""
}
func (x *CipdSettings_Source) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *CipdSettings_Source) GetVersionCanary() string {
if x != nil {
return x.VersionCanary
}
return ""
}
var File_go_chromium_org_luci_buildbucket_proto_service_config_proto protoreflect.FileDescriptor
var file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDesc = []byte{
0x0a, 0x3b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x67, 0x6f, 0x2e, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69,
0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x04, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x43, 0x66, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x77, 0x61, 0x72, 0x6d,
0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
0x6e, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
0x2e, 0x4c, 0x6f, 0x67, 0x44, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
0x06, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x64, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x64, 0x62, 0x12, 0x3f, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x63, 0x69, 0x70, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
0x43, 0x69, 0x70, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x63, 0x69,
0x70, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x5f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x37, 0x0a,
0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1b, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x61,
0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x61,
0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
0x6e, 0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x43, 0x66, 0x67, 0x2e, 0x53, 0x77, 0x61, 0x72,
0x6d, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x10, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x65,
0x6e, 0x64, 0x73, 0x1a, 0x43, 0x0a, 0x15, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x42,
0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcb, 0x05, 0x0a, 0x0e, 0x42, 0x61, 0x63,
0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x74,
0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72,
0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x1f, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x49, 0x64,
0x12, 0x5e, 0x0a, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65,
0x6e, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53,
0x79, 0x6e, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10,
0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x43, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6c,
0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x00,
0x52, 0x08, 0x6c, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x15, 0x74, 0x61,
0x73, 0x6b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69,
0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x5e, 0x0a, 0x10, 0x42, 0x75, 0x69,
0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a,
0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73,
0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x6e,
0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76,
0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0xb6, 0x01, 0x0a, 0x08, 0x46, 0x75,
0x6c, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x73, 0x75,
0x62, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x79, 0x6e,
0x63, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2c, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x61,
0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x75, 0x69,
0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12,
0x31, 0x0a, 0x15, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74,
0x61, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12,
0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61,
0x67, 0x65, 0x1a, 0x0a, 0x0a, 0x08, 0x4c, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x06,
0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xe6, 0x06, 0x0a, 0x10, 0x53, 0x77, 0x61, 0x72, 0x6d,
0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
0x69, 0x6c, 0x6f, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x6d, 0x69, 0x6c, 0x6f, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x4a, 0x0a, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65,
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c,
0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0d,
0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
0x74, 0x2e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72,
0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x62, 0x61, 0x67,
0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x62, 0x62, 0x61, 0x67, 0x65, 0x6e,
0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x6b, 0x69, 0x74, 0x63,
0x68, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65,
0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x1a, 0x61, 0x6c, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61,
0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x53, 0x77, 0x61, 0x72, 0x6d,
0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b,
0x61, 0x67, 0x65, 0x52, 0x18, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,
0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x5f, 0x0a,
0x18, 0x62, 0x62, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79,
0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x53, 0x77,
0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50,
0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x16, 0x62, 0x62, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x55,
0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x1a, 0xa2,
0x02, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61,
0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x39,
0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42,
0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62,
0x64, 0x69, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x64, 0x69,
0x72, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70,
0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f,
0x6d, 0x69, 0x74, 0x4f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12,
0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x78,
0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d,
0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22,
0x2c, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x44, 0x6f, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x02,
0x0a, 0x12, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65,
0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72,
0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
0x74, 0x73, 0x1a, 0xc1, 0x01, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e,
0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69,
0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x39, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65,
0x52, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e,
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e,
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x4d, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65,
0x72, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65,
0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78,
0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x65, 0x78, 0x45, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0x2e, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44,
0x42, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x43, 0x69, 0x70, 0x64, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x38,
0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x69, 0x70,
0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x6c, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x61, 0x72,
0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62,
0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x3b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescOnce sync.Once
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescData = file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDesc
)
func file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescGZIP() []byte {
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescOnce.Do(func() {
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescData)
})
return file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDescData
}
var file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_go_chromium_org_luci_buildbucket_proto_service_config_proto_goTypes = []interface{}{
(*SettingsCfg)(nil), // 0: buildbucket.SettingsCfg
(*BackendSetting)(nil), // 1: buildbucket.BackendSetting
(*SwarmingSettings)(nil), // 2: buildbucket.SwarmingSettings
(*LogDogSettings)(nil), // 3: buildbucket.LogDogSettings
(*ExperimentSettings)(nil), // 4: buildbucket.ExperimentSettings
(*BuilderPredicate)(nil), // 5: buildbucket.BuilderPredicate
(*ResultDBSettings)(nil), // 6: buildbucket.ResultDBSettings
(*CipdSettings)(nil), // 7: buildbucket.CipdSettings
nil, // 8: buildbucket.SettingsCfg.SwarmingBackendsEntry
(*BackendSetting_BuildSyncSetting)(nil), // 9: buildbucket.BackendSetting.BuildSyncSetting
(*BackendSetting_FullMode)(nil), // 10: buildbucket.BackendSetting.FullMode
(*BackendSetting_LiteMode)(nil), // 11: buildbucket.BackendSetting.LiteMode
(*SwarmingSettings_Package)(nil), // 12: buildbucket.SwarmingSettings.Package
(*ExperimentSettings_Experiment)(nil), // 13: buildbucket.ExperimentSettings.Experiment
(*CipdSettings_Source)(nil), // 14: buildbucket.CipdSettings.Source
(*durationpb.Duration)(nil), // 15: google.protobuf.Duration
(*BuilderConfig_CacheEntry)(nil), // 16: buildbucket.BuilderConfig.CacheEntry
}
var file_go_chromium_org_luci_buildbucket_proto_service_config_proto_depIdxs = []int32{
2, // 0: buildbucket.SettingsCfg.swarming:type_name -> buildbucket.SwarmingSettings
3, // 1: buildbucket.SettingsCfg.logdog:type_name -> buildbucket.LogDogSettings
6, // 2: buildbucket.SettingsCfg.resultdb:type_name -> buildbucket.ResultDBSettings
4, // 3: buildbucket.SettingsCfg.experiment:type_name -> buildbucket.ExperimentSettings
7, // 4: buildbucket.SettingsCfg.cipd:type_name -> buildbucket.CipdSettings
1, // 5: buildbucket.SettingsCfg.backends:type_name -> buildbucket.BackendSetting
8, // 6: buildbucket.SettingsCfg.swarming_backends:type_name -> buildbucket.SettingsCfg.SwarmingBackendsEntry
9, // 7: buildbucket.BackendSetting.build_sync_setting:type_name -> buildbucket.BackendSetting.BuildSyncSetting
10, // 8: buildbucket.BackendSetting.full_mode:type_name -> buildbucket.BackendSetting.FullMode
11, // 9: buildbucket.BackendSetting.lite_mode:type_name -> buildbucket.BackendSetting.LiteMode
15, // 10: buildbucket.BackendSetting.task_creating_timeout:type_name -> google.protobuf.Duration
16, // 11: buildbucket.SwarmingSettings.global_caches:type_name -> buildbucket.BuilderConfig.CacheEntry
12, // 12: buildbucket.SwarmingSettings.user_packages:type_name -> buildbucket.SwarmingSettings.Package
12, // 13: buildbucket.SwarmingSettings.bbagent_package:type_name -> buildbucket.SwarmingSettings.Package
12, // 14: buildbucket.SwarmingSettings.kitchen_package:type_name -> buildbucket.SwarmingSettings.Package
12, // 15: buildbucket.SwarmingSettings.alternative_agent_packages:type_name -> buildbucket.SwarmingSettings.Package
12, // 16: buildbucket.SwarmingSettings.bbagent_utility_packages:type_name -> buildbucket.SwarmingSettings.Package
13, // 17: buildbucket.ExperimentSettings.experiments:type_name -> buildbucket.ExperimentSettings.Experiment
14, // 18: buildbucket.CipdSettings.source:type_name -> buildbucket.CipdSettings.Source
9, // 19: buildbucket.BackendSetting.FullMode.build_sync_setting:type_name -> buildbucket.BackendSetting.BuildSyncSetting
5, // 20: buildbucket.SwarmingSettings.Package.builders:type_name -> buildbucket.BuilderPredicate
5, // 21: buildbucket.ExperimentSettings.Experiment.builders:type_name -> buildbucket.BuilderPredicate
22, // [22:22] is the sub-list for method output_type
22, // [22:22] is the sub-list for method input_type
22, // [22:22] is the sub-list for extension type_name
22, // [22:22] is the sub-list for extension extendee
0, // [0:22] is the sub-list for field type_name
}
func init() { file_go_chromium_org_luci_buildbucket_proto_service_config_proto_init() }
func file_go_chromium_org_luci_buildbucket_proto_service_config_proto_init() {
if File_go_chromium_org_luci_buildbucket_proto_service_config_proto != nil {
return
}
file_go_chromium_org_luci_buildbucket_proto_project_config_proto_init()
if !protoimpl.UnsafeEnabled {
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SettingsCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BackendSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SwarmingSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LogDogSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExperimentSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuilderPredicate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResultDBSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CipdSettings); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BackendSetting_BuildSyncSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BackendSetting_FullMode); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BackendSetting_LiteMode); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SwarmingSettings_Package); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExperimentSettings_Experiment); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CipdSettings_Source); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes[1].OneofWrappers = []interface{}{
(*BackendSetting_FullMode_)(nil),
(*BackendSetting_LiteMode_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDesc,
NumEnums: 0,
NumMessages: 15,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_go_chromium_org_luci_buildbucket_proto_service_config_proto_goTypes,
DependencyIndexes: file_go_chromium_org_luci_buildbucket_proto_service_config_proto_depIdxs,
MessageInfos: file_go_chromium_org_luci_buildbucket_proto_service_config_proto_msgTypes,
}.Build()
File_go_chromium_org_luci_buildbucket_proto_service_config_proto = out.File
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_rawDesc = nil
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_goTypes = nil
file_go_chromium_org_luci_buildbucket_proto_service_config_proto_depIdxs = nil
}