blob: 23a8d27ad7ec3201fa863863c40c599d6a644594 [file]
// Copyright 2015 The LUCI Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.
// Schemas for config files in services/luci-config config set.
//
// In this file, "string pattern" is an exact string (can't have a colon) or a
// string that starts with "regex:", followed by a regular expression. In case
// of regex, the pattern must match an entire string, as if it was sorrounded by
// ^ and $.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.17.3
// source: go.chromium.org/luci/common/proto/config/service_config.proto
package config
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Severity of a validation response message. In JSON encoded as a string.
type ValidationResponseMessage_Severity int32
const (
ValidationResponseMessage_UNKNOWN ValidationResponseMessage_Severity = 0
ValidationResponseMessage_DEBUG ValidationResponseMessage_Severity = 10
ValidationResponseMessage_INFO ValidationResponseMessage_Severity = 20
ValidationResponseMessage_WARNING ValidationResponseMessage_Severity = 30
ValidationResponseMessage_ERROR ValidationResponseMessage_Severity = 40
ValidationResponseMessage_CRITICAL ValidationResponseMessage_Severity = 50
)
// Enum value maps for ValidationResponseMessage_Severity.
var (
ValidationResponseMessage_Severity_name = map[int32]string{
0: "UNKNOWN",
10: "DEBUG",
20: "INFO",
30: "WARNING",
40: "ERROR",
50: "CRITICAL",
}
ValidationResponseMessage_Severity_value = map[string]int32{
"UNKNOWN": 0,
"DEBUG": 10,
"INFO": 20,
"WARNING": 30,
"ERROR": 40,
"CRITICAL": 50,
}
)
func (x ValidationResponseMessage_Severity) Enum() *ValidationResponseMessage_Severity {
p := new(ValidationResponseMessage_Severity)
*p = x
return p
}
func (x ValidationResponseMessage_Severity) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ValidationResponseMessage_Severity) Descriptor() protoreflect.EnumDescriptor {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_enumTypes[0].Descriptor()
}
func (ValidationResponseMessage_Severity) Type() protoreflect.EnumType {
return &file_go_chromium_org_luci_common_proto_config_service_config_proto_enumTypes[0]
}
func (x ValidationResponseMessage_Severity) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ValidationResponseMessage_Severity.Descriptor instead.
func (ValidationResponseMessage_Severity) EnumDescriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{14, 0}
}
// Use to specify configuration stored in Git repository importable via Gitiles
// API.
type GitilesLocation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// URL of the Git repository.
// Must not end with "/".
// Must not end with ".git".
// Must not have "/a/" prefix of a path component.
//
// Example:
// OK:
// https://chromium.googlesource.com/infra/infra
// Not OK:
// https://chromium.googlesource.com/a/infra/infra
// https://chromium.googlesource.com/infra/infra/
// https://chromium.googlesource.com/infra/infra.git
Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
// Ref of the Git repository.
// Must be a fully qualifed ref starting with "refs/".
//
// Example:
// OK:
// refs/heads/branch
// refs/heads/infra/config
// refs/branch-heads/beta
// Not OK:
// main
// HEAD
// origin/main
// tags/123
Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
// Path to the directory inside Git repository where configurations are stored.
// Optional. If not specified, defaults to top-level folder of the git repo.
// Must not start or end with "/".
//
// Example:
// OK:
// infra/config/generated
// (empty string)
// NOT OK:
// /
// /config
// infra/config/
Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *GitilesLocation) Reset() {
*x = GitilesLocation{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GitilesLocation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GitilesLocation) ProtoMessage() {}
func (x *GitilesLocation) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GitilesLocation.ProtoReflect.Descriptor instead.
func (*GitilesLocation) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{0}
}
func (x *GitilesLocation) GetRepo() string {
if x != nil {
return x.Repo
}
return ""
}
func (x *GitilesLocation) GetRef() string {
if x != nil {
return x.Ref
}
return ""
}
func (x *GitilesLocation) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
// Used to define project specific identities for LUCI to act on behalf when
// interacting with external systems. This allows projects to use exclusive
// and isolated identities to not be accidentally affected by other projects.
type IdentityConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// ServiceAccountEmail is the full service account email to use when
// LUCI acts on behalf of the project.
//
// Note: Due to token caching, it takes ~15 minutes for a config change
// to become effective. Keep this in mind when migrating projects to a
// new identity.
ServiceAccountEmail string `protobuf:"bytes,1,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
}
func (x *IdentityConfig) Reset() {
*x = IdentityConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IdentityConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IdentityConfig) ProtoMessage() {}
func (x *IdentityConfig) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IdentityConfig.ProtoReflect.Descriptor instead.
func (*IdentityConfig) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{1}
}
func (x *IdentityConfig) GetServiceAccountEmail() string {
if x != nil {
return x.ServiceAccountEmail
}
return ""
}
// A tenant of a service. Defined in projects.cfg.
type Project struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Globally unique id of the project.
//
// The id MUST contain only lowercase alphanumeric characters and hyphens.
// The id MUST NOT be empty or exceed 30 characters.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Where to import "projects/<id>" config set from.
//
// Types that are assignable to Location:
// *Project_GitilesLocation
Location isProject_Location `protobuf_oneof:"location"`
// IdentityConfig determines what identities are used when LUCI acts on
// behalf of the project towards external services.
IdentityConfig *IdentityConfig `protobuf:"bytes,3,opt,name=identity_config,json=identityConfig,proto3" json:"identity_config,omitempty"`
// The Team `name` of the Team which owns this Project.
//
// Note that the same Team may be indicated for multiple different Projects.
OwnedBy string `protobuf:"bytes,5,opt,name=owned_by,json=ownedBy,proto3" json:"owned_by,omitempty"`
}
func (x *Project) Reset() {
*x = Project{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Project) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Project) ProtoMessage() {}
func (x *Project) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Project.ProtoReflect.Descriptor instead.
func (*Project) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{2}
}
func (x *Project) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (m *Project) GetLocation() isProject_Location {
if m != nil {
return m.Location
}
return nil
}
func (x *Project) GetGitilesLocation() *GitilesLocation {
if x, ok := x.GetLocation().(*Project_GitilesLocation); ok {
return x.GitilesLocation
}
return nil
}
func (x *Project) GetIdentityConfig() *IdentityConfig {
if x != nil {
return x.IdentityConfig
}
return nil
}
func (x *Project) GetOwnedBy() string {
if x != nil {
return x.OwnedBy
}
return ""
}
type isProject_Location interface {
isProject_Location()
}
type Project_GitilesLocation struct {
GitilesLocation *GitilesLocation `protobuf:"bytes,4,opt,name=gitiles_location,json=gitilesLocation,proto3,oneof"`
}
func (*Project_GitilesLocation) isProject_Location() {}
// Represents a group of humans who are responsible for one or more LUCI
// projects.
//
// LUCI system maintainers will use the contact addresses associated with
// this Team in order to contact that group of humans about maintenance actions
// which this Team needs to perform in order to keep current with LUCI.
//
// We recommend subscribing to the following mailing lists as well:
// * luci-announce@ - Announcements of new LUCI functionality.
// * luci-outages@ - Announcements of LUCI system outages/downtime.
// * luci-releases@ - (noisy) Announcements of new LUCI service deployments.
//
// We also recommend directing LUCI questions/discussion to:
// * go/luci-users-chat - Chatroom open to all users of LUCI. Good place to
// ask/answer questions about the use of LUCI services.
// * go/luci-dev-chat - Chatroom for developing LUCI services, or
// systems which tightly interact with LUCI services.
// * luci-eng@ - Email list for LUCI related questions.
//
// Bugs should be filed to:
// * go/bug-a-trooper - General bug reports related to the operation of
// specific builders/machines which happen to run in LUCI. This is a general
// Chrome-area bug and will be triaged (usually within 24h).
// * go/luci-bug - Bug reports/feature requests for LUCI services.
// * go/luci-trooper-bug - Bug reports against LUCI services which
// need quick attention from a trooper.
// * oncall/chrome-ops-foundation - Oncall rotation for ChOps Foundation
// (primary responders for LUCI service outages). It's a good idea to check
// go/luci-users-chat and luci-outages@ too.
//
// For some migrations, LUCI system maintainers may need to send CLs against
// your project's configuration. The best way to enable this is to maintain an
// OWNERS file in your project configuration repo, otherwise we'll have to start
// guessing at reviewers :).
//
// To allow LUCI system maintainers to send CLs, please ensure that eng@ has the
// ability to read+send CLs to your configuration repo. If we're unable to send
// a CL (e.g. the repo is super-secret), we'll instead send an email for you to
// apply the change yourself.
type Team struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of this team; Used for the Project.team field, but also may
// be used in e.g. email as the addressee for maintenance messages, like:
//
// Hello ${Team.name} LUCI maintainers,
//
// Examples:
// GOOD: "ChOps Foundation"
// BAD: "cft"
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// One or more contact emails for this team.
//
// ALL of these email addresses will be used by the LUCI system owners to
// contact the team with maintenance requests/deprecation notices. For
// example, if some LUCI functionality is deprecated and needs to be migrated,
// then an email would be sent to all contacts listed in this field.
//
// We recommend setting this to your team's dev-group email.
MaintenanceContact []string `protobuf:"bytes,2,rep,name=maintenance_contact,json=maintenanceContact,proto3" json:"maintenance_contact,omitempty"`
// One or more fallback emails for this team.
//
// If the LUCI system owners attempt to contact the team via
// `maintenance_contact` and there's no response, these emails will be
// CC'd in increasing order until we get in contact with someone.
//
// If the LUCI system owners cannot contact anyone in `maintenance_contact` or
// in `escalation_contact`, we may need to disable the associated LUCI
// project(s).
//
// We recommend setting this to one or two individual people who are
// responsible for your team's LUCI integration, and finally a
// wider email group (or groups) than those in maintenance_contact.
EscalationContact []string `protobuf:"bytes,3,rep,name=escalation_contact,json=escalationContact,proto3" json:"escalation_contact,omitempty"`
}
func (x *Team) Reset() {
*x = Team{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Team) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Team) ProtoMessage() {}
func (x *Team) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Team.ProtoReflect.Descriptor instead.
func (*Team) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{3}
}
func (x *Team) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Team) GetMaintenanceContact() []string {
if x != nil {
return x.MaintenanceContact
}
return nil
}
func (x *Team) GetEscalationContact() []string {
if x != nil {
return x.EscalationContact
}
return nil
}
// Schema of projects.cfg file. Represents LUCI tenants registry.
type ProjectsCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// All projects served by this instance of LUCI.
Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"`
// All teams which own projects.
Teams []*Team `protobuf:"bytes,2,rep,name=teams,proto3" json:"teams,omitempty"`
}
func (x *ProjectsCfg) Reset() {
*x = ProjectsCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProjectsCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProjectsCfg) ProtoMessage() {}
func (x *ProjectsCfg) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProjectsCfg.ProtoReflect.Descriptor instead.
func (*ProjectsCfg) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{4}
}
func (x *ProjectsCfg) GetProjects() []*Project {
if x != nil {
return x.Projects
}
return nil
}
func (x *ProjectsCfg) GetTeams() []*Team {
if x != nil {
return x.Teams
}
return nil
}
// Describes one LUCI service.
type Service struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Globally unique id of the service. Required.
// Used in "services/<service_id>" config set name.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Email addresses of responsible and point-of-contacts for the service.
Owners []string `protobuf:"bytes,2,rep,name=owners,proto3" json:"owners,omitempty"`
// An HTTPS endpoint that returns JSON-encoded ServiceDynamicMetadata in body.
MetadataUrl string `protobuf:"bytes,4,opt,name=metadata_url,json=metadataUrl,proto3" json:"metadata_url,omitempty"`
// A list of identities that have access to this service's configs.
// of:
// * "group:<group>", where group is defined on auth server.
// * "<email>"
// * "<kind>:<value>" (for non-email identities)
//
// If not specified, only admins and trusted services have access.
Access []string `protobuf:"bytes,5,rep,name=access,proto3" json:"access,omitempty"`
// If set, use JWT auth in requests to services. This is usually used for
// Cloud Endpoints v2 support.
JwtAuth *Service_JWTAuth `protobuf:"bytes,6,opt,name=jwt_auth,json=jwtAuth,proto3" json:"jwt_auth,omitempty"`
}
func (x *Service) Reset() {
*x = Service{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Service) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Service) ProtoMessage() {}
func (x *Service) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Service.ProtoReflect.Descriptor instead.
func (*Service) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{5}
}
func (x *Service) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Service) GetOwners() []string {
if x != nil {
return x.Owners
}
return nil
}
func (x *Service) GetMetadataUrl() string {
if x != nil {
return x.MetadataUrl
}
return ""
}
func (x *Service) GetAccess() []string {
if x != nil {
return x.Access
}
return nil
}
func (x *Service) GetJwtAuth() *Service_JWTAuth {
if x != nil {
return x.JwtAuth
}
return nil
}
// Machine-generated service metadata, exposed by a service endpoint.
// Typically implemented by config component, embedded in an app:
// see appengine/components/components/config/endpoint.py
//
// If you add a field here, also add it to ServiceDynamicMetadata in endpoint.py
type ServiceDynamicMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Format version. Supported versions: 1.0.
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// What configs this service can validate and how to validate them.
Validation *Validator `protobuf:"bytes,2,opt,name=validation,proto3" json:"validation,omitempty"`
// True if the server recognizes "Content-Encoding: gzip" in requests.
SupportsGzipCompression bool `protobuf:"varint,3,opt,name=supports_gzip_compression,json=supportsGzipCompression,proto3" json:"supports_gzip_compression,omitempty"`
}
func (x *ServiceDynamicMetadata) Reset() {
*x = ServiceDynamicMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServiceDynamicMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServiceDynamicMetadata) ProtoMessage() {}
func (x *ServiceDynamicMetadata) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServiceDynamicMetadata.ProtoReflect.Descriptor instead.
func (*ServiceDynamicMetadata) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{6}
}
func (x *ServiceDynamicMetadata) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *ServiceDynamicMetadata) GetValidation() *Validator {
if x != nil {
return x.Validation
}
return nil
}
func (x *ServiceDynamicMetadata) GetSupportsGzipCompression() bool {
if x != nil {
return x.SupportsGzipCompression
}
return false
}
// Schema of services.cfg
type ServicesCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A list of all LUCI services. Should be sorted by id.
Services []*Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
}
func (x *ServicesCfg) Reset() {
*x = ServicesCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServicesCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServicesCfg) ProtoMessage() {}
func (x *ServicesCfg) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServicesCfg.ProtoReflect.Descriptor instead.
func (*ServicesCfg) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{7}
}
func (x *ServicesCfg) GetServices() []*Service {
if x != nil {
return x.Services
}
return nil
}
// Schema of acl.cfg file.
// Next tag: 13.
type AclCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the group that has global access to all "projects/*" config sets.
//
// Should contain only members that really need read access to multiple
// projects. Access to an individual project can be granted through
// "role/configs.reader" role in the "@root" realm of the project.
ProjectAccessGroup string `protobuf:"bytes,2,opt,name=project_access_group,json=projectAccessGroup,proto3" json:"project_access_group,omitempty"`
// Name of the group that can call validation API for any accessible project.
//
// Should contain only members that really need to use validation API in
// multiple projects. Permission to validate an individual project can be
// granted through "role/configs.developer" role in the "@root" realm of
// the project.
ProjectValidationGroup string `protobuf:"bytes,8,opt,name=project_validation_group,json=projectValidationGroup,proto3" json:"project_validation_group,omitempty"`
// Name of the group that can call reimport API for any accessible project.
//
// Should contain only members that really need to use reimport API in
// multiple projects. Permission to reimport an individual project can be
// granted through "role/configs.developer" role in the "@root" realm of
// the project.
ProjectReimportGroup string `protobuf:"bytes,9,opt,name=project_reimport_group,json=projectReimportGroup,proto3" json:"project_reimport_group,omitempty"`
// Name of the group that has global access to all "services/*" config sets.
//
// Should contain only members that really need read access to multiple
// services. Access to an individual service can be granted via "access" field
// in its entry in services.cfg config.
ServiceAccessGroup string `protobuf:"bytes,7,opt,name=service_access_group,json=serviceAccessGroup,proto3" json:"service_access_group,omitempty"`
// Name of the group that can call validation API for any accessible service.
ServiceValidationGroup string `protobuf:"bytes,10,opt,name=service_validation_group,json=serviceValidationGroup,proto3" json:"service_validation_group,omitempty"`
// Name of the group that can call reimport API for any accessible service.
ServiceReimportGroup string `protobuf:"bytes,11,opt,name=service_reimport_group,json=serviceReimportGroup,proto3" json:"service_reimport_group,omitempty"`
}
func (x *AclCfg) Reset() {
*x = AclCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AclCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AclCfg) ProtoMessage() {}
func (x *AclCfg) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_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 AclCfg.ProtoReflect.Descriptor instead.
func (*AclCfg) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{8}
}
func (x *AclCfg) GetProjectAccessGroup() string {
if x != nil {
return x.ProjectAccessGroup
}
return ""
}
func (x *AclCfg) GetProjectValidationGroup() string {
if x != nil {
return x.ProjectValidationGroup
}
return ""
}
func (x *AclCfg) GetProjectReimportGroup() string {
if x != nil {
return x.ProjectReimportGroup
}
return ""
}
func (x *AclCfg) GetServiceAccessGroup() string {
if x != nil {
return x.ServiceAccessGroup
}
return ""
}
func (x *AclCfg) GetServiceValidationGroup() string {
if x != nil {
return x.ServiceValidationGroup
}
return ""
}
func (x *AclCfg) GetServiceReimportGroup() string {
if x != nil {
return x.ServiceReimportGroup
}
return ""
}
// Schema for import.cfg. It specified how to import configuration files from
// external sources.
type ImportCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Configuration of import from Gitiles repositories.
Gitiles *ImportCfg_Gitiles `protobuf:"bytes,1,opt,name=gitiles,proto3" json:"gitiles,omitempty"`
}
func (x *ImportCfg) Reset() {
*x = ImportCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportCfg) ProtoMessage() {}
func (x *ImportCfg) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ImportCfg.ProtoReflect.Descriptor instead.
func (*ImportCfg) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{9}
}
func (x *ImportCfg) GetGitiles() *ImportCfg_Gitiles {
if x != nil {
return x.Gitiles
}
return nil
}
// Schema of schemas.cfg
type SchemasCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of known schemas. They are available at /schemas/<name> as a short
// mutable link.
Schemas []*SchemasCfg_Schema `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"`
}
func (x *SchemasCfg) Reset() {
*x = SchemasCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchemasCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchemasCfg) ProtoMessage() {}
func (x *SchemasCfg) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchemasCfg.ProtoReflect.Descriptor instead.
func (*SchemasCfg) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{10}
}
func (x *SchemasCfg) GetSchemas() []*SchemasCfg_Schema {
if x != nil {
return x.Schemas
}
return nil
}
// Defines a pattern of a config identity. Both config_set and path must
// match.
type ConfigPattern struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A string pattern for config_set.
ConfigSet string `protobuf:"bytes,1,opt,name=config_set,json=configSet,proto3" json:"config_set,omitempty"`
// A string pattern for config file path.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *ConfigPattern) Reset() {
*x = ConfigPattern{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ConfigPattern) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfigPattern) ProtoMessage() {}
func (x *ConfigPattern) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfigPattern.ProtoReflect.Descriptor instead.
func (*ConfigPattern) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{11}
}
func (x *ConfigPattern) GetConfigSet() string {
if x != nil {
return x.ConfigSet
}
return ""
}
func (x *ConfigPattern) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
// Describes what configuration can be validated and how to validate them.
type Validator struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A list of configuration patterns that this validator can validate.
Patterns []*ConfigPattern `protobuf:"bytes,1,rep,name=patterns,proto3" json:"patterns,omitempty"`
// URL of a validation endpoint. The config service will send an HTTP POST
// request to the endpoint, where body is JSON-encoded
// ValidationRequestMessage. The endpoint is expected to respond with
// HTTP status 200 and JSON-encoded ValidationResponseMessage.
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
}
func (x *Validator) Reset() {
*x = Validator{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Validator) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Validator) ProtoMessage() {}
func (x *Validator) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Validator.ProtoReflect.Descriptor instead.
func (*Validator) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{12}
}
func (x *Validator) GetPatterns() []*ConfigPattern {
if x != nil {
return x.Patterns
}
return nil
}
func (x *Validator) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
// This message is used only in JSON form. It is sent as request body to an
// external validation endpoint in order to validate a config.
type ValidationRequestMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Config set of the config file to validate.
ConfigSet string `protobuf:"bytes,1,opt,name=config_set,json=configSet,proto3" json:"config_set,omitempty"`
// Path of the config file to validate.
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
// Contents of the file.
Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *ValidationRequestMessage) Reset() {
*x = ValidationRequestMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValidationRequestMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValidationRequestMessage) ProtoMessage() {}
func (x *ValidationRequestMessage) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ValidationRequestMessage.ProtoReflect.Descriptor instead.
func (*ValidationRequestMessage) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{13}
}
func (x *ValidationRequestMessage) GetConfigSet() string {
if x != nil {
return x.ConfigSet
}
return ""
}
func (x *ValidationRequestMessage) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *ValidationRequestMessage) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
// This message is used only in JSON form. It is expected from an external
// validation endpoint that validates a config.
type ValidationResponseMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Errors, warnings and other information found during validation.
// If at least one error is found, the config is considered invalid.
Messages []*ValidationResponseMessage_Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
}
func (x *ValidationResponseMessage) Reset() {
*x = ValidationResponseMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValidationResponseMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValidationResponseMessage) ProtoMessage() {}
func (x *ValidationResponseMessage) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ValidationResponseMessage.ProtoReflect.Descriptor instead.
func (*ValidationResponseMessage) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{14}
}
func (x *ValidationResponseMessage) GetMessages() []*ValidationResponseMessage_Message {
if x != nil {
return x.Messages
}
return nil
}
type Service_JWTAuth struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Value for the 'aud' field in the JSON Web Token claim.
Audience string `protobuf:"bytes,1,opt,name=audience,proto3" json:"audience,omitempty"`
}
func (x *Service_JWTAuth) Reset() {
*x = Service_JWTAuth{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Service_JWTAuth) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Service_JWTAuth) ProtoMessage() {}
func (x *Service_JWTAuth) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_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 Service_JWTAuth.ProtoReflect.Descriptor instead.
func (*Service_JWTAuth) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{5, 0}
}
func (x *Service_JWTAuth) GetAudience() string {
if x != nil {
return x.Audience
}
return ""
}
type ImportCfg_Gitiles struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Request timeout in seconds when requesting commit log.
FetchLogDeadline int32 `protobuf:"varint,1,opt,name=fetch_log_deadline,json=fetchLogDeadline,proto3" json:"fetch_log_deadline,omitempty"`
// Request timeout in seconds when requesting directory archive.
FetchArchiveDeadline int32 `protobuf:"varint,2,opt,name=fetch_archive_deadline,json=fetchArchiveDeadline,proto3" json:"fetch_archive_deadline,omitempty"`
// DEPRECATED, ignored. TODO(nodir): remove.
// Default ref for project configs.
ProjectConfigDefaultRef string `protobuf:"bytes,3,opt,name=project_config_default_ref,json=projectConfigDefaultRef,proto3" json:"project_config_default_ref,omitempty"`
// DEPRECATED, ignored. TODO(nodir): remove.
// Default directory for project configs.
ProjectConfigDefaultPath string `protobuf:"bytes,4,opt,name=project_config_default_path,json=projectConfigDefaultPath,proto3" json:"project_config_default_path,omitempty"`
// Default directory for ref configs.
RefConfigDefaultPath string `protobuf:"bytes,5,opt,name=ref_config_default_path,json=refConfigDefaultPath,proto3" json:"ref_config_default_path,omitempty"`
}
func (x *ImportCfg_Gitiles) Reset() {
*x = ImportCfg_Gitiles{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportCfg_Gitiles) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportCfg_Gitiles) ProtoMessage() {}
func (x *ImportCfg_Gitiles) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_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 ImportCfg_Gitiles.ProtoReflect.Descriptor instead.
func (*ImportCfg_Gitiles) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{9, 0}
}
func (x *ImportCfg_Gitiles) GetFetchLogDeadline() int32 {
if x != nil {
return x.FetchLogDeadline
}
return 0
}
func (x *ImportCfg_Gitiles) GetFetchArchiveDeadline() int32 {
if x != nil {
return x.FetchArchiveDeadline
}
return 0
}
func (x *ImportCfg_Gitiles) GetProjectConfigDefaultRef() string {
if x != nil {
return x.ProjectConfigDefaultRef
}
return ""
}
func (x *ImportCfg_Gitiles) GetProjectConfigDefaultPath() string {
if x != nil {
return x.ProjectConfigDefaultPath
}
return ""
}
func (x *ImportCfg_Gitiles) GetRefConfigDefaultPath() string {
if x != nil {
return x.RefConfigDefaultPath
}
return ""
}
type SchemasCfg_Schema struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of schema.
// For service configs, "<config_set>:<path>"
// For project configs, "projects:<path>"
// For ref configs, "projects/refs:<path>"
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// URL to the schema definition, e.g. to a .proto file in a repository.
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
}
func (x *SchemasCfg_Schema) Reset() {
*x = SchemasCfg_Schema{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchemasCfg_Schema) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchemasCfg_Schema) ProtoMessage() {}
func (x *SchemasCfg_Schema) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_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 SchemasCfg_Schema.ProtoReflect.Descriptor instead.
func (*SchemasCfg_Schema) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{10, 0}
}
func (x *SchemasCfg_Schema) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SchemasCfg_Schema) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
// A message that explains why a config is valid or not.
type ValidationResponseMessage_Message struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Path of the config file that has an error.
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// If an error, a config is considered invalid. Defaults to INFO.
Severity ValidationResponseMessage_Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=config.ValidationResponseMessage_Severity" json:"severity,omitempty"`
// Textual representation of the message.
Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
}
func (x *ValidationResponseMessage_Message) Reset() {
*x = ValidationResponseMessage_Message{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ValidationResponseMessage_Message) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ValidationResponseMessage_Message) ProtoMessage() {}
func (x *ValidationResponseMessage_Message) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_proto_config_service_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 ValidationResponseMessage_Message.ProtoReflect.Descriptor instead.
func (*ValidationResponseMessage_Message) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP(), []int{14, 0}
}
func (x *ValidationResponseMessage_Message) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *ValidationResponseMessage_Message) GetSeverity() ValidationResponseMessage_Severity {
if x != nil {
return x.Severity
}
return ValidationResponseMessage_UNKNOWN
}
func (x *ValidationResponseMessage_Message) GetText() string {
if x != nil {
return x.Text
}
return ""
}
var File_go_chromium_org_luci_common_proto_config_service_config_proto protoreflect.FileDescriptor
var file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDesc = []byte{
0x0a, 0x3d, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4b, 0x0a, 0x0f, 0x47, 0x69, 0x74, 0x69, 0x6c,
0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65,
0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x10,
0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66,
0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x70, 0x61, 0x74, 0x68, 0x22, 0x44, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xde, 0x01, 0x0a, 0x07, 0x50,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65,
0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65,
0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x69, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0f,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x69,
0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a,
0x08, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x04, 0x54,
0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6d, 0x61, 0x69, 0x6e, 0x74,
0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x02,
0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x73, 0x63, 0x61,
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x03,
0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x22, 0x5e, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x43, 0x66, 0x67, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x65, 0x61, 0x6d,
0x52, 0x05, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x16,
0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6a, 0x77, 0x74, 0x5f, 0x61, 0x75,
0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4a, 0x57, 0x54, 0x41, 0x75, 0x74,
0x68, 0x52, 0x07, 0x6a, 0x77, 0x74, 0x41, 0x75, 0x74, 0x68, 0x1a, 0x25, 0x0a, 0x07, 0x4a, 0x57,
0x54, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63,
0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a,
0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x3a, 0x0a, 0x19, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x67, 0x7a, 0x69,
0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x47, 0x7a, 0x69,
0x70, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0b,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x43, 0x66, 0x67, 0x12, 0x2b, 0x0a, 0x08, 0x73,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xd0, 0x03, 0x0a, 0x06, 0x41, 0x63, 0x6c,
0x43, 0x66, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x34, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x69, 0x6d, 0x70,
0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65,
0x73, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x69,
0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x69, 0x6d, 0x70, 0x6f,
0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08,
0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a,
0x04, 0x08, 0x0c, 0x10, 0x0d, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x67, 0x65,
0x74, 0x5f, 0x62, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x10, 0x76, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e,
0x72, 0x65, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x1b,
0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61,
0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xe3, 0x02, 0x0a, 0x09,
0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x66, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x67, 0x69, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x66, 0x67, 0x2e, 0x47, 0x69,
0x74, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x1a, 0xa0,
0x02, 0x0a, 0x07, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x65,
0x74, 0x63, 0x68, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x67,
0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x65, 0x74, 0x63,
0x68, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69,
0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x66, 0x65, 0x74, 0x63, 0x68, 0x41,
0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3b,
0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x66, 0x12, 0x3d, 0x0a, 0x1b, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x17, 0x72, 0x65,
0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x66,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x74,
0x68, 0x22, 0x71, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x43, 0x66, 0x67, 0x12,
0x33, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
0x73, 0x43, 0x66, 0x67, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x07, 0x73, 0x63, 0x68,
0x65, 0x6d, 0x61, 0x73, 0x1a, 0x2e, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x72, 0x6c, 0x22, 0x42, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61,
0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x53, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x50, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69,
0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x08,
0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x67, 0x0a, 0x18, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x53, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x22, 0xb1, 0x02, 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c,
0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x79, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x46, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72,
0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x76,
0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
0x65, 0x78, 0x74, 0x22, 0x52, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12,
0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10,
0x14, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x1e, 0x12, 0x09,
0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49,
0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x32, 0x42, 0x2a, 0x5a, 0x28, 0x67, 0x6f, 0x2e, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescOnce sync.Once
file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescData = file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDesc
)
func file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescGZIP() []byte {
file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescOnce.Do(func() {
file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescData)
})
return file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDescData
}
var file_go_chromium_org_luci_common_proto_config_service_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_go_chromium_org_luci_common_proto_config_service_config_proto_goTypes = []interface{}{
(ValidationResponseMessage_Severity)(0), // 0: config.ValidationResponseMessage.Severity
(*GitilesLocation)(nil), // 1: config.GitilesLocation
(*IdentityConfig)(nil), // 2: config.IdentityConfig
(*Project)(nil), // 3: config.Project
(*Team)(nil), // 4: config.Team
(*ProjectsCfg)(nil), // 5: config.ProjectsCfg
(*Service)(nil), // 6: config.Service
(*ServiceDynamicMetadata)(nil), // 7: config.ServiceDynamicMetadata
(*ServicesCfg)(nil), // 8: config.ServicesCfg
(*AclCfg)(nil), // 9: config.AclCfg
(*ImportCfg)(nil), // 10: config.ImportCfg
(*SchemasCfg)(nil), // 11: config.SchemasCfg
(*ConfigPattern)(nil), // 12: config.ConfigPattern
(*Validator)(nil), // 13: config.Validator
(*ValidationRequestMessage)(nil), // 14: config.ValidationRequestMessage
(*ValidationResponseMessage)(nil), // 15: config.ValidationResponseMessage
(*Service_JWTAuth)(nil), // 16: config.Service.JWTAuth
(*ImportCfg_Gitiles)(nil), // 17: config.ImportCfg.Gitiles
(*SchemasCfg_Schema)(nil), // 18: config.SchemasCfg.Schema
(*ValidationResponseMessage_Message)(nil), // 19: config.ValidationResponseMessage.Message
}
var file_go_chromium_org_luci_common_proto_config_service_config_proto_depIdxs = []int32{
1, // 0: config.Project.gitiles_location:type_name -> config.GitilesLocation
2, // 1: config.Project.identity_config:type_name -> config.IdentityConfig
3, // 2: config.ProjectsCfg.projects:type_name -> config.Project
4, // 3: config.ProjectsCfg.teams:type_name -> config.Team
16, // 4: config.Service.jwt_auth:type_name -> config.Service.JWTAuth
13, // 5: config.ServiceDynamicMetadata.validation:type_name -> config.Validator
6, // 6: config.ServicesCfg.services:type_name -> config.Service
17, // 7: config.ImportCfg.gitiles:type_name -> config.ImportCfg.Gitiles
18, // 8: config.SchemasCfg.schemas:type_name -> config.SchemasCfg.Schema
12, // 9: config.Validator.patterns:type_name -> config.ConfigPattern
19, // 10: config.ValidationResponseMessage.messages:type_name -> config.ValidationResponseMessage.Message
0, // 11: config.ValidationResponseMessage.Message.severity:type_name -> config.ValidationResponseMessage.Severity
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_go_chromium_org_luci_common_proto_config_service_config_proto_init() }
func file_go_chromium_org_luci_common_proto_config_service_config_proto_init() {
if File_go_chromium_org_luci_common_proto_config_service_config_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GitilesLocation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IdentityConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Project); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Team); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProjectsCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Service); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServiceDynamicMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServicesCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AclCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchemasCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ConfigPattern); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Validator); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValidationRequestMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValidationResponseMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Service_JWTAuth); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportCfg_Gitiles); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchemasCfg_Schema); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ValidationResponseMessage_Message); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes[2].OneofWrappers = []interface{}{
(*Project_GitilesLocation)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDesc,
NumEnums: 1,
NumMessages: 19,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_go_chromium_org_luci_common_proto_config_service_config_proto_goTypes,
DependencyIndexes: file_go_chromium_org_luci_common_proto_config_service_config_proto_depIdxs,
EnumInfos: file_go_chromium_org_luci_common_proto_config_service_config_proto_enumTypes,
MessageInfos: file_go_chromium_org_luci_common_proto_config_service_config_proto_msgTypes,
}.Build()
File_go_chromium_org_luci_common_proto_config_service_config_proto = out.File
file_go_chromium_org_luci_common_proto_config_service_config_proto_rawDesc = nil
file_go_chromium_org_luci_common_proto_config_service_config_proto_goTypes = nil
file_go_chromium_org_luci_common_proto_config_service_config_proto_depIdxs = nil
}