blob: 87eb34e6b7591a630f06828854fe353f0188db7b [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.3.0
// source: config.proto
package config
import (
reflect "reflect"
sync "sync"
proto "github.com/golang/protobuf/proto"
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)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
// 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
)
// 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",
}
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,
}
)
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}
}
// 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
)
// Enum value maps for CommitMsgConfig_BuiltIn.
var (
CommitMsgConfig_BuiltIn_name = map[int32]string{
0: "DEFAULT",
1: "ANDROID",
}
CommitMsgConfig_BuiltIn_value = map[string]int32{
"DEFAULT": 0,
"ANDROID": 1,
}
)
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[1].Descriptor()
}
func (CommitMsgConfig_BuiltIn) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[1]
}
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
)
// 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",
}
GerritConfig_Config_value = map[string]int32{
"ANDROID": 0,
"ANGLE": 1,
"CHROMIUM": 2,
"CHROMIUM_NO_CQ": 3,
"LIBASSISTANT": 4,
"CHROMIUM_BOT_COMMIT": 5,
}
)
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[2].Descriptor()
}
func (GerritConfig_Config) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[2]
}
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[3].Descriptor()
}
func (NotifierConfig_LogLevel) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[3]
}
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{30, 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
)
// 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",
}
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,
}
)
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[4].Descriptor()
}
func (NotifierConfig_MsgType) Type() protoreflect.EnumType {
return &file_config_proto_enumTypes[4]
}
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{30, 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.
// 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_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_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.
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.
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"`
// 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_FuchsiaSdkAndroidRepoManager
// *Config_Google3RepoManager
RepoManager isConfig_RepoManager `protobuf_oneof:"repo_manager"`
// notifiers configures any extra notifications used by this roller.
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"`
}
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) GetChildDisplayName() string {
if x != nil {
return x.ChildDisplayName
}
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) 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) GetFuchsiaSdkAndroidRepoManager() *FuchsiaSDKAndroidRepoManagerConfig {
if x, ok := x.GetRepoManager().(*Config_FuchsiaSdkAndroidRepoManager); ok {
return x.FuchsiaSdkAndroidRepoManager
}
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
}
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_FuchsiaSdkAndroidRepoManager struct {
FuchsiaSdkAndroidRepoManager *FuchsiaSDKAndroidRepoManagerConfig `protobuf:"bytes,24,opt,name=fuchsia_sdk_android_repo_manager,json=fuchsiaSdkAndroidRepoManager,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_FuchsiaSdkAndroidRepoManager) 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"`
// template specifies exactly how the commit message should be structured.
// If not specified, the default template is used.
//
// Types that are assignable to Template:
// *CommitMsgConfig_BuiltIn_
// *CommitMsgConfig_Custom
Template isCommitMsgConfig_Template `protobuf_oneof:"template"`
}
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 (m *CommitMsgConfig) GetTemplate() isCommitMsgConfig_Template {
if m != nil {
return m.Template
}
return nil
}
func (x *CommitMsgConfig) GetBuiltIn() CommitMsgConfig_BuiltIn {
if x, ok := x.GetTemplate().(*CommitMsgConfig_BuiltIn_); ok {
return x.BuiltIn
}
return CommitMsgConfig_DEFAULT
}
func (x *CommitMsgConfig) GetCustom() string {
if x, ok := x.GetTemplate().(*CommitMsgConfig_Custom); ok {
return x.Custom
}
return ""
}
type isCommitMsgConfig_Template interface {
isCommitMsgConfig_Template()
}
type CommitMsgConfig_BuiltIn_ struct {
// 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,oneof"`
}
type CommitMsgConfig_Custom struct {
// custom is a full custom commit message template string.
Custom string `protobuf:"bytes,10,opt,name=custom,proto3,oneof"`
}
func (*CommitMsgConfig_BuiltIn_) isCommitMsgConfig_Template() {}
func (*CommitMsgConfig_Custom) isCommitMsgConfig_Template() {}
// 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"`
}
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
}
// 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"`
// secrets provided to the pod.
Secrets []*KubernetesSecret `protobuf:"bytes,7,rep,name=secrets,proto3" json:"secrets,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) GetSecrets() []*KubernetesSecret {
if x != nil {
return x.Secrets
}
return nil
}
// KubernetesSecret provides configuration for a Kubernetes secret.
type KubernetesSecret struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// name of the secret.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// mount_path of the secret.
MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"`
}
func (x *KubernetesSecret) Reset() {
*x = KubernetesSecret{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KubernetesSecret) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KubernetesSecret) ProtoMessage() {}
func (x *KubernetesSecret) 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 KubernetesSecret.ProtoReflect.Descriptor instead.
func (*KubernetesSecret) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{6}
}
func (x *KubernetesSecret) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *KubernetesSecret) GetMountPath() string {
if x != nil {
return x.MountPath
}
return ""
}
// 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"`
}
func (x *AndroidRepoManagerConfig) Reset() {
*x = AndroidRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[7]
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[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 AndroidRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*AndroidRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{7}
}
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
}
// 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[8]
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[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 CommandRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*CommandRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{8}
}
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[9]
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[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 FreeTypeRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*FreeTypeRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{9}
}
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
}
// FuchsiaSDKAndroidRepoManagerConfig provides configuration for the Fuchsia SDK
// into Android roller.
type FuchsiaSDKAndroidRepoManagerConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Parent *GitCheckoutParentConfig `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
Child *FuchsiaSDKChildConfig `protobuf:"bytes,2,opt,name=child,proto3" json:"child,omitempty"`
// gen_sdk_bp_repo is the repo URL for the generation script.
GenSdkBpRepo string `protobuf:"bytes,3,opt,name=gen_sdk_bp_repo,json=genSdkBpRepo,proto3" json:"gen_sdk_bp_repo,omitempty"`
// gen_sdk_bp_branch is the branch of the generation script.
GenSdkBpBranch string `protobuf:"bytes,4,opt,name=gen_sdk_bp_branch,json=genSdkBpBranch,proto3" json:"gen_sdk_bp_branch,omitempty"`
}
func (x *FuchsiaSDKAndroidRepoManagerConfig) Reset() {
*x = FuchsiaSDKAndroidRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FuchsiaSDKAndroidRepoManagerConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FuchsiaSDKAndroidRepoManagerConfig) ProtoMessage() {}
func (x *FuchsiaSDKAndroidRepoManagerConfig) 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 FuchsiaSDKAndroidRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*FuchsiaSDKAndroidRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{10}
}
func (x *FuchsiaSDKAndroidRepoManagerConfig) GetParent() *GitCheckoutParentConfig {
if x != nil {
return x.Parent
}
return nil
}
func (x *FuchsiaSDKAndroidRepoManagerConfig) GetChild() *FuchsiaSDKChildConfig {
if x != nil {
return x.Child
}
return nil
}
func (x *FuchsiaSDKAndroidRepoManagerConfig) GetGenSdkBpRepo() string {
if x != nil {
return x.GenSdkBpRepo
}
return ""
}
func (x *FuchsiaSDKAndroidRepoManagerConfig) GetGenSdkBpBranch() string {
if x != nil {
return x.GenSdkBpBranch
}
return ""
}
// 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[11]
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[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 Google3RepoManagerConfig.ProtoReflect.Descriptor instead.
func (*Google3RepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{11}
}
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
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
Child isParentChildRepoManagerConfig_Child `protobuf_oneof:"child"`
// revision_filter filters out revisions of the child which should not be
// considered as roll candidates.
//
// Types that are assignable to RevisionFilter:
// *ParentChildRepoManagerConfig_BuildbucketRevisionFilter
RevisionFilter isParentChildRepoManagerConfig_RevisionFilter `protobuf_oneof:"revision_filter"`
}
func (x *ParentChildRepoManagerConfig) Reset() {
*x = ParentChildRepoManagerConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[12]
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[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 ParentChildRepoManagerConfig.ProtoReflect.Descriptor instead.
func (*ParentChildRepoManagerConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{12}
}
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 (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 (m *ParentChildRepoManagerConfig) GetRevisionFilter() isParentChildRepoManagerConfig_RevisionFilter {
if m != nil {
return m.RevisionFilter
}
return nil
}
func (x *ParentChildRepoManagerConfig) GetBuildbucketRevisionFilter() *BuildbucketRevisionFilterConfig {
if x, ok := x.GetRevisionFilter().(*ParentChildRepoManagerConfig_BuildbucketRevisionFilter); ok {
return x.BuildbucketRevisionFilter
}
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"`
}
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() {}
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"`
}
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() {}
type isParentChildRepoManagerConfig_RevisionFilter interface {
isParentChildRepoManagerConfig_RevisionFilter()
}
type ParentChildRepoManagerConfig_BuildbucketRevisionFilter struct {
BuildbucketRevisionFilter *BuildbucketRevisionFilterConfig `protobuf:"bytes,12,opt,name=buildbucket_revision_filter,json=buildbucketRevisionFilter,proto3,oneof"`
}
func (*ParentChildRepoManagerConfig_BuildbucketRevisionFilter) isParentChildRepoManagerConfig_RevisionFilter() {
}
// 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[13]
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[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 CopyParentConfig.ProtoReflect.Descriptor instead.
func (*CopyParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{13}
}
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[14]
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[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 DEPSLocalGitHubParentConfig.ProtoReflect.Descriptor instead.
func (*DEPSLocalGitHubParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{14}
}
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[15]
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[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 DEPSLocalGerritParentConfig.ProtoReflect.Descriptor instead.
func (*DEPSLocalGerritParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{15}
}
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[16]
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[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 GitCheckoutGitHubParentConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutGitHubParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{16}
}
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"`
}
func (x *GitCheckoutGitHubFileParentConfig) Reset() {
*x = GitCheckoutGitHubFileParentConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[17]
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[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 GitCheckoutGitHubFileParentConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutGitHubFileParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{17}
}
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
}
// 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[18]
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[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 GitilesParentConfig.ProtoReflect.Descriptor instead.
func (*GitilesParentConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{18}
}
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"`
}
func (x *GitilesConfig) Reset() {
*x = GitilesConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[19]
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[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 GitilesConfig.ProtoReflect.Descriptor instead.
func (*GitilesConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{19}
}
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
}
// 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"`
}
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
}
// 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"`
}
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 ""
}
// 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.
IncludeMacSdk bool `protobuf:"varint,1,opt,name=include_mac_sdk,json=includeMacSdk,proto3" json:"include_mac_sdk,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
}
// 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"`
}
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 ""
}
// 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 ""
}
// 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[30]
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[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 NotifierConfig.ProtoReflect.Descriptor instead.
func (*NotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{30}
}
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[31]
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[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 EmailNotifierConfig.ProtoReflect.Descriptor instead.
func (*EmailNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{31}
}
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[32]
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[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 ChatNotifierConfig.ProtoReflect.Descriptor instead.
func (*ChatNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{32}
}
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[33]
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[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 MonorailNotifierConfig.ProtoReflect.Descriptor instead.
func (*MonorailNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{33}
}
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[34]
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[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 PubSubNotifierConfig.ProtoReflect.Descriptor instead.
func (*PubSubNotifierConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{34}
}
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[35]
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[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 ThrottleConfig.ProtoReflect.Descriptor instead.
func (*ThrottleConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{35}
}
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"`
}
func (x *TransitiveDepConfig) Reset() {
*x = TransitiveDepConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[36]
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[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 TransitiveDepConfig.ProtoReflect.Descriptor instead.
func (*TransitiveDepConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{36}
}
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
}
// 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.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *VersionFileConfig) Reset() {
*x = VersionFileConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[37]
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[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 VersionFileConfig.ProtoReflect.Descriptor instead.
func (*VersionFileConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{37}
}
func (x *VersionFileConfig) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *VersionFileConfig) GetPath() string {
if x != nil {
return x.Path
}
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"`
}
func (x *DependencyConfig) Reset() {
*x = DependencyConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[38]
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[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 DependencyConfig.ProtoReflect.Descriptor instead.
func (*DependencyConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{38}
}
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
}
// 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"`
}
func (x *GitCheckoutConfig) Reset() {
*x = GitCheckoutConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[39]
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[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 GitCheckoutConfig.ProtoReflect.Descriptor instead.
func (*GitCheckoutConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{39}
}
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
}
// 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"`
}
func (x *BuildbucketRevisionFilterConfig) Reset() {
*x = BuildbucketRevisionFilterConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_config_proto_msgTypes[40]
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[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 BuildbucketRevisionFilterConfig.ProtoReflect.Descriptor instead.
func (*BuildbucketRevisionFilterConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{40}
}
func (x *BuildbucketRevisionFilterConfig) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *BuildbucketRevisionFilterConfig) GetBucket() string {
if x != nil {
return x.Bucket
}
return ""
}
// 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[41]
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[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 AndroidRepoManagerConfig_ProjectMetadataFileConfig.ProtoReflect.Descriptor instead.
func (*AndroidRepoManagerConfig_ProjectMetadataFileConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{7, 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[42]
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[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 CommandRepoManagerConfig_CommandConfig.ProtoReflect.Descriptor instead.
func (*CommandRepoManagerConfig_CommandConfig) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{8, 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[43]
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[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 CopyParentConfig_CopyEntry.ProtoReflect.Descriptor instead.
func (*CopyParentConfig_CopyEntry) Descriptor() ([]byte, []int) {
return file_config_proto_rawDescGZIP(), []int{13, 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,
0xb8, 0x0d, 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, 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, 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, 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, 0x7d, 0x0a, 0x20, 0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61,
0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x70,
0x6f, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x33, 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, 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, 0x1c, 0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53,
0x64, 0x6b, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 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, 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, 0xf9, 0x03, 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, 0x45, 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,
0x48, 0x00, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x63,
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x23, 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, 0x42, 0x0a, 0x0a, 0x08, 0x74, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xe7, 0x01, 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, 0x6d, 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,
0x22, 0x72, 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, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x33, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xce, 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, 0x3b, 0x0a, 0x07, 0x73, 0x65, 0x63,
0x72, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 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, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73,
0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x10, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e,
0x65, 0x74, 0x65, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0xd7, 0x05,
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, 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, 0xf6, 0x01, 0x0a, 0x22, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x44, 0x4b,
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, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
0x6e, 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, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x05, 0x63, 0x68,
0x69, 0x6c, 0x64, 0x18, 0x02, 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, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x5f,
0x73, 0x64, 0x6b, 0x5f, 0x62, 0x70, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x53, 0x64, 0x6b, 0x42, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x12,
0x29, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x62, 0x70, 0x5f, 0x62, 0x72,
0x61, 0x6e, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x53,
0x64, 0x6b, 0x42, 0x70, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 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, 0x98, 0x09, 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, 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, 0x72, 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, 0x01, 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,
0x48, 0x02, 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, 0x42, 0x08, 0x0a,
0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64,
0x42, 0x11, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c,
0x74, 0x65, 0x72, 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, 0xc0, 0x01, 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, 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, 0x8a, 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, 0x22,
0xd5, 0x02, 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, 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, 0x37, 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,
0x22, 0x3f, 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, 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, 0x4a, 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, 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, 0xc3, 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, 0xbb, 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,
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, 0x8b, 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, 0x22,
0x37, 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, 0x22, 0x96, 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, 0x22, 0xb2, 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, 0x22, 0x53, 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, 0x2a, 0xc6, 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, 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, 5)
var file_config_proto_msgTypes = make([]protoimpl.MessageInfo, 44)
var file_config_proto_goTypes = []interface{}{
(PreUploadStep)(0), // 0: autoroll.config.PreUploadStep
(CommitMsgConfig_BuiltIn)(0), // 1: autoroll.config.CommitMsgConfig.BuiltIn
(GerritConfig_Config)(0), // 2: autoroll.config.GerritConfig.Config
(NotifierConfig_LogLevel)(0), // 3: autoroll.config.NotifierConfig.LogLevel
(NotifierConfig_MsgType)(0), // 4: autoroll.config.NotifierConfig.MsgType
(*Config)(nil), // 5: autoroll.config.Config
(*CommitMsgConfig)(nil), // 6: autoroll.config.CommitMsgConfig
(*GerritConfig)(nil), // 7: autoroll.config.GerritConfig
(*GitHubConfig)(nil), // 8: autoroll.config.GitHubConfig
(*Google3Config)(nil), // 9: autoroll.config.Google3Config
(*KubernetesConfig)(nil), // 10: autoroll.config.KubernetesConfig
(*KubernetesSecret)(nil), // 11: autoroll.config.KubernetesSecret
(*AndroidRepoManagerConfig)(nil), // 12: autoroll.config.AndroidRepoManagerConfig
(*CommandRepoManagerConfig)(nil), // 13: autoroll.config.CommandRepoManagerConfig
(*FreeTypeRepoManagerConfig)(nil), // 14: autoroll.config.FreeTypeRepoManagerConfig
(*FuchsiaSDKAndroidRepoManagerConfig)(nil), // 15: autoroll.config.FuchsiaSDKAndroidRepoManagerConfig
(*Google3RepoManagerConfig)(nil), // 16: autoroll.config.Google3RepoManagerConfig
(*ParentChildRepoManagerConfig)(nil), // 17: autoroll.config.ParentChildRepoManagerConfig
(*CopyParentConfig)(nil), // 18: autoroll.config.CopyParentConfig
(*DEPSLocalGitHubParentConfig)(nil), // 19: autoroll.config.DEPSLocalGitHubParentConfig
(*DEPSLocalGerritParentConfig)(nil), // 20: autoroll.config.DEPSLocalGerritParentConfig
(*GitCheckoutGitHubParentConfig)(nil), // 21: autoroll.config.GitCheckoutGitHubParentConfig
(*GitCheckoutGitHubFileParentConfig)(nil), // 22: autoroll.config.GitCheckoutGitHubFileParentConfig
(*GitilesParentConfig)(nil), // 23: autoroll.config.GitilesParentConfig
(*GitilesConfig)(nil), // 24: autoroll.config.GitilesConfig
(*DEPSLocalParentConfig)(nil), // 25: autoroll.config.DEPSLocalParentConfig
(*GitCheckoutParentConfig)(nil), // 26: autoroll.config.GitCheckoutParentConfig
(*FreeTypeParentConfig)(nil), // 27: autoroll.config.FreeTypeParentConfig
(*CIPDChildConfig)(nil), // 28: autoroll.config.CIPDChildConfig
(*FuchsiaSDKChildConfig)(nil), // 29: autoroll.config.FuchsiaSDKChildConfig
(*SemVerGCSChildConfig)(nil), // 30: autoroll.config.SemVerGCSChildConfig
(*GCSChildConfig)(nil), // 31: autoroll.config.GCSChildConfig
(*GitCheckoutChildConfig)(nil), // 32: autoroll.config.GitCheckoutChildConfig
(*GitCheckoutGitHubChildConfig)(nil), // 33: autoroll.config.GitCheckoutGitHubChildConfig
(*GitilesChildConfig)(nil), // 34: autoroll.config.GitilesChildConfig
(*NotifierConfig)(nil), // 35: autoroll.config.NotifierConfig
(*EmailNotifierConfig)(nil), // 36: autoroll.config.EmailNotifierConfig
(*ChatNotifierConfig)(nil), // 37: autoroll.config.ChatNotifierConfig
(*MonorailNotifierConfig)(nil), // 38: autoroll.config.MonorailNotifierConfig
(*PubSubNotifierConfig)(nil), // 39: autoroll.config.PubSubNotifierConfig
(*ThrottleConfig)(nil), // 40: autoroll.config.ThrottleConfig
(*TransitiveDepConfig)(nil), // 41: autoroll.config.TransitiveDepConfig
(*VersionFileConfig)(nil), // 42: autoroll.config.VersionFileConfig
(*DependencyConfig)(nil), // 43: autoroll.config.DependencyConfig
(*GitCheckoutConfig)(nil), // 44: autoroll.config.GitCheckoutConfig
(*BuildbucketRevisionFilterConfig)(nil), // 45: autoroll.config.BuildbucketRevisionFilterConfig
(*AndroidRepoManagerConfig_ProjectMetadataFileConfig)(nil), // 46: autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
(*CommandRepoManagerConfig_CommandConfig)(nil), // 47: autoroll.config.CommandRepoManagerConfig.CommandConfig
(*CopyParentConfig_CopyEntry)(nil), // 48: autoroll.config.CopyParentConfig.CopyEntry
}
var file_config_proto_depIdxs = []int32{
6, // 0: autoroll.config.Config.commit_msg:type_name -> autoroll.config.CommitMsgConfig
7, // 1: autoroll.config.Config.gerrit:type_name -> autoroll.config.GerritConfig
8, // 2: autoroll.config.Config.github:type_name -> autoroll.config.GitHubConfig
9, // 3: autoroll.config.Config.google3:type_name -> autoroll.config.Google3Config
10, // 4: autoroll.config.Config.kubernetes:type_name -> autoroll.config.KubernetesConfig
17, // 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.fuchsia_sdk_android_repo_manager:type_name -> autoroll.config.FuchsiaSDKAndroidRepoManagerConfig
16, // 10: autoroll.config.Config.google3_repo_manager:type_name -> autoroll.config.Google3RepoManagerConfig
35, // 11: autoroll.config.Config.notifiers:type_name -> autoroll.config.NotifierConfig
40, // 12: autoroll.config.Config.safety_throttle:type_name -> autoroll.config.ThrottleConfig
41, // 13: autoroll.config.Config.transitive_deps:type_name -> autoroll.config.TransitiveDepConfig
1, // 14: autoroll.config.CommitMsgConfig.built_in:type_name -> autoroll.config.CommitMsgConfig.BuiltIn
2, // 15: autoroll.config.GerritConfig.config:type_name -> autoroll.config.GerritConfig.Config
11, // 16: autoroll.config.KubernetesConfig.secrets:type_name -> autoroll.config.KubernetesSecret
0, // 17: autoroll.config.AndroidRepoManagerConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
46, // 18: autoroll.config.AndroidRepoManagerConfig.metadata:type_name -> autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
44, // 19: autoroll.config.CommandRepoManagerConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
47, // 20: autoroll.config.CommandRepoManagerConfig.get_tip_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
47, // 21: autoroll.config.CommandRepoManagerConfig.get_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
47, // 22: autoroll.config.CommandRepoManagerConfig.set_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
27, // 23: autoroll.config.FreeTypeRepoManagerConfig.parent:type_name -> autoroll.config.FreeTypeParentConfig
34, // 24: autoroll.config.FreeTypeRepoManagerConfig.child:type_name -> autoroll.config.GitilesChildConfig
26, // 25: autoroll.config.FuchsiaSDKAndroidRepoManagerConfig.parent:type_name -> autoroll.config.GitCheckoutParentConfig
29, // 26: autoroll.config.FuchsiaSDKAndroidRepoManagerConfig.child:type_name -> autoroll.config.FuchsiaSDKChildConfig
18, // 27: autoroll.config.ParentChildRepoManagerConfig.copy_parent:type_name -> autoroll.config.CopyParentConfig
19, // 28: autoroll.config.ParentChildRepoManagerConfig.deps_local_github_parent:type_name -> autoroll.config.DEPSLocalGitHubParentConfig
20, // 29: autoroll.config.ParentChildRepoManagerConfig.deps_local_gerrit_parent:type_name -> autoroll.config.DEPSLocalGerritParentConfig
22, // 30: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_file_parent:type_name -> autoroll.config.GitCheckoutGitHubFileParentConfig
23, // 31: autoroll.config.ParentChildRepoManagerConfig.gitiles_parent:type_name -> autoroll.config.GitilesParentConfig
28, // 32: autoroll.config.ParentChildRepoManagerConfig.cipd_child:type_name -> autoroll.config.CIPDChildConfig
29, // 33: autoroll.config.ParentChildRepoManagerConfig.fuchsia_sdk_child:type_name -> autoroll.config.FuchsiaSDKChildConfig
32, // 34: autoroll.config.ParentChildRepoManagerConfig.git_checkout_child:type_name -> autoroll.config.GitCheckoutChildConfig
33, // 35: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_child:type_name -> autoroll.config.GitCheckoutGitHubChildConfig
34, // 36: autoroll.config.ParentChildRepoManagerConfig.gitiles_child:type_name -> autoroll.config.GitilesChildConfig
30, // 37: autoroll.config.ParentChildRepoManagerConfig.semver_gcs_child:type_name -> autoroll.config.SemVerGCSChildConfig
45, // 38: autoroll.config.ParentChildRepoManagerConfig.buildbucket_revision_filter:type_name -> autoroll.config.BuildbucketRevisionFilterConfig
23, // 39: autoroll.config.CopyParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
48, // 40: autoroll.config.CopyParentConfig.copies:type_name -> autoroll.config.CopyParentConfig.CopyEntry
25, // 41: autoroll.config.DEPSLocalGitHubParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
8, // 42: autoroll.config.DEPSLocalGitHubParentConfig.github:type_name -> autoroll.config.GitHubConfig
25, // 43: autoroll.config.DEPSLocalGerritParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
7, // 44: autoroll.config.DEPSLocalGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
26, // 45: autoroll.config.GitCheckoutGitHubParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
21, // 46: autoroll.config.GitCheckoutGitHubFileParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutGitHubParentConfig
0, // 47: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
24, // 48: autoroll.config.GitilesParentConfig.gitiles:type_name -> autoroll.config.GitilesConfig
43, // 49: autoroll.config.GitilesParentConfig.dep:type_name -> autoroll.config.DependencyConfig
7, // 50: autoroll.config.GitilesParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
42, // 51: autoroll.config.GitilesConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
26, // 52: autoroll.config.DEPSLocalParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
0, // 53: autoroll.config.DEPSLocalParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
44, // 54: autoroll.config.GitCheckoutParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
43, // 55: autoroll.config.GitCheckoutParentConfig.dep:type_name -> autoroll.config.DependencyConfig
23, // 56: autoroll.config.FreeTypeParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
31, // 57: autoroll.config.SemVerGCSChildConfig.gcs:type_name -> autoroll.config.GCSChildConfig
44, // 58: autoroll.config.GitCheckoutChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
32, // 59: autoroll.config.GitCheckoutGitHubChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutChildConfig
24, // 60: autoroll.config.GitilesChildConfig.gitiles:type_name -> autoroll.config.GitilesConfig
3, // 61: autoroll.config.NotifierConfig.log_level:type_name -> autoroll.config.NotifierConfig.LogLevel
4, // 62: autoroll.config.NotifierConfig.msg_type:type_name -> autoroll.config.NotifierConfig.MsgType
36, // 63: autoroll.config.NotifierConfig.email:type_name -> autoroll.config.EmailNotifierConfig
37, // 64: autoroll.config.NotifierConfig.chat:type_name -> autoroll.config.ChatNotifierConfig
38, // 65: autoroll.config.NotifierConfig.monorail:type_name -> autoroll.config.MonorailNotifierConfig
39, // 66: autoroll.config.NotifierConfig.pubsub:type_name -> autoroll.config.PubSubNotifierConfig
42, // 67: autoroll.config.TransitiveDepConfig.child:type_name -> autoroll.config.VersionFileConfig
42, // 68: autoroll.config.TransitiveDepConfig.parent:type_name -> autoroll.config.VersionFileConfig
42, // 69: autoroll.config.DependencyConfig.primary:type_name -> autoroll.config.VersionFileConfig
41, // 70: autoroll.config.DependencyConfig.transitive:type_name -> autoroll.config.TransitiveDepConfig
42, // 71: autoroll.config.GitCheckoutConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
72, // [72:72] is the sub-list for method output_type
72, // [72:72] is the sub-list for method input_type
72, // [72:72] is the sub-list for extension type_name
72, // [72:72] is the sub-list for extension extendee
0, // [0:72] 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.(*KubernetesSecret); 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.(*AndroidRepoManagerConfig); 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.(*CommandRepoManagerConfig); 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.(*FreeTypeRepoManagerConfig); 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.(*FuchsiaSDKAndroidRepoManagerConfig); 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.(*Google3RepoManagerConfig); 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.(*ParentChildRepoManagerConfig); 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.(*CopyParentConfig); 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.(*DEPSLocalGitHubParentConfig); 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.(*DEPSLocalGerritParentConfig); 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.(*GitCheckoutGitHubParentConfig); 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.(*GitCheckoutGitHubFileParentConfig); 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.(*GitilesParentConfig); 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.(*GitilesConfig); 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.(*NotifierConfig); 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.(*EmailNotifierConfig); 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.(*ChatNotifierConfig); 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.(*MonorailNotifierConfig); 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.(*PubSubNotifierConfig); 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.(*ThrottleConfig); 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.(*TransitiveDepConfig); 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.(*VersionFileConfig); 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.(*DependencyConfig); 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.(*GitCheckoutConfig); 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.(*BuildbucketRevisionFilterConfig); 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.(*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[42].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[43].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_FuchsiaSdkAndroidRepoManager)(nil),
(*Config_Google3RepoManager)(nil),
}
file_config_proto_msgTypes[1].OneofWrappers = []interface{}{
(*CommitMsgConfig_BuiltIn_)(nil),
(*CommitMsgConfig_Custom)(nil),
}
file_config_proto_msgTypes[12].OneofWrappers = []interface{}{
(*ParentChildRepoManagerConfig_CopyParent)(nil),
(*ParentChildRepoManagerConfig_DepsLocalGithubParent)(nil),
(*ParentChildRepoManagerConfig_DepsLocalGerritParent)(nil),
(*ParentChildRepoManagerConfig_GitCheckoutGithubFileParent)(nil),
(*ParentChildRepoManagerConfig_GitilesParent)(nil),
(*ParentChildRepoManagerConfig_CipdChild)(nil),
(*ParentChildRepoManagerConfig_FuchsiaSdkChild)(nil),
(*ParentChildRepoManagerConfig_GitCheckoutChild)(nil),
(*ParentChildRepoManagerConfig_GitCheckoutGithubChild)(nil),
(*ParentChildRepoManagerConfig_GitilesChild)(nil),
(*ParentChildRepoManagerConfig_SemverGcsChild)(nil),
(*ParentChildRepoManagerConfig_BuildbucketRevisionFilter)(nil),
}
file_config_proto_msgTypes[30].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: 5,
NumMessages: 44,
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
}