blob: 67bfbb9499e36b08a91c644c94b7e66e6d9fdd41 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.32.0
// protoc v3.21.12
// source: config.proto
package config
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
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)
)
// PreUploadStep lists the known pre-upload steps which may be run before roll
// CLs are uploaded. These must be kept in sync with
// go/repo_manager/parent/pre_upload_steps.go.
type PreUploadStep int32
const (
PreUploadStep_ANGLE_CODE_GENERATION PreUploadStep = 0
PreUploadStep_ANGLE_GN_TO_BP PreUploadStep = 1
PreUploadStep_ANGLE_ROLL_CHROMIUM PreUploadStep = 2
PreUploadStep_GO_GENERATE_CIPD PreUploadStep = 3
PreUploadStep_FLUTTER_LICENSE_SCRIPTS PreUploadStep = 4
PreUploadStep_FLUTTER_LICENSE_SCRIPTS_FOR_DART PreUploadStep = 5
PreUploadStep_FLUTTER_LICENSE_SCRIPTS_FOR_FUCHSIA PreUploadStep = 6
PreUploadStep_SKIA_GN_TO_BP PreUploadStep = 7
PreUploadStep_TRAIN_INFRA PreUploadStep = 8
PreUploadStep_UPDATE_FLUTTER_DEPS_FOR_DART PreUploadStep = 9
PreUploadStep_VULKAN_DEPS_UPDATE_COMMIT_MESSAGE PreUploadStep = 10
PreUploadStep_UPDATE_BORINGSSL PreUploadStep = 11
PreUploadStep_CHROMIUM_ROLL_WEBGPU_CTS PreUploadStep = 12
)
// Enum value maps for PreUploadStep.
var (
PreUploadStep_name = map[int32]string{
0: "ANGLE_CODE_GENERATION",
1: "ANGLE_GN_TO_BP",
2: "ANGLE_ROLL_CHROMIUM",
3: "GO_GENERATE_CIPD",
4: "FLUTTER_LICENSE_SCRIPTS",
5: "FLUTTER_LICENSE_SCRIPTS_FOR_DART",
6: "FLUTTER_LICENSE_SCRIPTS_FOR_FUCHSIA",
7: "SKIA_GN_TO_BP",
8: "TRAIN_INFRA",
9: "UPDATE_FLUTTER_DEPS_FOR_DART",
10: "VULKAN_DEPS_UPDATE_COMMIT_MESSAGE",
11: "UPDATE_BORINGSSL",
12: "CHROMIUM_ROLL_WEBGPU_CTS",
}
PreUploadStep_value = map[string]int32{
"ANGLE_CODE_GENERATION": 0,
"ANGLE_GN_TO_BP": 1,
"ANGLE_ROLL_CHROMIUM": 2,
"GO_GENERATE_CIPD": 3,
"FLUTTER_LICENSE_SCRIPTS": 4,
"FLUTTER_LICENSE_SCRIPTS_FOR_DART": 5,
"FLUTTER_LICENSE_SCRIPTS_FOR_FUCHSIA": 6,
"SKIA_GN_TO_BP": 7,
"TRAIN_INFRA": 8,
"UPDATE_FLUTTER_DEPS_FOR_DART": 9,
"VULKAN_DEPS_UPDATE_COMMIT_MESSAGE": 10,
"UPDATE_BORINGSSL": 11,
"CHROMIUM_ROLL_WEBGPU_CTS": 12,
}
)
func (x PreUploadStep) Enum() *PreUploadStep {
p := new(PreUploadStep)
*p = x
return p
}
func (x PreUploadStep) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PreUploadStep) Descriptor() protoreflect.EnumDescriptor {
return file_config_proto_enumTypes[0].Descriptor()
}
func (PreUploadStep) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[0]
}
func (x PreUploadStep) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PreUploadStep.Descriptor instead.
func (PreUploadStep) EnumDescriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{0}
}
// Mode describes the valid operating modes of an autoroller.
// These must be kept in sync with autoroll/go/modes/modes.go.
type Mode int32
const (
// RUNNING is the typical operating mode of the autoroller. It will upload and
// land CLs as new revisions appear in the Child.
Mode_RUNNING Mode = 0
// STOPPED prevents the autoroller from uploading any CLs. The roller will
// continue to update any local checkouts to prevent them from getting too far
// out of date, and any requested manual rolls will be fulfilled.
Mode_STOPPED Mode = 1
// DRY_RUN is similar to RUNNING but does not land the roll CLs after the
// commit queue finishes. Instead, the active roll is left open until new
// revisions appear in the child, at which point the roll is closed and a new
// one is uploaded.
Mode_DRY_RUN Mode = 2
// OFFLINE is similar to STOPPED, but the roller does not update its checkouts
// and requests for manual rolls are ignored.
Mode_OFFLINE Mode = 3
)
// Enum value maps for Mode.
var (
Mode_name = map[int32]string{
0: "RUNNING",
1: "STOPPED",
2: "DRY_RUN",
3: "OFFLINE",
}
Mode_value = map[string]int32{
"RUNNING": 0,
"STOPPED": 1,
"DRY_RUN": 2,
"OFFLINE": 3,
}
)
func (x Mode) Enum() *Mode {
p := new(Mode)
*p = x
return p
}
func (x Mode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Mode) Descriptor() protoreflect.EnumDescriptor {
return file_config_proto_enumTypes[1].Descriptor()
}
func (Mode) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[1]
}
func (x Mode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Mode.Descriptor instead.
func (Mode) EnumDescriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{1}
}
// BuiltIn lists the built-in commit message templates.
type CommitMsgConfig_BuiltIn int32
const (
// DEFAULT is the default commit message template.
CommitMsgConfig_DEFAULT CommitMsgConfig_BuiltIn = 0
// ANDROID is the commit message template used for Android rollers.
CommitMsgConfig_ANDROID CommitMsgConfig_BuiltIn = 1
// ANDROID_NO_CR is the commit message template used for Android rollers
// where the service account does not have CR+2 access.
CommitMsgConfig_ANDROID_NO_CR CommitMsgConfig_BuiltIn = 2
// CANARY is the commit message template used for canary rolls.
CommitMsgConfig_CANARY CommitMsgConfig_BuiltIn = 3
)
// Enum value maps for CommitMsgConfig_BuiltIn.
var (
CommitMsgConfig_BuiltIn_name = map[int32]string{
0: "DEFAULT",
1: "ANDROID",
2: "ANDROID_NO_CR",
3: "CANARY",
}
CommitMsgConfig_BuiltIn_value = map[string]int32{
"DEFAULT": 0,
"ANDROID": 1,
"ANDROID_NO_CR": 2,
"CANARY": 3,
}
)
func (x CommitMsgConfig_BuiltIn) Enum() *CommitMsgConfig_BuiltIn {
p := new(CommitMsgConfig_BuiltIn)
*p = x
return p
}
func (x CommitMsgConfig_BuiltIn) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CommitMsgConfig_BuiltIn) Descriptor() protoreflect.EnumDescriptor {
return file_config_proto_enumTypes[2].Descriptor()
}
func (CommitMsgConfig_BuiltIn) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[2]
}
func (x CommitMsgConfig_BuiltIn) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CommitMsgConfig_BuiltIn.Descriptor instead.
func (CommitMsgConfig_BuiltIn) EnumDescriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{1, 0}
}
// Config lists the built-in Gerrit configs, named for the projects which
// use them.
type GerritConfig_Config int32
const (
GerritConfig_ANDROID GerritConfig_Config = 0
GerritConfig_ANGLE GerritConfig_Config = 1
GerritConfig_CHROMIUM GerritConfig_Config = 2
GerritConfig_CHROMIUM_NO_CQ GerritConfig_Config = 3
GerritConfig_LIBASSISTANT GerritConfig_Config = 4
GerritConfig_CHROMIUM_BOT_COMMIT GerritConfig_Config = 5
GerritConfig_CHROMIUM_BOT_COMMIT_NO_CQ GerritConfig_Config = 6
GerritConfig_ANDROID_NO_CR GerritConfig_Config = 7
GerritConfig_ANDROID_NO_CR_NO_PR GerritConfig_Config = 8
GerritConfig_CHROMIUM_NO_CR GerritConfig_Config = 9
)
// Enum value maps for GerritConfig_Config.
var (
GerritConfig_Config_name = map[int32]string{
0: "ANDROID",
1: "ANGLE",
2: "CHROMIUM",
3: "CHROMIUM_NO_CQ",
4: "LIBASSISTANT",
5: "CHROMIUM_BOT_COMMIT",
6: "CHROMIUM_BOT_COMMIT_NO_CQ",
7: "ANDROID_NO_CR",
8: "ANDROID_NO_CR_NO_PR",
9: "CHROMIUM_NO_CR",
}
GerritConfig_Config_value = map[string]int32{
"ANDROID": 0,
"ANGLE": 1,
"CHROMIUM": 2,
"CHROMIUM_NO_CQ": 3,
"LIBASSISTANT": 4,
"CHROMIUM_BOT_COMMIT": 5,
"CHROMIUM_BOT_COMMIT_NO_CQ": 6,
"ANDROID_NO_CR": 7,
"ANDROID_NO_CR_NO_PR": 8,
"CHROMIUM_NO_CR": 9,
}
)
func (x GerritConfig_Config) Enum() *GerritConfig_Config {
p := new(GerritConfig_Config)
*p = x
return p
}
func (x GerritConfig_Config) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GerritConfig_Config) Descriptor() protoreflect.EnumDescriptor {
return file_config_proto_enumTypes[3].Descriptor()
}
func (GerritConfig_Config) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[3]
}
func (x GerritConfig_Config) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GerritConfig_Config.Descriptor instead.
func (GerritConfig_Config) EnumDescriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{2, 0}
}
// LogLevel categorizes messages similarly to log severity.
type NotifierConfig_LogLevel int32
const (
NotifierConfig_SILENT NotifierConfig_LogLevel = 0
NotifierConfig_ERROR NotifierConfig_LogLevel = 1
NotifierConfig_WARNING NotifierConfig_LogLevel = 2
NotifierConfig_INFO NotifierConfig_LogLevel = 3
NotifierConfig_DEBUG NotifierConfig_LogLevel = 4
)
// Enum value maps for NotifierConfig_LogLevel.
var (
NotifierConfig_LogLevel_name = map[int32]string{
0: "SILENT",
1: "ERROR",
2: "WARNING",
3: "INFO",
4: "DEBUG",
}
NotifierConfig_LogLevel_value = map[string]int32{
"SILENT": 0,
"ERROR": 1,
"WARNING": 2,
"INFO": 3,
"DEBUG": 4,
}
)
func (x NotifierConfig_LogLevel) Enum() *NotifierConfig_LogLevel {
p := new(NotifierConfig_LogLevel)
*p = x
return p
}
func (x NotifierConfig_LogLevel) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (NotifierConfig_LogLevel) Descriptor() protoreflect.EnumDescriptor {
return file_config_proto_enumTypes[4].Descriptor()
}
func (NotifierConfig_LogLevel) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[4]
}
func (x NotifierConfig_LogLevel) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use NotifierConfig_LogLevel.Descriptor instead.
func (NotifierConfig_LogLevel) EnumDescriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{31, 0}
}
// MsgType categorizes notifications based on their type.
type NotifierConfig_MsgType int32
const (
NotifierConfig_ISSUE_UPDATE NotifierConfig_MsgType = 0
NotifierConfig_LAST_N_FAILED NotifierConfig_MsgType = 1
NotifierConfig_MODE_CHANGE NotifierConfig_MsgType = 2
NotifierConfig_NEW_FAILURE NotifierConfig_MsgType = 3
NotifierConfig_NEW_SUCCESS NotifierConfig_MsgType = 4
NotifierConfig_ROLL_CREATION_FAILED NotifierConfig_MsgType = 5
NotifierConfig_SAFETY_THROTTLE NotifierConfig_MsgType = 6
NotifierConfig_STRATEGY_CHANGE NotifierConfig_MsgType = 7
NotifierConfig_SUCCESS_THROTTLE NotifierConfig_MsgType = 8
NotifierConfig_MANUAL_ROLL_CREATION_FAILED NotifierConfig_MsgType = 9
)
// Enum value maps for NotifierConfig_MsgType.
var (
NotifierConfig_MsgType_name = map[int32]string{
0: "ISSUE_UPDATE",
1: "LAST_N_FAILED",
2: "MODE_CHANGE",
3: "NEW_FAILURE",
4: "NEW_SUCCESS",
5: "ROLL_CREATION_FAILED",
6: "SAFETY_THROTTLE",
7: "STRATEGY_CHANGE",
8: "SUCCESS_THROTTLE",
9: "MANUAL_ROLL_CREATION_FAILED",
}
NotifierConfig_MsgType_value = map[string]int32{
"ISSUE_UPDATE": 0,
"LAST_N_FAILED": 1,
"MODE_CHANGE": 2,
"NEW_FAILURE": 3,
"NEW_SUCCESS": 4,
"ROLL_CREATION_FAILED": 5,
"SAFETY_THROTTLE": 6,
"STRATEGY_CHANGE": 7,
"SUCCESS_THROTTLE": 8,
"MANUAL_ROLL_CREATION_FAILED": 9,
}
)
func (x NotifierConfig_MsgType) Enum() *NotifierConfig_MsgType {
p := new(NotifierConfig_MsgType)
*p = x
return p
}
func (x NotifierConfig_MsgType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (NotifierConfig_MsgType) Descriptor() protoreflect.EnumDescriptor {
return file_config_proto_enumTypes[5].Descriptor()
}
func (NotifierConfig_MsgType) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[5]
}
func (x NotifierConfig_MsgType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use NotifierConfig_MsgType.Descriptor instead.
func (NotifierConfig_MsgType) EnumDescriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{31, 1}
}
// Config provides configuration for one AutoRoller.
type Config struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// roller_name is the name for this roller. It is used as the unique ID for
// the roller and must be non-empty.
// TODO(borenet): Use an actual DB-generated ID for the roller.
RollerName string `protobuf:"bytes,1,opt,name=roller_name,json=rollerName,proto3" json:"roller_name,omitempty"`
// child_bug_link is a link to file a bug for the child project.
ChildBugLink string `protobuf:"bytes,29,opt,name=child_bug_link,json=childBugLink,proto3" json:"child_bug_link,omitempty"`
// child_display_name is the human-readable display name of the child.
ChildDisplayName string `protobuf:"bytes,2,opt,name=child_display_name,json=childDisplayName,proto3" json:"child_display_name,omitempty"`
// parent_bug_link is a link to file a bug for the parent project.
ParentBugLink string `protobuf:"bytes,30,opt,name=parent_bug_link,json=parentBugLink,proto3" json:"parent_bug_link,omitempty"`
// parent_display_name is the human-readable display name of the parent.
ParentDisplayName string `protobuf:"bytes,3,opt,name=parent_display_name,json=parentDisplayName,proto3" json:"parent_display_name,omitempty"`
// parent_waterfall is the URL of the waterfall display of the parent repo.
ParentWaterfall string `protobuf:"bytes,4,opt,name=parent_waterfall,json=parentWaterfall,proto3" json:"parent_waterfall,omitempty"`
// owner_primary is the primary owner of this roller.
OwnerPrimary string `protobuf:"bytes,5,opt,name=owner_primary,json=ownerPrimary,proto3" json:"owner_primary,omitempty"`
// owner_secondary is the secondary owner of this roller.
OwnerSecondary string `protobuf:"bytes,6,opt,name=owner_secondary,json=ownerSecondary,proto3" json:"owner_secondary,omitempty"`
// contacts is a list of email addresses of contacts for this roller, used
// for sending PSAs, asking questions, etc. At least one contact is required.
Contacts []string `protobuf:"bytes,7,rep,name=contacts,proto3" json:"contacts,omitempty"`
// service_account is the full email address of the service account for this
// roller.
ServiceAccount string `protobuf:"bytes,8,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
// is_internal indicates whether this roller is internal, ie. only visible
// to Googlers.
// TODO(borenet): Is this necessary?
IsInternal bool `protobuf:"varint,9,opt,name=is_internal,json=isInternal,proto3" json:"is_internal,omitempty"`
// reviewer are the email addresses to add as reviewers on rolls, or URL(s)
// from which to obtain those email addresses. At least one reviewer is required.
Reviewer []string `protobuf:"bytes,10,rep,name=reviewer,proto3" json:"reviewer,omitempty"`
// reviewer_backup are backup email addresses to add as reviewers on rolls,
// in case obtaining the email addresses from the URL fails. Only required
// if a URL is specified for the reviewer.
ReviewerBackup []string `protobuf:"bytes,11,rep,name=reviewer_backup,json=reviewerBackup,proto3" json:"reviewer_backup,omitempty"`
// roll_cooldown is a period of time after a successful roll attempt during
// which no new roll attempts will be created. Optional.
RollCooldown string `protobuf:"bytes,12,opt,name=roll_cooldown,json=rollCooldown,proto3" json:"roll_cooldown,omitempty"`
// dry_run_cooldown specifies how long successful dry run CLs will be left
// open before closing in favor of a new roll.
DryRunCooldown string `protobuf:"bytes,35,opt,name=dry_run_cooldown,json=dryRunCooldown,proto3" json:"dry_run_cooldown,omitempty"`
// time_window in which the roller is allowed to upload roll CLs. See the
// go/time_window package for supported format.
TimeWindow string `protobuf:"bytes,13,opt,name=time_window,json=timeWindow,proto3" json:"time_window,omitempty"`
// supports_manual_rolls indicates whether this roller supports manual
// rolls.
SupportsManualRolls bool `protobuf:"varint,14,opt,name=supports_manual_rolls,json=supportsManualRolls,proto3" json:"supports_manual_rolls,omitempty"`
// commit_msg provides configuration for the commit message.
CommitMsg *CommitMsgConfig `protobuf:"bytes,15,opt,name=commit_msg,json=commitMsg,proto3" json:"commit_msg,omitempty"`
// code_review provides configuration for code review.
//
// Types that are assignable to CodeReview:
//
// *Config_Gerrit
// *Config_Github
// *Config_Google3
CodeReview isConfig_CodeReview `protobuf_oneof:"code_review"`
// kubernetes provides configuration for Kubernetes.
Kubernetes *KubernetesConfig `protobuf:"bytes,19,opt,name=kubernetes,proto3" json:"kubernetes,omitempty"`
// repo_manager provides configuration for the repo manager.
//
// Types that are assignable to RepoManager:
//
// *Config_ParentChildRepoManager
// *Config_AndroidRepoManager
// *Config_CommandRepoManager
// *Config_FreetypeRepoManager
// *Config_Google3RepoManager
RepoManager isConfig_RepoManager `protobuf_oneof:"repo_manager"`
// notifiers configures any extra notifications used by this roller. Optional.
Notifiers []*NotifierConfig `protobuf:"bytes,26,rep,name=notifiers,proto3" json:"notifiers,omitempty"`
// safety_throttle provides configuration for safety-throttling the roller
// in case of persistent errors.
SafetyThrottle *ThrottleConfig `protobuf:"bytes,27,opt,name=safety_throttle,json=safetyThrottle,proto3" json:"safety_throttle,omitempty"`
// transitive_deps is an optional mapping of dependency ID (eg. repo URL)
// to the paths within the parent and child repo, respectively, where
// those dependencies are versioned, eg. "DEPS".
// TODO(borenet): Where is this used? Why isn't it nested within the repo
// manager config?
TransitiveDeps []*TransitiveDepConfig `protobuf:"bytes,28,rep,name=transitive_deps,json=transitiveDeps,proto3" json:"transitive_deps,omitempty"`
// use_workload_identity indicates whether the roller uses workload
// identity. See skbug.com/12323
UseWorkloadIdentity bool `protobuf:"varint,31,opt,name=use_workload_identity,json=useWorkloadIdentity,proto3" json:"use_workload_identity,omitempty"`
// valid_modes lists the valid modes for the roller. If not specified, all
// modes are allowed.
ValidModes []Mode `protobuf:"varint,32,rep,packed,name=valid_modes,json=validModes,proto3,enum=autoroll.config.Mode" json:"valid_modes,omitempty"`
// max_roll_cq_attempts indicates the maximum number of commit queue
// attempts before abandoning a roll CL. If not set, the default is 3.
MaxRollCqAttempts int32 `protobuf:"varint,33,opt,name=max_roll_cq_attempts,json=maxRollCqAttempts,proto3" json:"max_roll_cq_attempts,omitempty"`
// max_roll_cls_to_same_revision indicates the maximum number of roll CLs to
// the same revision before giving up. If not set, the default is 3.
MaxRollClsToSameRevision int32 `protobuf:"varint,34,opt,name=max_roll_cls_to_same_revision,json=maxRollClsToSameRevision,proto3" json:"max_roll_cls_to_same_revision,omitempty"`
}
func (x *Config) Reset() {
*x = Config{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Config) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Config) ProtoMessage() {}
func (x *Config) ProtoReflect() protoreflect.Message {
mi := &file_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 Config.ProtoReflect.Descriptor instead.
func (*Config) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{0}
}
func (x *Config) GetRollerName() string {
if x != nil {
return x.RollerName
}
return ""
}
func (x *Config) GetChildBugLink() string {
if x != nil {
return x.ChildBugLink
}
return ""
}
func (x *Config) GetChildDisplayName() string {
if x != nil {
return x.ChildDisplayName
}
return ""
}
func (x *Config) GetParentBugLink() string {
if x != nil {
return x.ParentBugLink
}
return ""
}
func (x *Config) GetParentDisplayName() string {
if x != nil {
return x.ParentDisplayName
}
return ""
}
func (x *Config) GetParentWaterfall() string {
if x != nil {
return x.ParentWaterfall
}
return ""
}
func (x *Config) GetOwnerPrimary() string {
if x != nil {
return x.OwnerPrimary
}
return ""
}
func (x *Config) GetOwnerSecondary() string {
if x != nil {
return x.OwnerSecondary
}
return ""
}
func (x *Config) GetContacts() []string {
if x != nil {
return x.Contacts
}
return nil
}
func (x *Config) GetServiceAccount() string {
if x != nil {
return x.ServiceAccount
}
return ""
}
func (x *Config) GetIsInternal() bool {
if x != nil {
return x.IsInternal
}
return false
}
func (x *Config) GetReviewer() []string {
if x != nil {
return x.Reviewer
}
return nil
}
func (x *Config) GetReviewerBackup() []string {
if x != nil {
return x.ReviewerBackup
}
return nil
}
func (x *Config) GetRollCooldown() string {
if x != nil {
return x.RollCooldown
}
return ""
}
func (x *Config) GetDryRunCooldown() string {
if x != nil {
return x.DryRunCooldown
}
return ""
}
func (x *Config) GetTimeWindow() string {
if x != nil {
return x.TimeWindow
}
return ""
}
func (x *Config) GetSupportsManualRolls() bool {
if x != nil {
return x.SupportsManualRolls
}
return false
}
func (x *Config) GetCommitMsg() *CommitMsgConfig {
if x != nil {
return x.CommitMsg
}
return nil
}
func (m *Config) GetCodeReview() isConfig_CodeReview {
if m != nil {
return m.CodeReview
}
return nil
}
func (x *Config) GetGerrit() *GerritConfig {
if x, ok := x.GetCodeReview().(*Config_Gerrit); ok {
return x.Gerrit
}
return nil
}
func (x *Config) GetGithub() *GitHubConfig {
if x, ok := x.GetCodeReview().(*Config_Github); ok {
return x.Github
}
return nil
}
func (x *Config) GetGoogle3() *Google3Config {
if x, ok := x.GetCodeReview().(*Config_Google3); ok {
return x.Google3
}
return nil
}
func (x *Config) GetKubernetes() *KubernetesConfig {
if x != nil {
return x.Kubernetes
}
return nil
}
func (m *Config) GetRepoManager() isConfig_RepoManager {
if m != nil {
return m.RepoManager
}
return nil
}
func (x *Config) GetParentChildRepoManager() *ParentChildRepoManagerConfig {
if x, ok := x.GetRepoManager().(*Config_ParentChildRepoManager); ok {
return x.ParentChildRepoManager
}
return nil
}
func (x *Config) GetAndroidRepoManager() *AndroidRepoManagerConfig {
if x, ok := x.GetRepoManager().(*Config_AndroidRepoManager); ok {
return x.AndroidRepoManager
}
return nil
}
func (x *Config) GetCommandRepoManager() *CommandRepoManagerConfig {
if x, ok := x.GetRepoManager().(*Config_CommandRepoManager); ok {
return x.CommandRepoManager
}
return nil
}
func (x *Config) GetFreetypeRepoManager() *FreeTypeRepoManagerConfig {
if x, ok := x.GetRepoManager().(*Config_FreetypeRepoManager); ok {
return x.FreetypeRepoManager
}
return nil
}
func (x *Config) GetGoogle3RepoManager() *Google3RepoManagerConfig {
if x, ok := x.GetRepoManager().(*Config_Google3RepoManager); ok {
return x.Google3RepoManager
}
return nil
}
func (x *Config) GetNotifiers() []*NotifierConfig {
if x != nil {
return x.Notifiers
}
return nil
}
func (x *Config) GetSafetyThrottle() *ThrottleConfig {
if x != nil {
return x.SafetyThrottle
}
return nil
}
func (x *Config) GetTransitiveDeps() []*TransitiveDepConfig {
if x != nil {
return x.TransitiveDeps
}
return nil
}
func (x *Config) GetUseWorkloadIdentity() bool {
if x != nil {
return x.UseWorkloadIdentity
}
return false
}
func (x *Config) GetValidModes() []Mode {
if x != nil {
return x.ValidModes
}
return nil
}
func (x *Config) GetMaxRollCqAttempts() int32 {
if x != nil {
return x.MaxRollCqAttempts
}
return 0
}
func (x *Config) GetMaxRollClsToSameRevision() int32 {
if x != nil {
return x.MaxRollClsToSameRevision
}
return 0
}
type isConfig_CodeReview interface {
isConfig_CodeReview()
}
type Config_Gerrit struct {
// gerrit provides configuration for code review using Gerrit.
Gerrit *GerritConfig `protobuf:"bytes,16,opt,name=gerrit,proto3,oneof"`
}
type Config_Github struct {
// github provides configuration for code review using GitHub.
Github *GitHubConfig `protobuf:"bytes,17,opt,name=github,proto3,oneof"`
}
type Config_Google3 struct {
// google3 provides configuration for code review using Google3.
Google3 *Google3Config `protobuf:"bytes,18,opt,name=google3,proto3,oneof"`
}
func (*Config_Gerrit) isConfig_CodeReview() {}
func (*Config_Github) isConfig_CodeReview() {}
func (*Config_Google3) isConfig_CodeReview() {}
type isConfig_RepoManager interface {
isConfig_RepoManager()
}
type Config_ParentChildRepoManager struct {
ParentChildRepoManager *ParentChildRepoManagerConfig `protobuf:"bytes,20,opt,name=parent_child_repo_manager,json=parentChildRepoManager,proto3,oneof"`
}
type Config_AndroidRepoManager struct {
AndroidRepoManager *AndroidRepoManagerConfig `protobuf:"bytes,21,opt,name=android_repo_manager,json=androidRepoManager,proto3,oneof"`
}
type Config_CommandRepoManager struct {
CommandRepoManager *CommandRepoManagerConfig `protobuf:"bytes,22,opt,name=command_repo_manager,json=commandRepoManager,proto3,oneof"`
}
type Config_FreetypeRepoManager struct {
FreetypeRepoManager *FreeTypeRepoManagerConfig `protobuf:"bytes,23,opt,name=freetype_repo_manager,json=freetypeRepoManager,proto3,oneof"`
}
type Config_Google3RepoManager struct {
Google3RepoManager *Google3RepoManagerConfig `protobuf:"bytes,25,opt,name=google3_repo_manager,json=google3RepoManager,proto3,oneof"`
}
func (*Config_ParentChildRepoManager) isConfig_RepoManager() {}
func (*Config_AndroidRepoManager) isConfig_RepoManager() {}
func (*Config_CommandRepoManager) isConfig_RepoManager() {}
func (*Config_FreetypeRepoManager) isConfig_RepoManager() {}
func (*Config_Google3RepoManager) isConfig_RepoManager() {}
// CommitMsgConfig provides configuration for commit messages.
type CommitMsgConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// bug_project indicates which project (eg. in Monorail) the bugs attached
// to various revisions are associated with. If provided, any "Bug: " lines
// from revisions in the roll which match the given project name will be
// included in the roll itself.
BugProject string `protobuf:"bytes,1,opt,name=bug_project,json=bugProject,proto3" json:"bug_project,omitempty"`
// child_log_url_tmpl is a template for building log URLs using the IDs of
// the from- and to-revisions of the child for a given roll.
ChildLogUrlTmpl string `protobuf:"bytes,2,opt,name=child_log_url_tmpl,json=childLogUrlTmpl,proto3" json:"child_log_url_tmpl,omitempty"`
// cq_extra_trybots are additional tryjobs to trigger as part of the commit
// queue for every roll.
CqExtraTrybots []string `protobuf:"bytes,3,rep,name=cq_extra_trybots,json=cqExtraTrybots,proto3" json:"cq_extra_trybots,omitempty"`
// cq_do_not_cancel_trybots indicates that the commit queue should not
// cancel tryjobs from old patch sets when a new patch set is uploaded.
CqDoNotCancelTrybots bool `protobuf:"varint,4,opt,name=cq_do_not_cancel_trybots,json=cqDoNotCancelTrybots,proto3" json:"cq_do_not_cancel_trybots,omitempty"`
// include_log indicates whether the list of revisions contained in the roll
// should be included as part of the commit message.
IncludeLog bool `protobuf:"varint,5,opt,name=include_log,json=includeLog,proto3" json:"include_log,omitempty"`
// include_revision_count indicates whether the number of revisions
// contained in the roll should be included in the subject line of the
// commit message.
IncludeRevisionCount bool `protobuf:"varint,6,opt,name=include_revision_count,json=includeRevisionCount,proto3" json:"include_revision_count,omitempty"`
// include_tbr_line indicates whether the "TBR:" line should be included in
// the commit message. This is required for some commit queues.
IncludeTbrLine bool `protobuf:"varint,7,opt,name=include_tbr_line,json=includeTbrLine,proto3" json:"include_tbr_line,omitempty"`
// include_tests indicates whether the "Test: " lines from the revisions in
// the roll should be propagated through to the roll itself.
IncludeTests bool `protobuf:"varint,8,opt,name=include_tests,json=includeTests,proto3" json:"include_tests,omitempty"`
// extra_footers are any extra footers which should be added to all roll
// commit messages.
ExtraFooters []string `protobuf:"bytes,11,rep,name=extra_footers,json=extraFooters,proto3" json:"extra_footers,omitempty"`
// word_wrap indicates that the commit message should be limited to the
// given number of characters per line if provided.
WordWrap int32 `protobuf:"varint,12,opt,name=word_wrap,json=wordWrap,proto3" json:"word_wrap,omitempty"`
// built_in is the name of a built-in commit message template.
BuiltIn CommitMsgConfig_BuiltIn `protobuf:"varint,9,opt,name=built_in,json=builtIn,proto3,enum=autoroll.config.CommitMsgConfig_BuiltIn" json:"built_in,omitempty"`
// custom is a full custom commit message template string. It is possible to
// specify a built-in template and then override parts of it in the custom
// template.
Custom string `protobuf:"bytes,10,opt,name=custom,proto3" json:"custom,omitempty"`
}
func (x *CommitMsgConfig) Reset() {
*x = CommitMsgConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommitMsgConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommitMsgConfig) ProtoMessage() {}
func (x *CommitMsgConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 CommitMsgConfig.ProtoReflect.Descriptor instead.
func (*CommitMsgConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{1}
}
func (x *CommitMsgConfig) GetBugProject() string {
if x != nil {
return x.BugProject
}
return ""
}
func (x *CommitMsgConfig) GetChildLogUrlTmpl() string {
if x != nil {
return x.ChildLogUrlTmpl
}
return ""
}
func (x *CommitMsgConfig) GetCqExtraTrybots() []string {
if x != nil {
return x.CqExtraTrybots
}
return nil
}
func (x *CommitMsgConfig) GetCqDoNotCancelTrybots() bool {
if x != nil {
return x.CqDoNotCancelTrybots
}
return false
}
func (x *CommitMsgConfig) GetIncludeLog() bool {
if x != nil {
return x.IncludeLog
}
return false
}
func (x *CommitMsgConfig) GetIncludeRevisionCount() bool {
if x != nil {
return x.IncludeRevisionCount
}
return false
}
func (x *CommitMsgConfig) GetIncludeTbrLine() bool {
if x != nil {
return x.IncludeTbrLine
}
return false
}
func (x *CommitMsgConfig) GetIncludeTests() bool {
if x != nil {
return x.IncludeTests
}
return false
}
func (x *CommitMsgConfig) GetExtraFooters() []string {
if x != nil {
return x.ExtraFooters
}
return nil
}
func (x *CommitMsgConfig) GetWordWrap() int32 {
if x != nil {
return x.WordWrap
}
return 0
}
func (x *CommitMsgConfig) GetBuiltIn() CommitMsgConfig_BuiltIn {
if x != nil {
return x.BuiltIn
}
return CommitMsgConfig_DEFAULT
}
func (x *CommitMsgConfig) GetCustom() string {
if x != nil {
return x.Custom
}
return ""
}
// GerritConfig provides configuration for code review using Gerrit.
type GerritConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// url of the Gerrit host.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// project name for uploaded CLs.
Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
// config indicates the mode of operation used by the Gerrit host, which
// informs the roller of, for example, which labels to set. See the
// autoroll/go/codereview package for possible values.
Config GerritConfig_Config `protobuf:"varint,3,opt,name=config,proto3,enum=autoroll.config.GerritConfig_Config" json:"config,omitempty"`
}
func (x *GerritConfig) Reset() {
*x = GerritConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GerritConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GerritConfig) ProtoMessage() {}
func (x *GerritConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 GerritConfig.ProtoReflect.Descriptor instead.
func (*GerritConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{2}
}
func (x *GerritConfig) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *GerritConfig) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *GerritConfig) GetConfig() GerritConfig_Config {
if x != nil {
return x.Config
}
return GerritConfig_ANDROID
}
// GitHubConfig provides configuration for code review using GitHub.
type GitHubConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// repo_owner is the owner of the GitHub repo.
RepoOwner string `protobuf:"bytes,1,opt,name=repo_owner,json=repoOwner,proto3" json:"repo_owner,omitempty"`
// repo_name is the name of the GitHub repo.
RepoName string `protobuf:"bytes,2,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"`
// checks_wait_for indicates which GitHub checks must succeed before a pull
// request may be merged. If they are failing, we wait for them to succeed
// (eg. tree-status checks). Note: These checks are ignored during dry runs
// because the PR is not going to be submitted so the tree-status checks
// will not be important in that case.
ChecksWaitFor []string `protobuf:"bytes,3,rep,name=checks_wait_for,json=checksWaitFor,proto3" json:"checks_wait_for,omitempty"`
// token_secret is the name of the secret containing the auth token used to
// access the GitHub API.
TokenSecret string `protobuf:"bytes,4,opt,name=token_secret,json=tokenSecret,proto3" json:"token_secret,omitempty"`
// ssh_key_secret is the name of the secret containing the SSH key used to
// access GitHub repos.
SshKeySecret string `protobuf:"bytes,5,opt,name=ssh_key_secret,json=sshKeySecret,proto3" json:"ssh_key_secret,omitempty"`
}
func (x *GitHubConfig) Reset() {
*x = GitHubConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitHubConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitHubConfig) ProtoMessage() {}
func (x *GitHubConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 GitHubConfig.ProtoReflect.Descriptor instead.
func (*GitHubConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{3}
}
func (x *GitHubConfig) GetRepoOwner() string {
if x != nil {
return x.RepoOwner
}
return ""
}
func (x *GitHubConfig) GetRepoName() string {
if x != nil {
return x.RepoName
}
return ""
}
func (x *GitHubConfig) GetChecksWaitFor() []string {
if x != nil {
return x.ChecksWaitFor
}
return nil
}
func (x *GitHubConfig) GetTokenSecret() string {
if x != nil {
return x.TokenSecret
}
return ""
}
func (x *GitHubConfig) GetSshKeySecret() string {
if x != nil {
return x.SshKeySecret
}
return ""
}
// Google3Config is an empty configuration object for Google3.
type Google3Config struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Google3Config) Reset() {
*x = Google3Config{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Google3Config) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Google3Config) ProtoMessage() {}
func (x *Google3Config) ProtoReflect() protoreflect.Message {
mi := &file_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 Google3Config.ProtoReflect.Descriptor instead.
func (*Google3Config) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{4}
}
// KubernetesConfig provides Kubernetes configuration for the autoroll backend
// service for this roller.
type KubernetesConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// cpu is the requested number of CPUs, eg. "250m".
Cpu string `protobuf:"bytes,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
// memory is the requested memory, eg. "2Gi".
Memory string `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"`
// readiness_failure_threshold indicates how many times the ready check may
// fail.
ReadinessFailureThreshold int32 `protobuf:"varint,3,opt,name=readiness_failure_threshold,json=readinessFailureThreshold,proto3" json:"readiness_failure_threshold,omitempty"`
// readiness_initial_delay_seconds indicates how long to wait before
// performing the ready check for the first time.
ReadinessInitialDelaySeconds int32 `protobuf:"varint,4,opt,name=readiness_initial_delay_seconds,json=readinessInitialDelaySeconds,proto3" json:"readiness_initial_delay_seconds,omitempty"`
// readiness_period_seconds indicates how often to perform the ready check.
ReadinessPeriodSeconds int32 `protobuf:"varint,5,opt,name=readiness_period_seconds,json=readinessPeriodSeconds,proto3" json:"readiness_period_seconds,omitempty"`
// disk indicates the size of the requested persistent disk. If not
// specified, no persistent disk is used.
Disk string `protobuf:"bytes,6,opt,name=disk,proto3" json:"disk,omitempty"`
// image used for the autoroll backend container.
Image string `protobuf:"bytes,8,opt,name=image,proto3" json:"image,omitempty"`
// extra_flags to pass to the autoroll-be binary.
ExtraFlags []string `protobuf:"bytes,9,rep,name=extra_flags,json=extraFlags,proto3" json:"extra_flags,omitempty"`
}
func (x *KubernetesConfig) Reset() {
*x = KubernetesConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KubernetesConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KubernetesConfig) ProtoMessage() {}
func (x *KubernetesConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 KubernetesConfig.ProtoReflect.Descriptor instead.
func (*KubernetesConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{5}
}
func (x *KubernetesConfig) GetCpu() string {
if x != nil {
return x.Cpu
}
return ""
}
func (x *KubernetesConfig) GetMemory() string {
if x != nil {
return x.Memory
}
return ""
}
func (x *KubernetesConfig) GetReadinessFailureThreshold() int32 {
if x != nil {
return x.ReadinessFailureThreshold
}
return 0
}
func (x *KubernetesConfig) GetReadinessInitialDelaySeconds() int32 {
if x != nil {
return x.ReadinessInitialDelaySeconds
}
return 0
}
func (x *KubernetesConfig) GetReadinessPeriodSeconds() int32 {
if x != nil {
return x.ReadinessPeriodSeconds
}
return 0
}
func (x *KubernetesConfig) GetDisk() string {
if x != nil {
return x.Disk
}
return ""
}
func (x *KubernetesConfig) GetImage() string {
if x != nil {
return x.Image
}
return ""
}
func (x *KubernetesConfig) GetExtraFlags() []string {
if x != nil {
return x.ExtraFlags
}
return nil
}
// AndroidRepoManagerConfig provides configuration for a roller which rolls into
// Android.
type AndroidRepoManagerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// child_repo_url is the URL of the child repo.
ChildRepoUrl string `protobuf:"bytes,1,opt,name=child_repo_url,json=childRepoUrl,proto3" json:"child_repo_url,omitempty"`
// child_branch is the Git branch of the child repo to track.
ChildBranch string `protobuf:"bytes,2,opt,name=child_branch,json=childBranch,proto3" json:"child_branch,omitempty"`
// child_path is the path to the child repo within the parent.
ChildPath string `protobuf:"bytes,3,opt,name=child_path,json=childPath,proto3" json:"child_path,omitempty"`
// parent_repo_url is the URL of the parent repo.
ParentRepoUrl string `protobuf:"bytes,4,opt,name=parent_repo_url,json=parentRepoUrl,proto3" json:"parent_repo_url,omitempty"`
// parent_branch is the Git branch of the parent repo to track.
ParentBranch string `protobuf:"bytes,5,opt,name=parent_branch,json=parentBranch,proto3" json:"parent_branch,omitempty"`
// child_rev_link_tmpl is a template used to create links to revisions of
// the child repo. If not supplied, no links will be created.
ChildRevLinkTmpl string `protobuf:"bytes,6,opt,name=child_rev_link_tmpl,json=childRevLinkTmpl,proto3" json:"child_rev_link_tmpl,omitempty"`
// child_subdir indicates the subdirectory of the working directory (not the
// parent repo) in which the child_path should be rooted. In most cases this
// should be empty, but if child_path is relative to the parent repo dir
// (eg. when DEPS specifies use_relative_paths), then this is required.
ChildSubdir string `protobuf:"bytes,7,opt,name=child_subdir,json=childSubdir,proto3" json:"child_subdir,omitempty"`
// pre_upload_steps are named steps to run before uploading roll CLs.
PreUploadSteps []PreUploadStep `protobuf:"varint,8,rep,packed,name=pre_upload_steps,json=preUploadSteps,proto3,enum=autoroll.config.PreUploadStep" json:"pre_upload_steps,omitempty"`
// metadata about the child project which should be updated in a file
// checked into the parent repo.
Metadata *AndroidRepoManagerConfig_ProjectMetadataFileConfig `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
// include_authors_as_reviewers determines whether the authors of rolled
// changes should be included as change reviewers.
IncludeAuthorsAsReviewers bool `protobuf:"varint,10,opt,name=include_authors_as_reviewers,json=includeAuthorsAsReviewers,proto3" json:"include_authors_as_reviewers,omitempty"`
// pre_upload describes command(s) to run before uploading roll CLs.
PreUploadCommands *PreUploadConfig `protobuf:"bytes,11,opt,name=pre_upload_commands,json=preUploadCommands,proto3" json:"pre_upload_commands,omitempty"`
// auto_approver_secret indicates that the roller should use the given
// secret containing an auto-approver service account key to approve its own
// changes.
AutoApproverSecret string `protobuf:"bytes,12,opt,name=auto_approver_secret,json=autoApproverSecret,proto3" json:"auto_approver_secret,omitempty"`
// default_bug_project indicates the Monorail project used when no project
// is specified in "Bug: 123" lines in commit messages.
DefaultBugProject string `protobuf:"bytes,13,opt,name=default_bug_project,json=defaultBugProject,proto3" json:"default_bug_project,omitempty"`
}
func (x *AndroidRepoManagerConfig) Reset() {
*x = AndroidRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AndroidRepoManagerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AndroidRepoManagerConfig) ProtoMessage() {}
func (x *AndroidRepoManagerConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 AndroidRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*AndroidRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{6}
}
func (x *AndroidRepoManagerConfig) GetChildRepoUrl() string {
if x != nil {
return x.ChildRepoUrl
}
return ""
}
func (x *AndroidRepoManagerConfig) GetChildBranch() string {
if x != nil {
return x.ChildBranch
}
return ""
}
func (x *AndroidRepoManagerConfig) GetChildPath() string {
if x != nil {
return x.ChildPath
}
return ""
}
func (x *AndroidRepoManagerConfig) GetParentRepoUrl() string {
if x != nil {
return x.ParentRepoUrl
}
return ""
}
func (x *AndroidRepoManagerConfig) GetParentBranch() string {
if x != nil {
return x.ParentBranch
}
return ""
}
func (x *AndroidRepoManagerConfig) GetChildRevLinkTmpl() string {
if x != nil {
return x.ChildRevLinkTmpl
}
return ""
}
func (x *AndroidRepoManagerConfig) GetChildSubdir() string {
if x != nil {
return x.ChildSubdir
}
return ""
}
func (x *AndroidRepoManagerConfig) GetPreUploadSteps() []PreUploadStep {
if x != nil {
return x.PreUploadSteps
}
return nil
}
func (x *AndroidRepoManagerConfig) GetMetadata() *AndroidRepoManagerConfig_ProjectMetadataFileConfig {
if x != nil {
return x.Metadata
}
return nil
}
func (x *AndroidRepoManagerConfig) GetIncludeAuthorsAsReviewers() bool {
if x != nil {
return x.IncludeAuthorsAsReviewers
}
return false
}
func (x *AndroidRepoManagerConfig) GetPreUploadCommands() *PreUploadConfig {
if x != nil {
return x.PreUploadCommands
}
return nil
}
func (x *AndroidRepoManagerConfig) GetAutoApproverSecret() string {
if x != nil {
return x.AutoApproverSecret
}
return ""
}
func (x *AndroidRepoManagerConfig) GetDefaultBugProject() string {
if x != nil {
return x.DefaultBugProject
}
return ""
}
// CommandRepoManagerConfig provides configuration for a roller which runs
// specified commands to perform different functions.
type CommandRepoManagerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// git_checkout configures the Git checkout of the parent repo.
GitCheckout *GitCheckoutConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
// short_rev_regex is a regular expression used to shorten revision IDs for
// display.
ShortRevRegex string `protobuf:"bytes,2,opt,name=short_rev_regex,json=shortRevRegex,proto3" json:"short_rev_regex,omitempty"`
// get_tip_rev is a command used to obtain the latest revision of the Child.
GetTipRev *CommandRepoManagerConfig_CommandConfig `protobuf:"bytes,3,opt,name=get_tip_rev,json=getTipRev,proto3" json:"get_tip_rev,omitempty"`
// get_pinned_rev is a command used to obtain the currently-pinned revision
// of the Child.
GetPinnedRev *CommandRepoManagerConfig_CommandConfig `protobuf:"bytes,4,opt,name=get_pinned_rev,json=getPinnedRev,proto3" json:"get_pinned_rev,omitempty"`
// set_pinned_rev is a command used to update the currently-pinned revision
// of the Child.
SetPinnedRev *CommandRepoManagerConfig_CommandConfig `protobuf:"bytes,5,opt,name=set_pinned_rev,json=setPinnedRev,proto3" json:"set_pinned_rev,omitempty"`
}
func (x *CommandRepoManagerConfig) Reset() {
*x = CommandRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommandRepoManagerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommandRepoManagerConfig) ProtoMessage() {}
func (x *CommandRepoManagerConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 CommandRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*CommandRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{7}
}
func (x *CommandRepoManagerConfig) GetGitCheckout() *GitCheckoutConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *CommandRepoManagerConfig) GetShortRevRegex() string {
if x != nil {
return x.ShortRevRegex
}
return ""
}
func (x *CommandRepoManagerConfig) GetGetTipRev() *CommandRepoManagerConfig_CommandConfig {
if x != nil {
return x.GetTipRev
}
return nil
}
func (x *CommandRepoManagerConfig) GetGetPinnedRev() *CommandRepoManagerConfig_CommandConfig {
if x != nil {
return x.GetPinnedRev
}
return nil
}
func (x *CommandRepoManagerConfig) GetSetPinnedRev() *CommandRepoManagerConfig_CommandConfig {
if x != nil {
return x.SetPinnedRev
}
return nil
}
// FreeTypeRepoManagerConfig provides configuration for the FreeType roller.
type FreeTypeRepoManagerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Parent *FreeTypeParentConfig `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
Child *GitilesChildConfig `protobuf:"bytes,2,opt,name=child,proto3" json:"child,omitempty"`
}
func (x *FreeTypeRepoManagerConfig) Reset() {
*x = FreeTypeRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FreeTypeRepoManagerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FreeTypeRepoManagerConfig) ProtoMessage() {}
func (x *FreeTypeRepoManagerConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_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 FreeTypeRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*FreeTypeRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{8}
}
func (x *FreeTypeRepoManagerConfig) GetParent() *FreeTypeParentConfig {
if x != nil {
return x.Parent
}
return nil
}
func (x *FreeTypeRepoManagerConfig) GetChild() *GitilesChildConfig {
if x != nil {
return x.Child
}
return nil
}
// Google3RepoManagerConfig provides configuration for a roller into Google3.
type Google3RepoManagerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// child_branch is the branch of the child repo to track.
ChildBranch string `protobuf:"bytes,1,opt,name=child_branch,json=childBranch,proto3" json:"child_branch,omitempty"`
// child_repo is the URL of the child repo.
ChildRepo string `protobuf:"bytes,2,opt,name=child_repo,json=childRepo,proto3" json:"child_repo,omitempty"`
}
func (x *Google3RepoManagerConfig) Reset() {
*x = Google3RepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Google3RepoManagerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Google3RepoManagerConfig) ProtoMessage() {}
func (x *Google3RepoManagerConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 Google3RepoManagerConfig.ProtoReflect.Descriptor instead.
func (*Google3RepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{9}
}
func (x *Google3RepoManagerConfig) GetChildBranch() string {
if x != nil {
return x.ChildBranch
}
return ""
}
func (x *Google3RepoManagerConfig) GetChildRepo() string {
if x != nil {
return x.ChildRepo
}
return ""
}
// ParentChildRepoManagerConfig provides configuration for a roller which
// combines a pre-defined Parent and Child type.
type ParentChildRepoManagerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// parent is the entity which depends on the child and receives the rolls.
//
// Types that are assignable to Parent:
//
// *ParentChildRepoManagerConfig_CopyParent
// *ParentChildRepoManagerConfig_DepsLocalGithubParent
// *ParentChildRepoManagerConfig_DepsLocalGerritParent
// *ParentChildRepoManagerConfig_GitCheckoutGithubFileParent
// *ParentChildRepoManagerConfig_GitilesParent
// *ParentChildRepoManagerConfig_GoModGerritParent
Parent isParentChildRepoManagerConfig_Parent `protobuf_oneof:"parent"`
// child is the entity which is depended on by the parent and is rolled.
//
// Types that are assignable to Child:
//
// *ParentChildRepoManagerConfig_CipdChild
// *ParentChildRepoManagerConfig_FuchsiaSdkChild
// *ParentChildRepoManagerConfig_GitCheckoutChild
// *ParentChildRepoManagerConfig_GitCheckoutGithubChild
// *ParentChildRepoManagerConfig_GitilesChild
// *ParentChildRepoManagerConfig_SemverGcsChild
// *ParentChildRepoManagerConfig_DockerChild
Child isParentChildRepoManagerConfig_Child `protobuf_oneof:"child"`
// revision_filter filters out revisions of the child which should not be
// considered as roll candidates.
BuildbucketRevisionFilter []*BuildbucketRevisionFilterConfig `protobuf:"bytes,12,rep,name=buildbucket_revision_filter,json=buildbucketRevisionFilter,proto3" json:"buildbucket_revision_filter,omitempty"`
CipdRevisionFilter []*CIPDRevisionFilterConfig `protobuf:"bytes,13,rep,name=cipd_revision_filter,json=cipdRevisionFilter,proto3" json:"cipd_revision_filter,omitempty"`
ValidHttpRevisionFilter []*ValidHttpRevisionFilterConfig `protobuf:"bytes,15,rep,name=valid_http_revision_filter,json=validHttpRevisionFilter,proto3" json:"valid_http_revision_filter,omitempty"`
}
func (x *ParentChildRepoManagerConfig) Reset() {
*x = ParentChildRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParentChildRepoManagerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParentChildRepoManagerConfig) ProtoMessage() {}
func (x *ParentChildRepoManagerConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 ParentChildRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*ParentChildRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{10}
}
func (m *ParentChildRepoManagerConfig) GetParent() isParentChildRepoManagerConfig_Parent {
if m != nil {
return m.Parent
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetCopyParent() *CopyParentConfig {
if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_CopyParent); ok {
return x.CopyParent
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetDepsLocalGithubParent() *DEPSLocalGitHubParentConfig {
if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_DepsLocalGithubParent); ok {
return x.DepsLocalGithubParent
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetDepsLocalGerritParent() *DEPSLocalGerritParentConfig {
if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_DepsLocalGerritParent); ok {
return x.DepsLocalGerritParent
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetGitCheckoutGithubFileParent() *GitCheckoutGitHubFileParentConfig {
if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_GitCheckoutGithubFileParent); ok {
return x.GitCheckoutGithubFileParent
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetGitilesParent() *GitilesParentConfig {
if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_GitilesParent); ok {
return x.GitilesParent
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetGoModGerritParent() *GoModGerritParentConfig {
if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_GoModGerritParent); ok {
return x.GoModGerritParent
}
return nil
}
func (m *ParentChildRepoManagerConfig) GetChild() isParentChildRepoManagerConfig_Child {
if m != nil {
return m.Child
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetCipdChild() *CIPDChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_CipdChild); ok {
return x.CipdChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetFuchsiaSdkChild() *FuchsiaSDKChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_FuchsiaSdkChild); ok {
return x.FuchsiaSdkChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetGitCheckoutChild() *GitCheckoutChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_GitCheckoutChild); ok {
return x.GitCheckoutChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetGitCheckoutGithubChild() *GitCheckoutGitHubChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_GitCheckoutGithubChild); ok {
return x.GitCheckoutGithubChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetGitilesChild() *GitilesChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_GitilesChild); ok {
return x.GitilesChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetSemverGcsChild() *SemVerGCSChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_SemverGcsChild); ok {
return x.SemverGcsChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetDockerChild() *DockerChildConfig {
if x, ok := x.GetChild().(*ParentChildRepoManagerConfig_DockerChild); ok {
return x.DockerChild
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetBuildbucketRevisionFilter() []*BuildbucketRevisionFilterConfig {
if x != nil {
return x.BuildbucketRevisionFilter
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetCipdRevisionFilter() []*CIPDRevisionFilterConfig {
if x != nil {
return x.CipdRevisionFilter
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetValidHttpRevisionFilter() []*ValidHttpRevisionFilterConfig {
if x != nil {
return x.ValidHttpRevisionFilter
}
return nil
}
type isParentChildRepoManagerConfig_Parent interface {
isParentChildRepoManagerConfig_Parent()
}
type ParentChildRepoManagerConfig_CopyParent struct {
CopyParent *CopyParentConfig `protobuf:"bytes,1,opt,name=copy_parent,json=copyParent,proto3,oneof"`
}
type ParentChildRepoManagerConfig_DepsLocalGithubParent struct {
DepsLocalGithubParent *DEPSLocalGitHubParentConfig `protobuf:"bytes,2,opt,name=deps_local_github_parent,json=depsLocalGithubParent,proto3,oneof"`
}
type ParentChildRepoManagerConfig_DepsLocalGerritParent struct {
DepsLocalGerritParent *DEPSLocalGerritParentConfig `protobuf:"bytes,3,opt,name=deps_local_gerrit_parent,json=depsLocalGerritParent,proto3,oneof"`
}
type ParentChildRepoManagerConfig_GitCheckoutGithubFileParent struct {
GitCheckoutGithubFileParent *GitCheckoutGitHubFileParentConfig `protobuf:"bytes,4,opt,name=git_checkout_github_file_parent,json=gitCheckoutGithubFileParent,proto3,oneof"`
}
type ParentChildRepoManagerConfig_GitilesParent struct {
GitilesParent *GitilesParentConfig `protobuf:"bytes,5,opt,name=gitiles_parent,json=gitilesParent,proto3,oneof"`
}
type ParentChildRepoManagerConfig_GoModGerritParent struct {
GoModGerritParent *GoModGerritParentConfig `protobuf:"bytes,14,opt,name=go_mod_gerrit_parent,json=goModGerritParent,proto3,oneof"`
}
func (*ParentChildRepoManagerConfig_CopyParent) isParentChildRepoManagerConfig_Parent() {}
func (*ParentChildRepoManagerConfig_DepsLocalGithubParent) isParentChildRepoManagerConfig_Parent() {}
func (*ParentChildRepoManagerConfig_DepsLocalGerritParent) isParentChildRepoManagerConfig_Parent() {}
func (*ParentChildRepoManagerConfig_GitCheckoutGithubFileParent) isParentChildRepoManagerConfig_Parent() {
}
func (*ParentChildRepoManagerConfig_GitilesParent) isParentChildRepoManagerConfig_Parent() {}
func (*ParentChildRepoManagerConfig_GoModGerritParent) isParentChildRepoManagerConfig_Parent() {}
type isParentChildRepoManagerConfig_Child interface {
isParentChildRepoManagerConfig_Child()
}
type ParentChildRepoManagerConfig_CipdChild struct {
CipdChild *CIPDChildConfig `protobuf:"bytes,6,opt,name=cipd_child,json=cipdChild,proto3,oneof"`
}
type ParentChildRepoManagerConfig_FuchsiaSdkChild struct {
FuchsiaSdkChild *FuchsiaSDKChildConfig `protobuf:"bytes,7,opt,name=fuchsia_sdk_child,json=fuchsiaSdkChild,proto3,oneof"`
}
type ParentChildRepoManagerConfig_GitCheckoutChild struct {
GitCheckoutChild *GitCheckoutChildConfig `protobuf:"bytes,8,opt,name=git_checkout_child,json=gitCheckoutChild,proto3,oneof"`
}
type ParentChildRepoManagerConfig_GitCheckoutGithubChild struct {
GitCheckoutGithubChild *GitCheckoutGitHubChildConfig `protobuf:"bytes,9,opt,name=git_checkout_github_child,json=gitCheckoutGithubChild,proto3,oneof"`
}
type ParentChildRepoManagerConfig_GitilesChild struct {
GitilesChild *GitilesChildConfig `protobuf:"bytes,10,opt,name=gitiles_child,json=gitilesChild,proto3,oneof"`
}
type ParentChildRepoManagerConfig_SemverGcsChild struct {
SemverGcsChild *SemVerGCSChildConfig `protobuf:"bytes,11,opt,name=semver_gcs_child,json=semverGcsChild,proto3,oneof"`
}
type ParentChildRepoManagerConfig_DockerChild struct {
DockerChild *DockerChildConfig `protobuf:"bytes,16,opt,name=docker_child,json=dockerChild,proto3,oneof"`
}
func (*ParentChildRepoManagerConfig_CipdChild) isParentChildRepoManagerConfig_Child() {}
func (*ParentChildRepoManagerConfig_FuchsiaSdkChild) isParentChildRepoManagerConfig_Child() {}
func (*ParentChildRepoManagerConfig_GitCheckoutChild) isParentChildRepoManagerConfig_Child() {}
func (*ParentChildRepoManagerConfig_GitCheckoutGithubChild) isParentChildRepoManagerConfig_Child() {}
func (*ParentChildRepoManagerConfig_GitilesChild) isParentChildRepoManagerConfig_Child() {}
func (*ParentChildRepoManagerConfig_SemverGcsChild) isParentChildRepoManagerConfig_Child() {}
func (*ParentChildRepoManagerConfig_DockerChild) isParentChildRepoManagerConfig_Child() {}
// CopyParentConfig provides configuration for a Parent which copies the Child
// into itself. It uses Gitiles and Gerrit instead of a local checkout.
type CopyParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Gitiles *GitilesParentConfig `protobuf:"bytes,1,opt,name=gitiles,proto3" json:"gitiles,omitempty"`
Copies []*CopyParentConfig_CopyEntry `protobuf:"bytes,2,rep,name=copies,proto3" json:"copies,omitempty"`
}
func (x *CopyParentConfig) Reset() {
*x = CopyParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CopyParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CopyParentConfig) ProtoMessage() {}
func (x *CopyParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 CopyParentConfig.ProtoReflect.Descriptor instead.
func (*CopyParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{11}
}
func (x *CopyParentConfig) GetGitiles() *GitilesParentConfig {
if x != nil {
return x.Gitiles
}
return nil
}
func (x *CopyParentConfig) GetCopies() []*CopyParentConfig_CopyEntry {
if x != nil {
return x.Copies
}
return nil
}
// DEPSLocalGitHubParentConfig provides configuration for a Parent which uses a
// local Git checkout with DEPS and uploads pull requests to GitHub.
type DEPSLocalGitHubParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DepsLocal *DEPSLocalParentConfig `protobuf:"bytes,1,opt,name=deps_local,json=depsLocal,proto3" json:"deps_local,omitempty"`
Github *GitHubConfig `protobuf:"bytes,2,opt,name=github,proto3" json:"github,omitempty"`
ForkRepoUrl string `protobuf:"bytes,3,opt,name=fork_repo_url,json=forkRepoUrl,proto3" json:"fork_repo_url,omitempty"`
}
func (x *DEPSLocalGitHubParentConfig) Reset() {
*x = DEPSLocalGitHubParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DEPSLocalGitHubParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DEPSLocalGitHubParentConfig) ProtoMessage() {}
func (x *DEPSLocalGitHubParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 DEPSLocalGitHubParentConfig.ProtoReflect.Descriptor instead.
func (*DEPSLocalGitHubParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{12}
}
func (x *DEPSLocalGitHubParentConfig) GetDepsLocal() *DEPSLocalParentConfig {
if x != nil {
return x.DepsLocal
}
return nil
}
func (x *DEPSLocalGitHubParentConfig) GetGithub() *GitHubConfig {
if x != nil {
return x.Github
}
return nil
}
func (x *DEPSLocalGitHubParentConfig) GetForkRepoUrl() string {
if x != nil {
return x.ForkRepoUrl
}
return ""
}
// DEPSLocalGerritParentConfig provides configuration for a Parent which uses a
// local Git checkout with DEPS and uploads CLs to Gerrit.
type DEPSLocalGerritParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DepsLocal *DEPSLocalParentConfig `protobuf:"bytes,1,opt,name=deps_local,json=depsLocal,proto3" json:"deps_local,omitempty"`
Gerrit *GerritConfig `protobuf:"bytes,2,opt,name=gerrit,proto3" json:"gerrit,omitempty"`
}
func (x *DEPSLocalGerritParentConfig) Reset() {
*x = DEPSLocalGerritParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DEPSLocalGerritParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DEPSLocalGerritParentConfig) ProtoMessage() {}
func (x *DEPSLocalGerritParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 DEPSLocalGerritParentConfig.ProtoReflect.Descriptor instead.
func (*DEPSLocalGerritParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{13}
}
func (x *DEPSLocalGerritParentConfig) GetDepsLocal() *DEPSLocalParentConfig {
if x != nil {
return x.DepsLocal
}
return nil
}
func (x *DEPSLocalGerritParentConfig) GetGerrit() *GerritConfig {
if x != nil {
return x.Gerrit
}
return nil
}
// GitCheckoutGitHubParentConfig provides configuration for a Parent which
// uses a local Git checkout and uploads pull requests to GitHub.
// TODO(borenet): Why doesn't this contain the GitHubConfig? Is this even
// needed?
type GitCheckoutGitHubParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutParentConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
ForkRepoUrl string `protobuf:"bytes,2,opt,name=fork_repo_url,json=forkRepoUrl,proto3" json:"fork_repo_url,omitempty"`
}
func (x *GitCheckoutGitHubParentConfig) Reset() {
*x = GitCheckoutGitHubParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitCheckoutGitHubParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitCheckoutGitHubParentConfig) ProtoMessage() {}
func (x *GitCheckoutGitHubParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_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 GitCheckoutGitHubParentConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutGitHubParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{14}
}
func (x *GitCheckoutGitHubParentConfig) GetGitCheckout() *GitCheckoutParentConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *GitCheckoutGitHubParentConfig) GetForkRepoUrl() string {
if x != nil {
return x.ForkRepoUrl
}
return ""
}
// GitCheckoutGitHubFileParentConfig provides configuration for a Parent which
// uses a local Git checkout and uploads pull requests to GitHub.
type GitCheckoutGitHubFileParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutGitHubParentConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
PreUploadSteps []PreUploadStep `protobuf:"varint,2,rep,packed,name=pre_upload_steps,json=preUploadSteps,proto3,enum=autoroll.config.PreUploadStep" json:"pre_upload_steps,omitempty"`
// pre_upload describes command(s) to run before uploading roll CLs.
PreUploadCommands *PreUploadConfig `protobuf:"bytes,3,opt,name=pre_upload_commands,json=preUploadCommands,proto3" json:"pre_upload_commands,omitempty"`
}
func (x *GitCheckoutGitHubFileParentConfig) Reset() {
*x = GitCheckoutGitHubFileParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitCheckoutGitHubFileParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitCheckoutGitHubFileParentConfig) ProtoMessage() {}
func (x *GitCheckoutGitHubFileParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitCheckoutGitHubFileParentConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutGitHubFileParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{15}
}
func (x *GitCheckoutGitHubFileParentConfig) GetGitCheckout() *GitCheckoutGitHubParentConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *GitCheckoutGitHubFileParentConfig) GetPreUploadSteps() []PreUploadStep {
if x != nil {
return x.PreUploadSteps
}
return nil
}
func (x *GitCheckoutGitHubFileParentConfig) GetPreUploadCommands() *PreUploadConfig {
if x != nil {
return x.PreUploadCommands
}
return nil
}
// GitilesParentConfig provides configuration for a Parent which uses Gitiles.
type GitilesParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Gitiles *GitilesConfig `protobuf:"bytes,1,opt,name=gitiles,proto3" json:"gitiles,omitempty"`
Dep *DependencyConfig `protobuf:"bytes,2,opt,name=dep,proto3" json:"dep,omitempty"`
Gerrit *GerritConfig `protobuf:"bytes,3,opt,name=gerrit,proto3" json:"gerrit,omitempty"`
}
func (x *GitilesParentConfig) Reset() {
*x = GitilesParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitilesParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitilesParentConfig) ProtoMessage() {}
func (x *GitilesParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitilesParentConfig.ProtoReflect.Descriptor instead.
func (*GitilesParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{16}
}
func (x *GitilesParentConfig) GetGitiles() *GitilesConfig {
if x != nil {
return x.Gitiles
}
return nil
}
func (x *GitilesParentConfig) GetDep() *DependencyConfig {
if x != nil {
return x.Dep
}
return nil
}
func (x *GitilesParentConfig) GetGerrit() *GerritConfig {
if x != nil {
return x.Gerrit
}
return nil
}
// GitilesConfig provides configuration for a Git repo in Gitiles.
type GitilesConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// branch to track.
Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"`
// repo_url from which to load Git data.
RepoUrl string `protobuf:"bytes,2,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
// dependencies is an optional specification of dependencies to track.
// Revisions generated by the checkout will contain the pinned versions of
// these dependencies.
Dependencies []*VersionFileConfig `protobuf:"bytes,3,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
// default_bug_project indicates the Monorail project used when no project
// is specified in "Bug: 123" lines in commit messages.
DefaultBugProject string `protobuf:"bytes,4,opt,name=default_bug_project,json=defaultBugProject,proto3" json:"default_bug_project,omitempty"`
}
func (x *GitilesConfig) Reset() {
*x = GitilesConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitilesConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitilesConfig) ProtoMessage() {}
func (x *GitilesConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitilesConfig.ProtoReflect.Descriptor instead.
func (*GitilesConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{17}
}
func (x *GitilesConfig) GetBranch() string {
if x != nil {
return x.Branch
}
return ""
}
func (x *GitilesConfig) GetRepoUrl() string {
if x != nil {
return x.RepoUrl
}
return ""
}
func (x *GitilesConfig) GetDependencies() []*VersionFileConfig {
if x != nil {
return x.Dependencies
}
return nil
}
func (x *GitilesConfig) GetDefaultBugProject() string {
if x != nil {
return x.DefaultBugProject
}
return ""
}
// GoModGerritParentConfig provides configuration for a Parent which uses Go
// modules and uploads pull requests to Gerrit.
type GoModGerritParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GoMod *GoModParentConfig `protobuf:"bytes,1,opt,name=go_mod,json=goMod,proto3" json:"go_mod,omitempty"`
Gerrit *GerritConfig `protobuf:"bytes,2,opt,name=gerrit,proto3" json:"gerrit,omitempty"`
}
func (x *GoModGerritParentConfig) Reset() {
*x = GoModGerritParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GoModGerritParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoModGerritParentConfig) ProtoMessage() {}
func (x *GoModGerritParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoModGerritParentConfig.ProtoReflect.Descriptor instead.
func (*GoModGerritParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{18}
}
func (x *GoModGerritParentConfig) GetGoMod() *GoModParentConfig {
if x != nil {
return x.GoMod
}
return nil
}
func (x *GoModGerritParentConfig) GetGerrit() *GerritConfig {
if x != nil {
return x.Gerrit
}
return nil
}
// GoModParentConfig provides configuration for a Parent which uses Go modules.
type GoModParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
// module_path is the Go module path of the dependency.
ModulePath string `protobuf:"bytes,2,opt,name=module_path,json=modulePath,proto3" json:"module_path,omitempty"`
// find_and_replace lists additional files in which all instances of the
// previous primary revision ID should be replaced with the new primary
// revision ID.
FindAndReplace []string `protobuf:"bytes,3,rep,name=find_and_replace,json=findAndReplace,proto3" json:"find_and_replace,omitempty"`
// pre_upload_steps are steps to run before uploading the CL.
PreUploadSteps []PreUploadStep `protobuf:"varint,4,rep,packed,name=pre_upload_steps,json=preUploadSteps,proto3,enum=autoroll.config.PreUploadStep" json:"pre_upload_steps,omitempty"`
// pre_upload describes command(s) to run before uploading roll CLs.
PreUploadCommands *PreUploadConfig `protobuf:"bytes,5,opt,name=pre_upload_commands,json=preUploadCommands,proto3" json:"pre_upload_commands,omitempty"`
// go_cmd is an alternate command to run to invoke Go, eg. for hermetic
// installation via Bazel.
GoCmd string `protobuf:"bytes,6,opt,name=go_cmd,json=goCmd,proto3" json:"go_cmd,omitempty"`
}
func (x *GoModParentConfig) Reset() {
*x = GoModParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GoModParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoModParentConfig) ProtoMessage() {}
func (x *GoModParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoModParentConfig.ProtoReflect.Descriptor instead.
func (*GoModParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{19}
}
func (x *GoModParentConfig) GetGitCheckout() *GitCheckoutConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *GoModParentConfig) GetModulePath() string {
if x != nil {
return x.ModulePath
}
return ""
}
func (x *GoModParentConfig) GetFindAndReplace() []string {
if x != nil {
return x.FindAndReplace
}
return nil
}
func (x *GoModParentConfig) GetPreUploadSteps() []PreUploadStep {
if x != nil {
return x.PreUploadSteps
}
return nil
}
func (x *GoModParentConfig) GetPreUploadCommands() *PreUploadConfig {
if x != nil {
return x.PreUploadCommands
}
return nil
}
func (x *GoModParentConfig) GetGoCmd() string {
if x != nil {
return x.GoCmd
}
return ""
}
// DEPSLocalConfig provides configuration for a Parent which uses a local
// checkout and DEPS to manage dependencies.
type DEPSLocalParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutParentConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
// child_path is the path to the child repo within the parent.
ChildPath string `protobuf:"bytes,2,opt,name=child_path,json=childPath,proto3" json:"child_path,omitempty"`
// child_subdir is the subdirectory of the workdir in which the child_path
// should be rooted. In most cases, this should be empty, but if child_path
// is relative to the parent repo dir (eg. when DEPS specifies
// use_relative_paths), then this is required.
ChildSubdir string `protobuf:"bytes,3,opt,name=child_subdir,json=childSubdir,proto3" json:"child_subdir,omitempty"`
// checkout_path is the path to the repo within the checkout root
CheckoutPath string `protobuf:"bytes,4,opt,name=checkout_path,json=checkoutPath,proto3" json:"checkout_path,omitempty"`
// gclient_spec overrides the default gclient spec.
GclientSpec string `protobuf:"bytes,5,opt,name=gclient_spec,json=gclientSpec,proto3" json:"gclient_spec,omitempty"`
// pre_upload_steps are steps to run before uploading the CL.
PreUploadSteps []PreUploadStep `protobuf:"varint,6,rep,packed,name=pre_upload_steps,json=preUploadSteps,proto3,enum=autoroll.config.PreUploadStep" json:"pre_upload_steps,omitempty"`
// run_hooks indicates whether to run "gclient runhooks" after syncing.
RunHooks bool `protobuf:"varint,7,opt,name=run_hooks,json=runHooks,proto3" json:"run_hooks,omitempty"`
// pre_upload describes command(s) to run before uploading roll CLs.
PreUploadCommands *PreUploadConfig `protobuf:"bytes,8,opt,name=pre_upload_commands,json=preUploadCommands,proto3" json:"pre_upload_commands,omitempty"`
}
func (x *DEPSLocalParentConfig) Reset() {
*x = DEPSLocalParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DEPSLocalParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DEPSLocalParentConfig) ProtoMessage() {}
func (x *DEPSLocalParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DEPSLocalParentConfig.ProtoReflect.Descriptor instead.
func (*DEPSLocalParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{20}
}
func (x *DEPSLocalParentConfig) GetGitCheckout() *GitCheckoutParentConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *DEPSLocalParentConfig) GetChildPath() string {
if x != nil {
return x.ChildPath
}
return ""
}
func (x *DEPSLocalParentConfig) GetChildSubdir() string {
if x != nil {
return x.ChildSubdir
}
return ""
}
func (x *DEPSLocalParentConfig) GetCheckoutPath() string {
if x != nil {
return x.CheckoutPath
}
return ""
}
func (x *DEPSLocalParentConfig) GetGclientSpec() string {
if x != nil {
return x.GclientSpec
}
return ""
}
func (x *DEPSLocalParentConfig) GetPreUploadSteps() []PreUploadStep {
if x != nil {
return x.PreUploadSteps
}
return nil
}
func (x *DEPSLocalParentConfig) GetRunHooks() bool {
if x != nil {
return x.RunHooks
}
return false
}
func (x *DEPSLocalParentConfig) GetPreUploadCommands() *PreUploadConfig {
if x != nil {
return x.PreUploadCommands
}
return nil
}
// GitCheckoutParentConfig provides configuration for a Parent which uses a
// local checkout to create changes.
type GitCheckoutParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
Dep *DependencyConfig `protobuf:"bytes,2,opt,name=dep,proto3" json:"dep,omitempty"`
}
func (x *GitCheckoutParentConfig) Reset() {
*x = GitCheckoutParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitCheckoutParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitCheckoutParentConfig) ProtoMessage() {}
func (x *GitCheckoutParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[21]
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 GitCheckoutParentConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{21}
}
func (x *GitCheckoutParentConfig) GetGitCheckout() *GitCheckoutConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *GitCheckoutParentConfig) GetDep() *DependencyConfig {
if x != nil {
return x.Dep
}
return nil
}
// FreeTypeParentConfig provides configuration for the FreeType Parent.
type FreeTypeParentConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Gitiles *GitilesParentConfig `protobuf:"bytes,1,opt,name=gitiles,proto3" json:"gitiles,omitempty"`
}
func (x *FreeTypeParentConfig) Reset() {
*x = FreeTypeParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FreeTypeParentConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FreeTypeParentConfig) ProtoMessage() {}
func (x *FreeTypeParentConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[22]
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 FreeTypeParentConfig.ProtoReflect.Descriptor instead.
func (*FreeTypeParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{22}
}
func (x *FreeTypeParentConfig) GetGitiles() *GitilesParentConfig {
if x != nil {
return x.Gitiles
}
return nil
}
// CIPDChildConfig provides configuration for a CIPD package Child.
type CIPDChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// name of the package.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// tag to track.
Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
// gitiles_repo is an optional config for a git repo which should be used
// for generating the list of revisions in a roll. Both the old and new
// CIPD package version must provide a git_revision tag in order for this
// to work. If provided, the revision ID will be of the form
// `git_revision:<hash>` instead of using the CIPD package instance ID.
// Deprecated in favor of source_repo.
GitilesRepo string `protobuf:"bytes,4,opt,name=gitiles_repo,json=gitilesRepo,proto3" json:"gitiles_repo,omitempty"`
// revision_id_tag is a tag key whose value will be used as the revision ID
// instead of the CIPD package instance ID. Overrides git_revision for the
// revision ID if gitiles_repo was provided.
RevisionIdTag string `protobuf:"bytes,5,opt,name=revision_id_tag,json=revisionIdTag,proto3" json:"revision_id_tag,omitempty"`
// revision_id_tag_strip_key indicates that the revision ID should not
// include the revision_id_tag key. Only relevant if revision_id_tag is
// set.
RevisionIdTagStripKey bool `protobuf:"varint,6,opt,name=revision_id_tag_strip_key,json=revisionIdTagStripKey,proto3" json:"revision_id_tag_strip_key,omitempty"`
// source_repo is an optional config for a gitiles repo which should be used
// for generating the list of revisions in a roll. Both the old and new
// CIPD package version must provide a git_revision tag in order for this
// to work. If provided, the revision ID will be of the form
// `git_revision:<hash>` instead of using the CIPD package instance ID.
SourceRepo *GitilesConfig `protobuf:"bytes,7,opt,name=source_repo,json=sourceRepo,proto3" json:"source_repo,omitempty"`
}
func (x *CIPDChildConfig) Reset() {
*x = CIPDChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CIPDChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CIPDChildConfig) ProtoMessage() {}
func (x *CIPDChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[23]
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 CIPDChildConfig.ProtoReflect.Descriptor instead.
func (*CIPDChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{23}
}
func (x *CIPDChildConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CIPDChildConfig) GetTag() string {
if x != nil {
return x.Tag
}
return ""
}
func (x *CIPDChildConfig) GetGitilesRepo() string {
if x != nil {
return x.GitilesRepo
}
return ""
}
func (x *CIPDChildConfig) GetRevisionIdTag() string {
if x != nil {
return x.RevisionIdTag
}
return ""
}
func (x *CIPDChildConfig) GetRevisionIdTagStripKey() bool {
if x != nil {
return x.RevisionIdTagStripKey
}
return false
}
func (x *CIPDChildConfig) GetSourceRepo() *GitilesConfig {
if x != nil {
return x.SourceRepo
}
return nil
}
// FuchsiaSDKChildConfig provides configuration for the Fuchsia SDK Child.
type FuchsiaSDKChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// include_mac_sdk indicates whether to also roll the version of the Mac
// SDK. Note that the dependency is not tracked separately; the Mac SDK is
// simply rolled to the newest available version.
// DEPRECATED: The presence of latest_mac_path indicates whether the Mac
// SDK is included.
IncludeMacSdk bool `protobuf:"varint,1,opt,name=include_mac_sdk,json=includeMacSdk,proto3" json:"include_mac_sdk,omitempty"`
// gcs_bucket containing the SDK tarballs.
GcsBucket string `protobuf:"bytes,2,opt,name=gcs_bucket,json=gcsBucket,proto3" json:"gcs_bucket,omitempty"`
// latest_linux_path is the path to the file containing the ID of the latest
// Linux SDK.
LatestLinuxPath string `protobuf:"bytes,3,opt,name=latest_linux_path,json=latestLinuxPath,proto3" json:"latest_linux_path,omitempty"`
// latest_mac_path is the path to the file containing the ID of the latest
// Mac SDK.
LatestMacPath string `protobuf:"bytes,4,opt,name=latest_mac_path,json=latestMacPath,proto3" json:"latest_mac_path,omitempty"`
// tarball_linux_path_tmpl is a template for the GCS path of the Linux SDK,
// with the version ID to be inserted later.
TarballLinuxPathTmpl string `protobuf:"bytes,5,opt,name=tarball_linux_path_tmpl,json=tarballLinuxPathTmpl,proto3" json:"tarball_linux_path_tmpl,omitempty"`
}
func (x *FuchsiaSDKChildConfig) Reset() {
*x = FuchsiaSDKChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FuchsiaSDKChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FuchsiaSDKChildConfig) ProtoMessage() {}
func (x *FuchsiaSDKChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[24]
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 FuchsiaSDKChildConfig.ProtoReflect.Descriptor instead.
func (*FuchsiaSDKChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{24}
}
func (x *FuchsiaSDKChildConfig) GetIncludeMacSdk() bool {
if x != nil {
return x.IncludeMacSdk
}
return false
}
func (x *FuchsiaSDKChildConfig) GetGcsBucket() string {
if x != nil {
return x.GcsBucket
}
return ""
}
func (x *FuchsiaSDKChildConfig) GetLatestLinuxPath() string {
if x != nil {
return x.LatestLinuxPath
}
return ""
}
func (x *FuchsiaSDKChildConfig) GetLatestMacPath() string {
if x != nil {
return x.LatestMacPath
}
return ""
}
func (x *FuchsiaSDKChildConfig) GetTarballLinuxPathTmpl() string {
if x != nil {
return x.TarballLinuxPathTmpl
}
return ""
}
// SemVerGCSChildConfig provides configuration for a Child in GCS which uses
// semantic versioning.
type SemVerGCSChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Gcs *GCSChildConfig `protobuf:"bytes,1,opt,name=gcs,proto3" json:"gcs,omitempty"`
// short_rev_regex is a regular expression string which indicates what part
// of the revision ID string should be used as the shortened ID for display.
// If not specified, the full ID string is used.
ShortRevRegex string `protobuf:"bytes,2,opt,name=short_rev_regex,json=shortRevRegex,proto3" json:"short_rev_regex,omitempty"`
// version_regex is a regular expression string containing one or more
// integer capture groups. The integers matched by the capture groups are
// compared, in order, when comparing two revisions.
VersionRegex string `protobuf:"bytes,3,opt,name=version_regex,json=versionRegex,proto3" json:"version_regex,omitempty"`
}
func (x *SemVerGCSChildConfig) Reset() {
*x = SemVerGCSChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SemVerGCSChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SemVerGCSChildConfig) ProtoMessage() {}
func (x *SemVerGCSChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[25]
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 SemVerGCSChildConfig.ProtoReflect.Descriptor instead.
func (*SemVerGCSChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{25}
}
func (x *SemVerGCSChildConfig) GetGcs() *GCSChildConfig {
if x != nil {
return x.Gcs
}
return nil
}
func (x *SemVerGCSChildConfig) GetShortRevRegex() string {
if x != nil {
return x.ShortRevRegex
}
return ""
}
func (x *SemVerGCSChildConfig) GetVersionRegex() string {
if x != nil {
return x.VersionRegex
}
return ""
}
// GCSChildConfig provides configuration for a Child in GCS.
type GCSChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// gcs_bucket used for finding Child revisions.
GcsBucket string `protobuf:"bytes,1,opt,name=gcs_bucket,json=gcsBucket,proto3" json:"gcs_bucket,omitempty"`
// gcs_path within the bucket which contains child revisions.
GcsPath string `protobuf:"bytes,2,opt,name=gcs_path,json=gcsPath,proto3" json:"gcs_path,omitempty"`
// revision_id_regex is used to extract the revision ID from a full GCS file
// path. If not provided, the base name of the file is used.
RevisionIdRegex string `protobuf:"bytes,3,opt,name=revision_id_regex,json=revisionIdRegex,proto3" json:"revision_id_regex,omitempty"`
}
func (x *GCSChildConfig) Reset() {
*x = GCSChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GCSChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GCSChildConfig) ProtoMessage() {}
func (x *GCSChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[26]
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 GCSChildConfig.ProtoReflect.Descriptor instead.
func (*GCSChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{26}
}
func (x *GCSChildConfig) GetGcsBucket() string {
if x != nil {
return x.GcsBucket
}
return ""
}
func (x *GCSChildConfig) GetGcsPath() string {
if x != nil {
return x.GcsPath
}
return ""
}
func (x *GCSChildConfig) GetRevisionIdRegex() string {
if x != nil {
return x.RevisionIdRegex
}
return ""
}
// GitCheckoutChildConfig provides configuration for a Child which uses a local
// Git checkout.
type GitCheckoutChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
}
func (x *GitCheckoutChildConfig) Reset() {
*x = GitCheckoutChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitCheckoutChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitCheckoutChildConfig) ProtoMessage() {}
func (x *GitCheckoutChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[27]
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 GitCheckoutChildConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{27}
}
func (x *GitCheckoutChildConfig) GetGitCheckout() *GitCheckoutConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
// GitCheckoutGitHubChildConfig provides configuration for a Child which uses a
// local checkout of a GitHub repo.
type GitCheckoutGitHubChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitCheckout *GitCheckoutChildConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
RepoOwner string `protobuf:"bytes,2,opt,name=repo_owner,json=repoOwner,proto3" json:"repo_owner,omitempty"`
RepoName string `protobuf:"bytes,3,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"`
}
func (x *GitCheckoutGitHubChildConfig) Reset() {
*x = GitCheckoutGitHubChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitCheckoutGitHubChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitCheckoutGitHubChildConfig) ProtoMessage() {}
func (x *GitCheckoutGitHubChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[28]
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 GitCheckoutGitHubChildConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutGitHubChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{28}
}
func (x *GitCheckoutGitHubChildConfig) GetGitCheckout() *GitCheckoutChildConfig {
if x != nil {
return x.GitCheckout
}
return nil
}
func (x *GitCheckoutGitHubChildConfig) GetRepoOwner() string {
if x != nil {
return x.RepoOwner
}
return ""
}
func (x *GitCheckoutGitHubChildConfig) GetRepoName() string {
if x != nil {
return x.RepoName
}
return ""
}
// GitilesChildConfig provides configuration for a Child which uses Gitiles.
type GitilesChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Gitiles *GitilesConfig `protobuf:"bytes,1,opt,name=gitiles,proto3" json:"gitiles,omitempty"`
// path indicates an optional single path of the repo to watch for changes;
// all commits which do not change this path are ignored. Note that this
// may produce strange results if the Git history for the path is not
// linear.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *GitilesChildConfig) Reset() {
*x = GitilesChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitilesChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitilesChildConfig) ProtoMessage() {}
func (x *GitilesChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[29]
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 GitilesChildConfig.ProtoReflect.Descriptor instead.
func (*GitilesChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{29}
}
func (x *GitilesChildConfig) GetGitiles() *GitilesConfig {
if x != nil {
return x.Gitiles
}
return nil
}
func (x *GitilesChildConfig) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
// DockerChildConfig provides configuration for a Child which uses Docker.
type DockerChildConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// registry which stores the Docker image, eg. "gcr.io".
Registry string `protobuf:"bytes,1,opt,name=registry,proto3" json:"registry,omitempty"`
// repository of the image, eg. "skia-public/autoroll-be".
Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"`
// tag of the image to track, eg. "latest".
Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
}
func (x *DockerChildConfig) Reset() {
*x = DockerChildConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DockerChildConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DockerChildConfig) ProtoMessage() {}
func (x *DockerChildConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[30]
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 DockerChildConfig.ProtoReflect.Descriptor instead.
func (*DockerChildConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{30}
}
func (x *DockerChildConfig) GetRegistry() string {
if x != nil {
return x.Registry
}
return ""
}
func (x *DockerChildConfig) GetRepository() string {
if x != nil {
return x.Repository
}
return ""
}
func (x *DockerChildConfig) GetTag() string {
if x != nil {
return x.Tag
}
return ""
}
// NotifierConfig provides configuration for a notification system.
type NotifierConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// log_level allows all messages at and above the given severity to be
// sent. Mutually exclusive with msg_type.
LogLevel NotifierConfig_LogLevel `protobuf:"varint,1,opt,name=log_level,json=logLevel,proto3,enum=autoroll.config.NotifierConfig_LogLevel" json:"log_level,omitempty"`
// msg_type limits the notifier to only send messages of the given
// types. Mutually exclusive with log_level.
MsgType []NotifierConfig_MsgType `protobuf:"varint,2,rep,packed,name=msg_type,json=msgType,proto3,enum=autoroll.config.NotifierConfig_MsgType" json:"msg_type,omitempty"`
// config provides configuration for the specific type of notifier.
//
// Types that are assignable to Config:
//
// *NotifierConfig_Email
// *NotifierConfig_Chat
// *NotifierConfig_Monorail
// *NotifierConfig_Pubsub
Config isNotifierConfig_Config `protobuf_oneof:"config"`
// subject indicates a subject line which overrides the default subject line
// for every notification message, if provided.
Subject string `protobuf:"bytes,7,opt,name=subject,proto3" json:"subject,omitempty"`
}
func (x *NotifierConfig) Reset() {
*x = NotifierConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotifierConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifierConfig) ProtoMessage() {}
func (x *NotifierConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[31]
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 NotifierConfig.ProtoReflect.Descriptor instead.
func (*NotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{31}
}
func (x *NotifierConfig) GetLogLevel() NotifierConfig_LogLevel {
if x != nil {
return x.LogLevel
}
return NotifierConfig_SILENT
}
func (x *NotifierConfig) GetMsgType() []NotifierConfig_MsgType {
if x != nil {
return x.MsgType
}
return nil
}
func (m *NotifierConfig) GetConfig() isNotifierConfig_Config {
if m != nil {
return m.Config
}
return nil
}
func (x *NotifierConfig) GetEmail() *EmailNotifierConfig {
if x, ok := x.GetConfig().(*NotifierConfig_Email); ok {
return x.Email
}
return nil
}
func (x *NotifierConfig) GetChat() *ChatNotifierConfig {
if x, ok := x.GetConfig().(*NotifierConfig_Chat); ok {
return x.Chat
}
return nil
}
func (x *NotifierConfig) GetMonorail() *MonorailNotifierConfig {
if x, ok := x.GetConfig().(*NotifierConfig_Monorail); ok {
return x.Monorail
}
return nil
}
func (x *NotifierConfig) GetPubsub() *PubSubNotifierConfig {
if x, ok := x.GetConfig().(*NotifierConfig_Pubsub); ok {
return x.Pubsub
}
return nil
}
func (x *NotifierConfig) GetSubject() string {
if x != nil {
return x.Subject
}
return ""
}
type isNotifierConfig_Config interface {
isNotifierConfig_Config()
}
type NotifierConfig_Email struct {
Email *EmailNotifierConfig `protobuf:"bytes,3,opt,name=email,proto3,oneof"`
}
type NotifierConfig_Chat struct {
Chat *ChatNotifierConfig `protobuf:"bytes,4,opt,name=chat,proto3,oneof"`
}
type NotifierConfig_Monorail struct {
Monorail *MonorailNotifierConfig `protobuf:"bytes,5,opt,name=monorail,proto3,oneof"`
}
type NotifierConfig_Pubsub struct {
Pubsub *PubSubNotifierConfig `protobuf:"bytes,6,opt,name=pubsub,proto3,oneof"`
}
func (*NotifierConfig_Email) isNotifierConfig_Config() {}
func (*NotifierConfig_Chat) isNotifierConfig_Config() {}
func (*NotifierConfig_Monorail) isNotifierConfig_Config() {}
func (*NotifierConfig_Pubsub) isNotifierConfig_Config() {}
// EmailNotifierConfig provides configuration for email notifications.
type EmailNotifierConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// emails are the email addresses which should receive notifications.
Emails []string `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"`
}
func (x *EmailNotifierConfig) Reset() {
*x = EmailNotifierConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EmailNotifierConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EmailNotifierConfig) ProtoMessage() {}
func (x *EmailNotifierConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[32]
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 EmailNotifierConfig.ProtoReflect.Descriptor instead.
func (*EmailNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{32}
}
func (x *EmailNotifierConfig) GetEmails() []string {
if x != nil {
return x.Emails
}
return nil
}
// ChatNotifierConfig provides configuration for Google Chat notifications.
type ChatNotifierConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// room_id in which to post messages.
RoomId string `protobuf:"bytes,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
}
func (x *ChatNotifierConfig) Reset() {
*x = ChatNotifierConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChatNotifierConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChatNotifierConfig) ProtoMessage() {}
func (x *ChatNotifierConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[33]
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 ChatNotifierConfig.ProtoReflect.Descriptor instead.
func (*ChatNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{33}
}
func (x *ChatNotifierConfig) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
// MonorailNotifierConfig provides configuration for bug-filing "notifications"
// using Monorail.
type MonorailNotifierConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// project name under which to file bugs. Required.
Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
// owner of bugs filed in Monorail. Required.
Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
// cc these email addresses on bugs filed in Monorail.
Cc []string `protobuf:"bytes,3,rep,name=cc,proto3" json:"cc,omitempty"`
// components to apply to bugs filed in Monorail.
Components []string `protobuf:"bytes,4,rep,name=components,proto3" json:"components,omitempty"`
// labels to apply to bugs filed in Monorail.
Labels []string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty"`
}
func (x *MonorailNotifierConfig) Reset() {
*x = MonorailNotifierConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MonorailNotifierConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MonorailNotifierConfig) ProtoMessage() {}
func (x *MonorailNotifierConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[34]
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 MonorailNotifierConfig.ProtoReflect.Descriptor instead.
func (*MonorailNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{34}
}
func (x *MonorailNotifierConfig) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *MonorailNotifierConfig) GetOwner() string {
if x != nil {
return x.Owner
}
return ""
}
func (x *MonorailNotifierConfig) GetCc() []string {
if x != nil {
return x.Cc
}
return nil
}
func (x *MonorailNotifierConfig) GetComponents() []string {
if x != nil {
return x.Components
}
return nil
}
func (x *MonorailNotifierConfig) GetLabels() []string {
if x != nil {
return x.Labels
}
return nil
}
// PubSubNotifierConfig provides configuration for PubSub notifications.
type PubSubNotifierConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// topic under which to publish PubSub messages.
Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
}
func (x *PubSubNotifierConfig) Reset() {
*x = PubSubNotifierConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PubSubNotifierConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PubSubNotifierConfig) ProtoMessage() {}
func (x *PubSubNotifierConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[35]
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 PubSubNotifierConfig.ProtoReflect.Descriptor instead.
func (*PubSubNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{35}
}
func (x *PubSubNotifierConfig) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
// ThrottleConfig provides configuration for throttling.
type ThrottleConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// attempt_count indicates the number of failed attempts after which to
// begin throttling.
AttemptCount int32 `protobuf:"varint,1,opt,name=attempt_count,json=attemptCount,proto3" json:"attempt_count,omitempty"`
// time_window during which, if the number of failed attempts exceeds the
// specified attempt_count, throttling is enabled.
TimeWindow string `protobuf:"bytes,2,opt,name=time_window,json=timeWindow,proto3" json:"time_window,omitempty"`
}
func (x *ThrottleConfig) Reset() {
*x = ThrottleConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ThrottleConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ThrottleConfig) ProtoMessage() {}
func (x *ThrottleConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[36]
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 ThrottleConfig.ProtoReflect.Descriptor instead.
func (*ThrottleConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{36}
}
func (x *ThrottleConfig) GetAttemptCount() int32 {
if x != nil {
return x.AttemptCount
}
return 0
}
func (x *ThrottleConfig) GetTimeWindow() string {
if x != nil {
return x.TimeWindow
}
return ""
}
// TransitiveDepConfig provides configuration for a dependency referenced by
// both the parent and child, to be updated in the parent to match the revision
// depended on by the child at the revision being rolled.
type TransitiveDepConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// child dependency information.
Child *VersionFileConfig `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"`
// parent dependency information.
Parent *VersionFileConfig `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
// log_url_tmpl is a template for constructing a URL which displays the log
// between two revisions.
LogUrlTmpl string `protobuf:"bytes,3,opt,name=log_url_tmpl,json=logUrlTmpl,proto3" json:"log_url_tmpl,omitempty"`
}
func (x *TransitiveDepConfig) Reset() {
*x = TransitiveDepConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TransitiveDepConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TransitiveDepConfig) ProtoMessage() {}
func (x *TransitiveDepConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[37]
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 TransitiveDepConfig.ProtoReflect.Descriptor instead.
func (*TransitiveDepConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{37}
}
func (x *TransitiveDepConfig) GetChild() *VersionFileConfig {
if x != nil {
return x.Child
}
return nil
}
func (x *TransitiveDepConfig) GetParent() *VersionFileConfig {
if x != nil {
return x.Parent
}
return nil
}
func (x *TransitiveDepConfig) GetLogUrlTmpl() string {
if x != nil {
return x.LogUrlTmpl
}
return ""
}
// VersionFileConfig provides configuration for a dependency whose version is
// pinned within a particular file.
type VersionFileConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// id of the dependency to be rolled, eg. a repo URL.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// path within the repo of the file which pins the dependency. The name of
// the file dictates how we read and write the revision pin:
//
// - If `regex` is set, the name of this file is ignored.
//
// - `DEPS`: we parse the file as a DEPS file using a Python parser.
//
// - `*.pyl`: we assume the file contains a Python literal composed of
// dictionaries and lists. In this case, the `id` field must be a dot-
// separated path from the root of the object to the field which
// specifies the revision, where each element is either a dictionary key
// or a selector which matches a key+value of a given list element. For
// example, the id `key1.key2.id=my-dependency-id.revision` would
// traverse the following literal to find the revision ID:
//
// {
// "key1": {
// "key2": [
// {
// "id": "my-dependency-id",
// "revision": "12345",
// },
// ],
// },
// }
//
// - Otherwise, we assume that the file's sole contents are the revision
// ID and we read or write the entirety of the file.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
// regex which is used to extract the existing revision of the dependency
// and to update the pin to the new revision. Optional.
Regex string `protobuf:"bytes,3,opt,name=regex,proto3" json:"regex,omitempty"`
}
func (x *VersionFileConfig) Reset() {
*x = VersionFileConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VersionFileConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VersionFileConfig) ProtoMessage() {}
func (x *VersionFileConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[38]
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 VersionFileConfig.ProtoReflect.Descriptor instead.
func (*VersionFileConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{38}
}
func (x *VersionFileConfig) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *VersionFileConfig) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *VersionFileConfig) GetRegex() string {
if x != nil {
return x.Regex
}
return ""
}
// DependencyConfig provides configuration for a dependency whose version is
// pinned in a file and which may have transitive dependencies.
type DependencyConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// primary dependency.
Primary *VersionFileConfig `protobuf:"bytes,1,opt,name=primary,proto3" json:"primary,omitempty"`
// transitive dependencies.
Transitive []*TransitiveDepConfig `protobuf:"bytes,2,rep,name=transitive,proto3" json:"transitive,omitempty"`
// find_and_replace lists additional files in which all instances of the
// previous primary revision ID should be replaced with the new primary
// revision ID.
FindAndReplace []string `protobuf:"bytes,3,rep,name=find_and_replace,json=findAndReplace,proto3" json:"find_and_replace,omitempty"`
}
func (x *DependencyConfig) Reset() {
*x = DependencyConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DependencyConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DependencyConfig) ProtoMessage() {}
func (x *DependencyConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[39]
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 DependencyConfig.ProtoReflect.Descriptor instead.
func (*DependencyConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{39}
}
func (x *DependencyConfig) GetPrimary() *VersionFileConfig {
if x != nil {
return x.Primary
}
return nil
}
func (x *DependencyConfig) GetTransitive() []*TransitiveDepConfig {
if x != nil {
return x.Transitive
}
return nil
}
func (x *DependencyConfig) GetFindAndReplace() []string {
if x != nil {
return x.FindAndReplace
}
return nil
}
// GitCheckoutConfig provides configuration for a Git checkout.
type GitCheckoutConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// branch to track.
Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"`
// repo_url to check out.
RepoUrl string `protobuf:"bytes,2,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
// rev_link_tmpl is an optional template used for generating links to
// revisions. If not specified, revisions generated by the checkout will not
// have an associated URL.
RevLinkTmpl string `protobuf:"bytes,3,opt,name=rev_link_tmpl,json=revLinkTmpl,proto3" json:"rev_link_tmpl,omitempty"`
// dependencies is an optional specification of dependencies to track.
// Revisions generated by the checkout will contain the pinned versions of
// these dependencies.
Dependencies []*VersionFileConfig `protobuf:"bytes,4,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
// default_bug_project indicates the Monorail project used when no project
// is specified in "Bug: 123" lines in commit messages.
DefaultBugProject string `protobuf:"bytes,5,opt,name=default_bug_project,json=defaultBugProject,proto3" json:"default_bug_project,omitempty"`
}
func (x *GitCheckoutConfig) Reset() {
*x = GitCheckoutConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitCheckoutConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitCheckoutConfig) ProtoMessage() {}
func (x *GitCheckoutConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[40]
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 GitCheckoutConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{40}
}
func (x *GitCheckoutConfig) GetBranch() string {
if x != nil {
return x.Branch
}
return ""
}
func (x *GitCheckoutConfig) GetRepoUrl() string {
if x != nil {
return x.RepoUrl
}
return ""
}
func (x *GitCheckoutConfig) GetRevLinkTmpl() string {
if x != nil {
return x.RevLinkTmpl
}
return ""
}
func (x *GitCheckoutConfig) GetDependencies() []*VersionFileConfig {
if x != nil {
return x.Dependencies
}
return nil
}
func (x *GitCheckoutConfig) GetDefaultBugProject() string {
if x != nil {
return x.DefaultBugProject
}
return ""
}
// BuildbucketRevisionFilterConfig provides configuration for a revision filter
// which uses Buildbucket.
type BuildbucketRevisionFilterConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
BuildsetCommitTmpl string `protobuf:"bytes,3,opt,name=buildset_commit_tmpl,json=buildsetCommitTmpl,proto3" json:"buildset_commit_tmpl,omitempty"`
Builder []string `protobuf:"bytes,4,rep,name=builder,proto3" json:"builder,omitempty"`
}
func (x *BuildbucketRevisionFilterConfig) Reset() {
*x = BuildbucketRevisionFilterConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildbucketRevisionFilterConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildbucketRevisionFilterConfig) ProtoMessage() {}
func (x *BuildbucketRevisionFilterConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[41]
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 BuildbucketRevisionFilterConfig.ProtoReflect.Descriptor instead.
func (*BuildbucketRevisionFilterConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{41}
}
func (x *BuildbucketRevisionFilterConfig) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *BuildbucketRevisionFilterConfig) GetBucket() string {
if x != nil {
return x.Bucket
}
return ""
}
func (x *BuildbucketRevisionFilterConfig) GetBuildsetCommitTmpl() string {
if x != nil {
return x.BuildsetCommitTmpl
}
return ""
}
func (x *BuildbucketRevisionFilterConfig) GetBuilder() []string {
if x != nil {
return x.Builder
}
return nil
}
// CIPDRevisionFilterConfig provides configuration for a revision filter
// which filters out revisions which don't exist on all of the configured
// packages and platforms.
type CIPDRevisionFilterConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Package []string `protobuf:"bytes,1,rep,name=package,proto3" json:"package,omitempty"`
Platform []string `protobuf:"bytes,2,rep,name=platform,proto3" json:"platform,omitempty"`
TagKey string `protobuf:"bytes,3,opt,name=tag_key,json=tagKey,proto3" json:"tag_key,omitempty"`
}
func (x *CIPDRevisionFilterConfig) Reset() {
*x = CIPDRevisionFilterConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CIPDRevisionFilterConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CIPDRevisionFilterConfig) ProtoMessage() {}
func (x *CIPDRevisionFilterConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[42]
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 CIPDRevisionFilterConfig.ProtoReflect.Descriptor instead.
func (*CIPDRevisionFilterConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{42}
}
func (x *CIPDRevisionFilterConfig) GetPackage() []string {
if x != nil {
return x.Package
}
return nil
}
func (x *CIPDRevisionFilterConfig) GetPlatform() []string {
if x != nil {
return x.Platform
}
return nil
}
func (x *CIPDRevisionFilterConfig) GetTagKey() string {
if x != nil {
return x.TagKey
}
return ""
}
// ValidHttpRevisionFilterConfig provides configuration for a
// revision filter which obtains a single valid revision from a file which is
// retrieved via HTTP.
type ValidHttpRevisionFilterConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// URL of the file containing the valid revision.
FileUrl string `protobuf:"bytes,1,opt,name=file_url,json=fileUrl,proto3" json:"file_url,omitempty"`
// Optional regular expression used to extract the valid revision from the
// file after retrieval. If not provided, we assume that the entire contents
// of the file comprise the revision ID.
Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
}
func (x *ValidHttpRevisionFilterConfig) Reset() {
*x = ValidHttpRevisionFilterConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValidHttpRevisionFilterConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValidHttpRevisionFilterConfig) ProtoMessage() {}
func (x *ValidHttpRevisionFilterConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[43]
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 ValidHttpRevisionFilterConfig.ProtoReflect.Descriptor instead.
func (*ValidHttpRevisionFilterConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{43}
}
func (x *ValidHttpRevisionFilterConfig) GetFileUrl() string {
if x != nil {
return x.FileUrl
}
return ""
}
func (x *ValidHttpRevisionFilterConfig) GetRegex() string {
if x != nil {
return x.Regex
}
return ""
}
// PreUploadConfig describes additional steps to run after updating the
// dependency but before uploading the CL, on rollers which use a local
// checkout.
type PreUploadConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// CIPD packages needed by the command(s).
CipdPackage []*PreUploadCIPDPackageConfig `protobuf:"bytes,1,rep,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty"`
// Command(s) to run.
Command []*PreUploadCommandConfig `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
}
func (x *PreUploadConfig) Reset() {
*x = PreUploadConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreUploadConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreUploadConfig) ProtoMessage() {}
func (x *PreUploadConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[44]
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 PreUploadConfig.ProtoReflect.Descriptor instead.
func (*PreUploadConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{44}
}
func (x *PreUploadConfig) GetCipdPackage() []*PreUploadCIPDPackageConfig {
if x != nil {
return x.CipdPackage
}
return nil
}
func (x *PreUploadConfig) GetCommand() []*PreUploadCommandConfig {
if x != nil {
return x.Command
}
return nil
}
// PreUploadCommandConfig describes a command to run.
type PreUploadCommandConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Command to run.
Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
// Working directory in which to run the command.
Cwd string `protobuf:"bytes,2,opt,name=cwd,proto3" json:"cwd,omitempty"`
// Environment variables needed by the command, in "KEY=VALUE" format.
Env []string `protobuf:"bytes,3,rep,name=env,proto3" json:"env,omitempty"`
// If true, log the error returned by the command but don't error out.
IgnoreFailure bool `protobuf:"varint,4,opt,name=ignore_failure,json=ignoreFailure,proto3" json:"ignore_failure,omitempty"`
}
func (x *PreUploadCommandConfig) Reset() {
*x = PreUploadCommandConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreUploadCommandConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreUploadCommandConfig) ProtoMessage() {}
func (x *PreUploadCommandConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[45]
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 PreUploadCommandConfig.ProtoReflect.Descriptor instead.
func (*PreUploadCommandConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{45}
}
func (x *PreUploadCommandConfig) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
func (x *PreUploadCommandConfig) GetCwd() string {
if x != nil {
return x.Cwd
}
return ""
}
func (x *PreUploadCommandConfig) GetEnv() []string {
if x != nil {
return x.Env
}
return nil
}
func (x *PreUploadCommandConfig) GetIgnoreFailure() bool {
if x != nil {
return x.IgnoreFailure
}
return false
}
// CIPDPackageConfig describes a CIPD package.
type PreUploadCIPDPackageConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Full CIPD package name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Relative path within the root dir to install the package.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
// Version of the package.
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}
func (x *PreUploadCIPDPackageConfig) Reset() {
*x = PreUploadCIPDPackageConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreUploadCIPDPackageConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreUploadCIPDPackageConfig) ProtoMessage() {}
func (x *PreUploadCIPDPackageConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[46]
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 PreUploadCIPDPackageConfig.ProtoReflect.Descriptor instead.
func (*PreUploadCIPDPackageConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{46}
}
func (x *PreUploadCIPDPackageConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PreUploadCIPDPackageConfig) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *PreUploadCIPDPackageConfig) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
// Configs provides configuration for multiple autorollers.
type Configs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Config []*Config `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"`
}
func (x *Configs) Reset() {
*x = Configs{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Configs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Configs) ProtoMessage() {}
func (x *Configs) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[47]
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 Configs.ProtoReflect.Descriptor instead.
func (*Configs) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{47}
}
func (x *Configs) GetConfig() []*Config {
if x != nil {
return x.Config
}
return nil
}
// ProjectMetadataFileConfig provides configuration for METADATA files in
// the Android repo.
type AndroidRepoManagerConfig_ProjectMetadataFileConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// file_path of the project metadata file within the repo.
FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"`
// name of the project.
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// description of the project.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// home_page of the project.
HomePage string `protobuf:"bytes,4,opt,name=home_page,json=homePage,proto3" json:"home_page,omitempty"`
// git_url of the project.
GitUrl string `protobuf:"bytes,5,opt,name=git_url,json=gitUrl,proto3" json:"git_url,omitempty"`
// license_type of the project.
LicenseType string `protobuf:"bytes,6,opt,name=license_type,json=licenseType,proto3" json:"license_type,omitempty"`
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) Reset() {
*x = AndroidRepoManagerConfig_ProjectMetadataFileConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AndroidRepoManagerConfig_ProjectMetadataFileConfig) ProtoMessage() {}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[48]
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 AndroidRepoManagerConfig_ProjectMetadataFileConfig.ProtoReflect.Descriptor instead.
func (*AndroidRepoManagerConfig_ProjectMetadataFileConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{6, 0}
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) GetFilePath() string {
if x != nil {
return x.FilePath
}
return ""
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) GetHomePage() string {
if x != nil {
return x.HomePage
}
return ""
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) GetGitUrl() string {
if x != nil {
return x.GitUrl
}
return ""
}
func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) GetLicenseType() string {
if x != nil {
return x.LicenseType
}
return ""
}
type CommandRepoManagerConfig_CommandConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// command to run. If this is the command used to update the revision of
// the Child, this should be a text template which uses SetPinnedRevVars
// to get the from- and to-revisions.
Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"`
// dir is the relative path within the Git checkout to run the command.
Dir string `protobuf:"bytes,2,opt,name=dir,proto3" json:"dir,omitempty"`
// env are environment variables to supply to the command, in KEY=VALUE
// format.
Env []string `protobuf:"bytes,3,rep,name=env,proto3" json:"env,omitempty"`
}
func (x *CommandRepoManagerConfig_CommandConfig) Reset() {
*x = CommandRepoManagerConfig_CommandConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommandRepoManagerConfig_CommandConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommandRepoManagerConfig_CommandConfig) ProtoMessage() {}
func (x *CommandRepoManagerConfig_CommandConfig) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[49]
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 CommandRepoManagerConfig_CommandConfig.ProtoReflect.Descriptor instead.
func (*CommandRepoManagerConfig_CommandConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{7, 0}
}
func (x *CommandRepoManagerConfig_CommandConfig) GetCommand() []string {
if x != nil {
return x.Command
}
return nil
}
func (x *CommandRepoManagerConfig_CommandConfig) GetDir() string {
if x != nil {
return x.Dir
}
return ""
}
func (x *CommandRepoManagerConfig_CommandConfig) GetEnv() []string {
if x != nil {
return x.Env
}
return nil
}
type CopyParentConfig_CopyEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// src_rel_path is the relative path within the Child.
SrcRelPath string `protobuf:"bytes,1,opt,name=src_rel_path,json=srcRelPath,proto3" json:"src_rel_path,omitempty"`
// dst_rel_path is the relative path within the Parent.
DstRelPath string `protobuf:"bytes,2,opt,name=dst_rel_path,json=dstRelPath,proto3" json:"dst_rel_path,omitempty"`
}
func (x *CopyParentConfig_CopyEntry) Reset() {
*x = CopyParentConfig_CopyEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CopyParentConfig_CopyEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CopyParentConfig_CopyEntry) ProtoMessage() {}
func (x *CopyParentConfig_CopyEntry) ProtoReflect() protoreflect.Message {
mi := &file_config_proto_msgTypes[50]
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 CopyParentConfig_CopyEntry.ProtoReflect.Descriptor instead.
func (*CopyParentConfig_CopyEntry) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{11, 0}
}
func (x *CopyParentConfig_CopyEntry) GetSrcRelPath() string {
if x != nil {
return x.SrcRelPath
}
return ""
}
func (x *CopyParentConfig_CopyEntry) GetDstRelPath() string {
if x != nil {
return x.DstRelPath
}
return ""
}
var File_config_proto protoreflect.FileDescriptor
var file_config_proto_rawDesc = []byte{
0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22,
0x8f, 0x0f, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f,
0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x63,
0x68, 0x69, 0x6c, 0x64, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x1d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x42, 0x75, 0x67, 0x4c, 0x69, 0x6e,
0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c,
0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63,
0x68, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x6c, 0x69,
0x6e, 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x42, 0x75, 0x67, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70,
0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x66, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x65, 0x72, 0x66, 0x61,
0x6c, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x6d,
0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x77, 0x6e, 0x65, 0x72,
0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72,
0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0e, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03,
0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e,
0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
0x65, 0x72, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x62,
0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x76,
0x69, 0x65, 0x77, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x72,
0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x72, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e,
0x12, 0x28, 0x0a, 0x10, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6c,
0x64, 0x6f, 0x77, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x72, 0x79, 0x52,
0x75, 0x6e, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x74, 0x69, 0x6d, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x32, 0x0a, 0x15, 0x73,
0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x72,
0x6f, 0x6c, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70,
0x6f, 0x72, 0x74, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x73, 0x12,
0x3f, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x67,
0x12, 0x37, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x00, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f,
0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x48,
0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x12, 0x3a, 0x0a, 0x07, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x33, 0x18, 0x12, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x33, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x33, 0x12, 0x41,
0x0a, 0x0a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65,
0x73, 0x12, 0x6a, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x69, 0x6c,
0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x14,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x69,
0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x69,
0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x5d, 0x0a,
0x14, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61,
0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x75,
0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6e,
0x64, 0x72, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x12, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x14,
0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d,
0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x15, 0x66,
0x72, 0x65, 0x65, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x72, 0x65,
0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x13, 0x66, 0x72, 0x65, 0x65, 0x74, 0x79,
0x70, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x5d, 0x0a,
0x14, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x33, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61,
0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x75,
0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x33, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x33, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x09,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x73,
0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x1b,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x54, 0x68, 0x72,
0x6f, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
0x44, 0x65, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b,
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x1f, 0x20,
0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64,
0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x73,
0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x71, 0x5f,
0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11,
0x6d, 0x61, 0x78, 0x52, 0x6f, 0x6c, 0x6c, 0x43, 0x71, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74,
0x73, 0x12, 0x3f, 0x0a, 0x1d, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c,
0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x6c,
0x6c, 0x43, 0x6c, 0x73, 0x54, 0x6f, 0x53, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69,
0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x65,
0x77, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x72, 0x22, 0xca, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x67, 0x50,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f,
0x6c, 0x6f, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x4c, 0x6f, 0x67, 0x55, 0x72, 0x6c, 0x54,
0x6d, 0x70, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x71, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f,
0x74, 0x72, 0x79, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63,
0x71, 0x45, 0x78, 0x74, 0x72, 0x61, 0x54, 0x72, 0x79, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x36, 0x0a,
0x18, 0x63, 0x71, 0x5f, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x5f, 0x74, 0x72, 0x79, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x14, 0x63, 0x71, 0x44, 0x6f, 0x4e, 0x6f, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72,
0x79, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52,
0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x62, 0x72, 0x5f, 0x6c, 0x69, 0x6e, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54,
0x62, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x65, 0x73, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65,
0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x73,
0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x64, 0x57, 0x72, 0x61, 0x70, 0x12, 0x43, 0x0a,
0x08, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x74,
0x49, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x42, 0x0a, 0x07, 0x42, 0x75,
0x69, 0x6c, 0x74, 0x49, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54,
0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x01, 0x12,
0x11, 0x0a, 0x0d, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x52,
0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x03, 0x22, 0xc7,
0x02, 0x0a, 0x0c, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x61, 0x75,
0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65,
0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xcc, 0x01, 0x0a, 0x06, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10,
0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08,
0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x48,
0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x51, 0x10, 0x03, 0x12, 0x10,
0x0a, 0x0c, 0x4c, 0x49, 0x42, 0x41, 0x53, 0x53, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x10, 0x04,
0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x42, 0x4f, 0x54,
0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x52,
0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54,
0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x51, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x4e, 0x44, 0x52,
0x4f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x52, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x41,
0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x52, 0x5f, 0x4e, 0x4f, 0x5f,
0x50, 0x52, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d,
0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x52, 0x10, 0x09, 0x22, 0xbb, 0x01, 0x0a, 0x0c, 0x47, 0x69, 0x74,
0x48, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70,
0x6f, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72,
0x65, 0x70, 0x6f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70,
0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x5f,
0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d,
0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x12, 0x21, 0x0a,
0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
0x12, 0x24, 0x0a, 0x0e, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72,
0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79,
0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x33, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x4b, 0x75, 0x62, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03,
0x63, 0x70, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16,
0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x1b, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e,
0x65, 0x73, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65,
0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x72, 0x65, 0x61,
0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x68, 0x72,
0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x1f, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e,
0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61,
0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x1c, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x38, 0x0a,
0x18, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f,
0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x16, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x69,
0x6d, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73,
0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, 0x6c, 0x61,
0x67, 0x73, 0x22, 0x8b, 0x07, 0x0a, 0x18, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x52, 0x65,
0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x24, 0x0a, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65,
0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x62,
0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x69,
0x6c, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6c,
0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68,
0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12,
0x23, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x72,
0x61, 0x6e, 0x63, 0x68, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x72, 0x65,
0x76, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x76, 0x4c, 0x69, 0x6e, 0x6b, 0x54,
0x6d, 0x70, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x75, 0x62,
0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64,
0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e,
0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70,
0x52, 0x0e, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73,
0x12, 0x5f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x43, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6f,
0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x75, 0x74,
0x68, 0x6f, 0x72, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72,
0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x41, 0x73, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65,
0x72, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x11, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d,
0x61, 0x6e, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x70, 0x70,
0x72, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72,
0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
0x74, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x75, 0x67, 0x50,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0xc7, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74,
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74,
0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6d, 0x65, 0x5f,
0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x6d, 0x65,
0x50, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a,
0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65,
0x22, 0xef, 0x03, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f,
0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a,
0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x6f, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65,
0x76, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
0x68, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x76, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x57, 0x0a, 0x0b,
0x67, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x37, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d,
0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d,
0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x65, 0x74, 0x54,
0x69, 0x70, 0x52, 0x65, 0x76, 0x12, 0x5d, 0x0a, 0x0e, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e,
0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65,
0x64, 0x52, 0x65, 0x76, 0x12, 0x5d, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x6e,
0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x61,
0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64,
0x52, 0x65, 0x76, 0x1a, 0x4d, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18,
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10,
0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72,
0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65,
0x6e, 0x76, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x46, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x25, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x46, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
0x39, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0x5c, 0x0a, 0x18, 0x47, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x33, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f,
0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68,
0x69, 0x6c, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x69,
0x6c, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x22, 0xf3, 0x0b, 0x0a, 0x1c, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61,
0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x70,
0x79, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
0x67, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x69, 0x74,
0x48, 0x75, 0x62, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x00, 0x52, 0x15, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x69, 0x74, 0x68,
0x75, 0x62, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x18, 0x64, 0x65, 0x70, 0x73,
0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x45, 0x50,
0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x15, 0x64, 0x65, 0x70, 0x73,
0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x12, 0x7a, 0x0a, 0x1f, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75,
0x74, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x46, 0x69,
0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
0x52, 0x1b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74,
0x68, 0x75, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a,
0x0e, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x67,
0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x14,
0x67, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x5f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f, 0x4d,
0x6f, 0x64, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x67, 0x6f, 0x4d, 0x6f, 0x64, 0x47, 0x65, 0x72,
0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, 0x70,
0x64, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x43, 0x49, 0x50, 0x44, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x01, 0x52, 0x09, 0x63, 0x69, 0x70, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x54, 0x0a, 0x11,
0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c,
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69,
0x61, 0x53, 0x44, 0x4b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x01, 0x52, 0x0f, 0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x64, 0x6b, 0x43, 0x68, 0x69,
0x6c, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f,
0x75, 0x74, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c,
0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x10, 0x67, 0x69, 0x74, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x6a, 0x0a, 0x19, 0x67,
0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48,
0x75, 0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52,
0x16, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x68,
0x75, 0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x67, 0x69, 0x74, 0x69, 0x6c,
0x65, 0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0c, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68,
0x69, 0x6c, 0x64, 0x12, 0x51, 0x0a, 0x10, 0x73, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x63,
0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x53, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x47, 0x63,
0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72,
0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61,
0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44,
0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x48, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12,
0x70, 0x0a, 0x1b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72,
0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63,
0x6b, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65,
0x72, 0x12, 0x5b, 0x0a, 0x14, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x29, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69,
0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x63, 0x69, 0x70, 0x64,
0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x6b,
0x0a, 0x1a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65,
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x70,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0xe8,
0x01, 0x0a, 0x10, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69,
0x6c, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x06, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x1a, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x6c,
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x72, 0x63,
0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x73, 0x74, 0x5f, 0x72,
0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
0x73, 0x74, 0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x44, 0x45,
0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x65, 0x70,
0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
0x12, 0x35, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6b, 0x5f,
0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x66, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x1b,
0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x64,
0x65, 0x70, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x26, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63,
0x61, 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x47, 0x69,
0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x67,
0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6b,
0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x66, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x22, 0x92, 0x02, 0x0a,
0x21, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48,
0x75, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x12, 0x51, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f,
0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32,
0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52,
0x0e, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12,
0x50, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f,
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61,
0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50,
0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11,
0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x73, 0x22, 0xbb, 0x01, 0x0a, 0x13, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x69, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69,
0x6c, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x64, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x21, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x03, 0x64, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72,
0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22,
0xba, 0x01, 0x0a, 0x0d, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70,
0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70,
0x6f, 0x55, 0x72, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
0x63, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c,
0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13,
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x42, 0x75, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x8b, 0x01, 0x0a,
0x17, 0x47, 0x6f, 0x4d, 0x6f, 0x64, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x06, 0x67, 0x6f, 0x5f, 0x6d,
0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f, 0x4d, 0x6f, 0x64,
0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x67, 0x6f,
0x4d, 0x6f, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0xd8, 0x02, 0x0a, 0x11, 0x47,
0x6f, 0x4d, 0x6f, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x45, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43,
0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c,
0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f,
0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64,
0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61,
0x63, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61,
0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50,
0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0e, 0x70, 0x72,
0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x13,
0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f,
0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55,
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x65,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x15,
0x0a, 0x06, 0x67, 0x6f, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x67, 0x6f, 0x43, 0x6d, 0x64, 0x22, 0xa7, 0x03, 0x0a, 0x15, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f,
0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x4b, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c,
0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b,
0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63,
0x68, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x12, 0x23,
0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50,
0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e,
0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70,
0x52, 0x0e, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73,
0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x07, 0x20,
0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x50, 0x0a,
0x13, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d,
0x61, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72,
0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22,
0x95, 0x01, 0x0a, 0x17, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50,
0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x67,
0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f,
0x75, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x64, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x03, 0x64, 0x65, 0x70, 0x22, 0x56, 0x0a, 0x14, 0x46, 0x72, 0x65, 0x65, 0x54,
0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x3e, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x22,
0xfd, 0x01, 0x0a, 0x0f, 0x43, 0x49, 0x50, 0x44, 0x43, 0x68, 0x69, 0x6c, 0x64, 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, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x69, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x26, 0x0a, 0x0f,
0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x54, 0x61, 0x67, 0x12, 0x38, 0x0a, 0x19, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x6b, 0x65,
0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x54, 0x61, 0x67, 0x53, 0x74, 0x72, 0x69, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x3f,
0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x22,
0xe9, 0x01, 0x0a, 0x15, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x44, 0x4b, 0x43, 0x68,
0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x63,
0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x63, 0x53, 0x64,
0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78,
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x74,
0x65, 0x73, 0x74, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f,
0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63,
0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f,
0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x4c, 0x69,
0x6e, 0x75, 0x78, 0x50, 0x61, 0x74, 0x68, 0x54, 0x6d, 0x70, 0x6c, 0x22, 0x96, 0x01, 0x0a, 0x14,
0x53, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x03, 0x67, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x72, 0x74,
0x5f, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x76, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12,
0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x67, 0x65, 0x78, 0x22, 0x76, 0x0a, 0x0e, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75,
0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68,
0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f,
0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x22, 0x5f, 0x0a, 0x16,
0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68,
0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61,
0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47,
0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x22, 0xa6, 0x01,
0x0a, 0x1c, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74,
0x48, 0x75, 0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a,
0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f,
0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67,
0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
0x70, 0x6f, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x72, 0x65, 0x70, 0x6f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70,
0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65,
0x70, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65,
0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x07,
0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67,
0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x61, 0x0a, 0x11, 0x44, 0x6f,
0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x1a, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x74,
0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0xe4, 0x05,
0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x45, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c,
0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74,
0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f,
0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79,
0x70, 0x65, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74,
0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6d, 0x61,
0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x68, 0x61,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x04,
0x63, 0x68, 0x61, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69,
0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
0x00, 0x52, 0x08, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x70,
0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x75,
0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75,
0x62, 0x53, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x18, 0x0a, 0x07,
0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x43, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x09,
0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52,
0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03,
0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x04, 0x22, 0xdc, 0x01, 0x0a, 0x07,
0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x53, 0x55, 0x45,
0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x41, 0x53,
0x54, 0x5f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b,
0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a,
0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x0f,
0x0a, 0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12,
0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e,
0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x46,
0x45, 0x54, 0x59, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x13,
0x0a, 0x0f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47,
0x45, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54,
0x48, 0x52, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x4e,
0x55, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f,
0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x22, 0x2d, 0x0a, 0x13, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x61,
0x69, 0x6c, 0x73, 0x22, 0x2d, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
0x49, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x4e,
0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a,
0x02, 0x63, 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x63, 0x63, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x2c, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4e,
0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a,
0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
0x70, 0x69, 0x63, 0x22, 0x56, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x74,
0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x74, 0x69, 0x6d, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xad, 0x01, 0x0a, 0x13,
0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x3a, 0x0a,
0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x6f, 0x67,
0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x6c, 0x6f, 0x67, 0x55, 0x72, 0x6c, 0x54, 0x6d, 0x70, 0x6c, 0x22, 0x4d, 0x0a, 0x11, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0xc0, 0x01, 0x0a, 0x10, 0x44,
0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x3c, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a,
0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65,
0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
0x69, 0x76, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f,
0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x66,
0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0xe2, 0x01,
0x0a, 0x11, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72,
0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72,
0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x5f, 0x6c, 0x69,
0x6e, 0x6b, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72,
0x65, 0x76, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6d, 0x70, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65,
0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69,
0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75,
0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x75, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x30, 0x0a, 0x14, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x6d, 0x70, 0x6c,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x65, 0x74,
0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x6d, 0x70, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75,
0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69,
0x6c, 0x64, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x18, 0x43, 0x49, 0x50, 0x44, 0x52, 0x65, 0x76, 0x69,
0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x6b, 0x65,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x4b, 0x65, 0x79, 0x22,
0x50, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76, 0x69,
0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72,
0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65,
0x78, 0x22, 0xa4, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x70, 0x61,
0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75,
0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72,
0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61,
0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x69, 0x70, 0x64, 0x50, 0x61,
0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f,
0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x7d, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x55,
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03,
0x63, 0x77, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x77, 0x64, 0x12, 0x10,
0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76,
0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75,
0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x5e, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x55, 0x70,
0x6c, 0x6f, 0x61, 0x64, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 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, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 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, 0x22, 0x3a, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2a, 0xfa, 0x02, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61,
0x64, 0x53, 0x74, 0x65, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43,
0x4f, 0x44, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00,
0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x47, 0x4e, 0x5f, 0x54, 0x4f, 0x5f,
0x42, 0x50, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x4f,
0x4c, 0x4c, 0x5f, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a,
0x10, 0x47, 0x4f, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x49, 0x50,
0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c,
0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x10, 0x04,
0x12, 0x24, 0x0a, 0x20, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x43, 0x45,
0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f,
0x44, 0x41, 0x52, 0x54, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45,
0x52, 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54,
0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x46, 0x55, 0x43, 0x48, 0x53, 0x49, 0x41, 0x10, 0x06, 0x12,
0x11, 0x0a, 0x0d, 0x53, 0x4b, 0x49, 0x41, 0x5f, 0x47, 0x4e, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x50,
0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x52,
0x41, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c,
0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x50, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44,
0x41, 0x52, 0x54, 0x10, 0x09, 0x12, 0x25, 0x0a, 0x21, 0x56, 0x55, 0x4c, 0x4b, 0x41, 0x4e, 0x5f,
0x44, 0x45, 0x50, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d,
0x49, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10,
0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x53, 0x53, 0x4c,
0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x52,
0x4f, 0x4c, 0x4c, 0x5f, 0x57, 0x45, 0x42, 0x47, 0x50, 0x55, 0x5f, 0x43, 0x54, 0x53, 0x10, 0x0c,
0x2a, 0x3a, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e,
0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44,
0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x52, 0x59, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12,
0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x42, 0x26, 0x5a, 0x24,
0x67, 0x6f, 0x2e, 0x73, 0x6b, 0x69, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x69, 0x6e, 0x66, 0x72,
0x61, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_config_proto_rawDescOnce sync.Once
file_config_proto_rawDescData = file_config_proto_rawDesc
)
func file_config_proto_rawDescGZIP() []byte {
file_config_proto_rawDescOnce.Do(func() {
file_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_config_proto_rawDescData)
})
return file_config_proto_rawDescData
}
var file_config_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_config_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
var file_config_proto_goTypes = []interface{}{
(PreUploadStep)(0), // 0: autoroll.config.PreUploadStep
(Mode)(0), // 1: autoroll.config.Mode
(CommitMsgConfig_BuiltIn)(0), // 2: autoroll.config.CommitMsgConfig.BuiltIn
(GerritConfig_Config)(0), // 3: autoroll.config.GerritConfig.Config
(NotifierConfig_LogLevel)(0), // 4: autoroll.config.NotifierConfig.LogLevel
(NotifierConfig_MsgType)(0), // 5: autoroll.config.NotifierConfig.MsgType
(*Config)(nil), // 6: autoroll.config.Config
(*CommitMsgConfig)(nil), // 7: autoroll.config.CommitMsgConfig
(*GerritConfig)(nil), // 8: autoroll.config.GerritConfig
(*GitHubConfig)(nil), // 9: autoroll.config.GitHubConfig
(*Google3Config)(nil), // 10: autoroll.config.Google3Config
(*KubernetesConfig)(nil), // 11: autoroll.config.KubernetesConfig
(*AndroidRepoManagerConfig)(nil), // 12: autoroll.config.AndroidRepoManagerConfig
(*CommandRepoManagerConfig)(nil), // 13: autoroll.config.CommandRepoManagerConfig
(*FreeTypeRepoManagerConfig)(nil), // 14: autoroll.config.FreeTypeRepoManagerConfig
(*Google3RepoManagerConfig)(nil), // 15: autoroll.config.Google3RepoManagerConfig
(*ParentChildRepoManagerConfig)(nil), // 16: autoroll.config.ParentChildRepoManagerConfig
(*CopyParentConfig)(nil), // 17: autoroll.config.CopyParentConfig
(*DEPSLocalGitHubParentConfig)(nil), // 18: autoroll.config.DEPSLocalGitHubParentConfig
(*DEPSLocalGerritParentConfig)(nil), // 19: autoroll.config.DEPSLocalGerritParentConfig
(*GitCheckoutGitHubParentConfig)(nil), // 20: autoroll.config.GitCheckoutGitHubParentConfig
(*GitCheckoutGitHubFileParentConfig)(nil), // 21: autoroll.config.GitCheckoutGitHubFileParentConfig
(*GitilesParentConfig)(nil), // 22: autoroll.config.GitilesParentConfig
(*GitilesConfig)(nil), // 23: autoroll.config.GitilesConfig
(*GoModGerritParentConfig)(nil), // 24: autoroll.config.GoModGerritParentConfig
(*GoModParentConfig)(nil), // 25: autoroll.config.GoModParentConfig
(*DEPSLocalParentConfig)(nil), // 26: autoroll.config.DEPSLocalParentConfig
(*GitCheckoutParentConfig)(nil), // 27: autoroll.config.GitCheckoutParentConfig
(*FreeTypeParentConfig)(nil), // 28: autoroll.config.FreeTypeParentConfig
(*CIPDChildConfig)(nil), // 29: autoroll.config.CIPDChildConfig
(*FuchsiaSDKChildConfig)(nil), // 30: autoroll.config.FuchsiaSDKChildConfig
(*SemVerGCSChildConfig)(nil), // 31: autoroll.config.SemVerGCSChildConfig
(*GCSChildConfig)(nil), // 32: autoroll.config.GCSChildConfig
(*GitCheckoutChildConfig)(nil), // 33: autoroll.config.GitCheckoutChildConfig
(*GitCheckoutGitHubChildConfig)(nil), // 34: autoroll.config.GitCheckoutGitHubChildConfig
(*GitilesChildConfig)(nil), // 35: autoroll.config.GitilesChildConfig
(*DockerChildConfig)(nil), // 36: autoroll.config.DockerChildConfig
(*NotifierConfig)(nil), // 37: autoroll.config.NotifierConfig
(*EmailNotifierConfig)(nil), // 38: autoroll.config.EmailNotifierConfig
(*ChatNotifierConfig)(nil), // 39: autoroll.config.ChatNotifierConfig
(*MonorailNotifierConfig)(nil), // 40: autoroll.config.MonorailNotifierConfig
(*PubSubNotifierConfig)(nil), // 41: autoroll.config.PubSubNotifierConfig
(*ThrottleConfig)(nil), // 42: autoroll.config.ThrottleConfig
(*TransitiveDepConfig)(nil), // 43: autoroll.config.TransitiveDepConfig
(*VersionFileConfig)(nil), // 44: autoroll.config.VersionFileConfig
(*DependencyConfig)(nil), // 45: autoroll.config.DependencyConfig
(*GitCheckoutConfig)(nil), // 46: autoroll.config.GitCheckoutConfig
(*BuildbucketRevisionFilterConfig)(nil), // 47: autoroll.config.BuildbucketRevisionFilterConfig
(*CIPDRevisionFilterConfig)(nil), // 48: autoroll.config.CIPDRevisionFilterConfig
(*ValidHttpRevisionFilterConfig)(nil), // 49: autoroll.config.ValidHttpRevisionFilterConfig
(*PreUploadConfig)(nil), // 50: autoroll.config.PreUploadConfig
(*PreUploadCommandConfig)(nil), // 51: autoroll.config.PreUploadCommandConfig
(*PreUploadCIPDPackageConfig)(nil), // 52: autoroll.config.PreUploadCIPDPackageConfig
(*Configs)(nil), // 53: autoroll.config.Configs
(*AndroidRepoManagerConfig_ProjectMetadataFileConfig)(nil), // 54: autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
(*CommandRepoManagerConfig_CommandConfig)(nil), // 55: autoroll.config.CommandRepoManagerConfig.CommandConfig
(*CopyParentConfig_CopyEntry)(nil), // 56: autoroll.config.CopyParentConfig.CopyEntry
}
var file_config_proto_depIdxs = []int32{
7, // 0: autoroll.config.Config.commit_msg:type_name -> autoroll.config.CommitMsgConfig
8, // 1: autoroll.config.Config.gerrit:type_name -> autoroll.config.GerritConfig
9, // 2: autoroll.config.Config.github:type_name -> autoroll.config.GitHubConfig
10, // 3: autoroll.config.Config.google3:type_name -> autoroll.config.Google3Config
11, // 4: autoroll.config.Config.kubernetes:type_name -> autoroll.config.KubernetesConfig
16, // 5: autoroll.config.Config.parent_child_repo_manager:type_name -> autoroll.config.ParentChildRepoManagerConfig
12, // 6: autoroll.config.Config.android_repo_manager:type_name -> autoroll.config.AndroidRepoManagerConfig
13, // 7: autoroll.config.Config.command_repo_manager:type_name -> autoroll.config.CommandRepoManagerConfig
14, // 8: autoroll.config.Config.freetype_repo_manager:type_name -> autoroll.config.FreeTypeRepoManagerConfig
15, // 9: autoroll.config.Config.google3_repo_manager:type_name -> autoroll.config.Google3RepoManagerConfig
37, // 10: autoroll.config.Config.notifiers:type_name -> autoroll.config.NotifierConfig
42, // 11: autoroll.config.Config.safety_throttle:type_name -> autoroll.config.ThrottleConfig
43, // 12: autoroll.config.Config.transitive_deps:type_name -> autoroll.config.TransitiveDepConfig
1, // 13: autoroll.config.Config.valid_modes:type_name -> autoroll.config.Mode
2, // 14: autoroll.config.CommitMsgConfig.built_in:type_name -> autoroll.config.CommitMsgConfig.BuiltIn
3, // 15: autoroll.config.GerritConfig.config:type_name -> autoroll.config.GerritConfig.Config
0, // 16: autoroll.config.AndroidRepoManagerConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
54, // 17: autoroll.config.AndroidRepoManagerConfig.metadata:type_name -> autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
50, // 18: autoroll.config.AndroidRepoManagerConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
46, // 19: autoroll.config.CommandRepoManagerConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
55, // 20: autoroll.config.CommandRepoManagerConfig.get_tip_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
55, // 21: autoroll.config.CommandRepoManagerConfig.get_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
55, // 22: autoroll.config.CommandRepoManagerConfig.set_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
28, // 23: autoroll.config.FreeTypeRepoManagerConfig.parent:type_name -> autoroll.config.FreeTypeParentConfig
35, // 24: autoroll.config.FreeTypeRepoManagerConfig.child:type_name -> autoroll.config.GitilesChildConfig
17, // 25: autoroll.config.ParentChildRepoManagerConfig.copy_parent:type_name -> autoroll.config.CopyParentConfig
18, // 26: autoroll.config.ParentChildRepoManagerConfig.deps_local_github_parent:type_name -> autoroll.config.DEPSLocalGitHubParentConfig
19, // 27: autoroll.config.ParentChildRepoManagerConfig.deps_local_gerrit_parent:type_name -> autoroll.config.DEPSLocalGerritParentConfig
21, // 28: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_file_parent:type_name -> autoroll.config.GitCheckoutGitHubFileParentConfig
22, // 29: autoroll.config.ParentChildRepoManagerConfig.gitiles_parent:type_name -> autoroll.config.GitilesParentConfig
24, // 30: autoroll.config.ParentChildRepoManagerConfig.go_mod_gerrit_parent:type_name -> autoroll.config.GoModGerritParentConfig
29, // 31: autoroll.config.ParentChildRepoManagerConfig.cipd_child:type_name -> autoroll.config.CIPDChildConfig
30, // 32: autoroll.config.ParentChildRepoManagerConfig.fuchsia_sdk_child:type_name -> autoroll.config.FuchsiaSDKChildConfig
33, // 33: autoroll.config.ParentChildRepoManagerConfig.git_checkout_child:type_name -> autoroll.config.GitCheckoutChildConfig
34, // 34: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_child:type_name -> autoroll.config.GitCheckoutGitHubChildConfig
35, // 35: autoroll.config.ParentChildRepoManagerConfig.gitiles_child:type_name -> autoroll.config.GitilesChildConfig
31, // 36: autoroll.config.ParentChildRepoManagerConfig.semver_gcs_child:type_name -> autoroll.config.SemVerGCSChildConfig
36, // 37: autoroll.config.ParentChildRepoManagerConfig.docker_child:type_name -> autoroll.config.DockerChildConfig
47, // 38: autoroll.config.ParentChildRepoManagerConfig.buildbucket_revision_filter:type_name -> autoroll.config.BuildbucketRevisionFilterConfig
48, // 39: autoroll.config.ParentChildRepoManagerConfig.cipd_revision_filter:type_name -> autoroll.config.CIPDRevisionFilterConfig
49, // 40: autoroll.config.ParentChildRepoManagerConfig.valid_http_revision_filter:type_name -> autoroll.config.ValidHttpRevisionFilterConfig
22, // 41: autoroll.config.CopyParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
56, // 42: autoroll.config.CopyParentConfig.copies:type_name -> autoroll.config.CopyParentConfig.CopyEntry
26, // 43: autoroll.config.DEPSLocalGitHubParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
9, // 44: autoroll.config.DEPSLocalGitHubParentConfig.github:type_name -> autoroll.config.GitHubConfig
26, // 45: autoroll.config.DEPSLocalGerritParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
8, // 46: autoroll.config.DEPSLocalGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
27, // 47: autoroll.config.GitCheckoutGitHubParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
20, // 48: autoroll.config.GitCheckoutGitHubFileParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutGitHubParentConfig
0, // 49: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
50, // 50: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
23, // 51: autoroll.config.GitilesParentConfig.gitiles:type_name -> autoroll.config.GitilesConfig
45, // 52: autoroll.config.GitilesParentConfig.dep:type_name -> autoroll.config.DependencyConfig
8, // 53: autoroll.config.GitilesParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
44, // 54: autoroll.config.GitilesConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
25, // 55: autoroll.config.GoModGerritParentConfig.go_mod:type_name -> autoroll.config.GoModParentConfig
8, // 56: autoroll.config.GoModGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
46, // 57: autoroll.config.GoModParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
0, // 58: autoroll.config.GoModParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
50, // 59: autoroll.config.GoModParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
27, // 60: autoroll.config.DEPSLocalParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
0, // 61: autoroll.config.DEPSLocalParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
50, // 62: autoroll.config.DEPSLocalParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
46, // 63: autoroll.config.GitCheckoutParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
45, // 64: autoroll.config.GitCheckoutParentConfig.dep:type_name -> autoroll.config.DependencyConfig
22, // 65: autoroll.config.FreeTypeParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
23, // 66: autoroll.config.CIPDChildConfig.source_repo:type_name -> autoroll.config.GitilesConfig
32, // 67: autoroll.config.SemVerGCSChildConfig.gcs:type_name -> autoroll.config.GCSChildConfig
46, // 68: autoroll.config.GitCheckoutChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
33, // 69: autoroll.config.GitCheckoutGitHubChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutChildConfig
23, // 70: autoroll.config.GitilesChildConfig.gitiles:type_name -> autoroll.config.GitilesConfig
4, // 71: autoroll.config.NotifierConfig.log_level:type_name -> autoroll.config.NotifierConfig.LogLevel
5, // 72: autoroll.config.NotifierConfig.msg_type:type_name -> autoroll.config.NotifierConfig.MsgType
38, // 73: autoroll.config.NotifierConfig.email:type_name -> autoroll.config.EmailNotifierConfig
39, // 74: autoroll.config.NotifierConfig.chat:type_name -> autoroll.config.ChatNotifierConfig
40, // 75: autoroll.config.NotifierConfig.monorail:type_name -> autoroll.config.MonorailNotifierConfig
41, // 76: autoroll.config.NotifierConfig.pubsub:type_name -> autoroll.config.PubSubNotifierConfig
44, // 77: autoroll.config.TransitiveDepConfig.child:type_name -> autoroll.config.VersionFileConfig
44, // 78: autoroll.config.TransitiveDepConfig.parent:type_name -> autoroll.config.VersionFileConfig
44, // 79: autoroll.config.DependencyConfig.primary:type_name -> autoroll.config.VersionFileConfig
43, // 80: autoroll.config.DependencyConfig.transitive:type_name -> autoroll.config.TransitiveDepConfig
44, // 81: autoroll.config.GitCheckoutConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
52, // 82: autoroll.config.PreUploadConfig.cipd_package:type_name -> autoroll.config.PreUploadCIPDPackageConfig
51, // 83: autoroll.config.PreUploadConfig.command:type_name -> autoroll.config.PreUploadCommandConfig
6, // 84: autoroll.config.Configs.config:type_name -> autoroll.config.Config
85, // [85:85] is the sub-list for method output_type
85, // [85:85] is the sub-list for method input_type
85, // [85:85] is the sub-list for extension type_name
85, // [85:85] is the sub-list for extension extendee
0, // [0:85] is the sub-list for field type_name
}
func init() { file_config_proto_init() }
func file_config_proto_init() {
if File_config_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Config); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommitMsgConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GerritConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitHubConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Google3Config); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KubernetesConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AndroidRepoManagerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommandRepoManagerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FreeTypeRepoManagerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Google3RepoManagerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParentChildRepoManagerConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CopyParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DEPSLocalGitHubParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DEPSLocalGerritParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitCheckoutGitHubParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitCheckoutGitHubFileParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitilesParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitilesConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GoModGerritParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GoModParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DEPSLocalParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitCheckoutParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FreeTypeParentConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CIPDChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FuchsiaSDKChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SemVerGCSChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GCSChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitCheckoutChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitCheckoutGitHubChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitilesChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DockerChildConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotifierConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmailNotifierConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChatNotifierConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MonorailNotifierConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PubSubNotifierConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ThrottleConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransitiveDepConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VersionFileConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DependencyConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitCheckoutConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildbucketRevisionFilterConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CIPDRevisionFilterConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValidHttpRevisionFilterConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreUploadConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreUploadCommandConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreUploadCIPDPackageConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Configs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AndroidRepoManagerConfig_ProjectMetadataFileConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommandRepoManagerConfig_CommandConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_config_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CopyParentConfig_CopyEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_config_proto_msgTypes[0].OneofWrappers = []interface{}{
(*Config_Gerrit)(nil),
(*Config_Github)(nil),
(*Config_Google3)(nil),
(*Config_ParentChildRepoManager)(nil),
(*Config_AndroidRepoManager)(nil),
(*Config_CommandRepoManager)(nil),
(*Config_FreetypeRepoManager)(nil),
(*Config_Google3RepoManager)(nil),
}
file_config_proto_msgTypes[10].OneofWrappers = []interface{}{
(*ParentChildRepoManagerConfig_CopyParent)(nil),
(*ParentChildRepoManagerConfig_DepsLocalGithubParent)(nil),
(*ParentChildRepoManagerConfig_DepsLocalGerritParent)(nil),
(*ParentChildRepoManagerConfig_GitCheckoutGithubFileParent)(nil),
(*ParentChildRepoManagerConfig_GitilesParent)(nil),
(*ParentChildRepoManagerConfig_GoModGerritParent)(nil),
(*ParentChildRepoManagerConfig_CipdChild)(nil),
(*ParentChildRepoManagerConfig_FuchsiaSdkChild)(nil),
(*ParentChildRepoManagerConfig_GitCheckoutChild)(nil),
(*ParentChildRepoManagerConfig_GitCheckoutGithubChild)(nil),
(*ParentChildRepoManagerConfig_GitilesChild)(nil),
(*ParentChildRepoManagerConfig_SemverGcsChild)(nil),
(*ParentChildRepoManagerConfig_DockerChild)(nil),
}
file_config_proto_msgTypes[31].OneofWrappers = []interface{}{
(*NotifierConfig_Email)(nil),
(*NotifierConfig_Chat)(nil),
(*NotifierConfig_Monorail)(nil),
(*NotifierConfig_Pubsub)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_config_proto_rawDesc,
NumEnums: 6,
NumMessages: 51,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_config_proto_goTypes,
DependencyIndexes: file_config_proto_depIdxs,
EnumInfos: file_config_proto_enumTypes,
MessageInfos: file_config_proto_msgTypes,
}.Build()
File_config_proto = out.File
file_config_proto_rawDesc = nil
file_config_proto_goTypes = nil
file_config_proto_depIdxs = nil
}