go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/auth_service/api/configspb/config.pb.go (about)

     1  // Copyright 2022 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.31.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/auth_service/api/configspb/config.proto
    20  
    21  package configspb
    22  
    23  import (
    24  	protocol "go.chromium.org/luci/server/auth/service/protocol"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	reflect "reflect"
    28  	sync "sync"
    29  )
    30  
    31  const (
    32  	// Verify that this generated code is sufficiently up-to-date.
    33  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    34  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    36  )
    37  
    38  // Auth service configuration that applies specifically to the service, not to
    39  // any linked services.
    40  //
    41  // Provided via 'settings.cfg' config file.
    42  type SettingsCfg struct {
    43  	state         protoimpl.MessageState
    44  	sizeCache     protoimpl.SizeCache
    45  	unknownFields protoimpl.UnknownFields
    46  
    47  	// Enable ts_mon based monitoring.
    48  	EnableTsMonitoring bool `protobuf:"varint,1,opt,name=enable_ts_monitoring,json=enableTsMonitoring,proto3" json:"enable_ts_monitoring,omitempty"`
    49  	// If set, store the latest AuthDB snapshot in Google Storage.
    50  	//
    51  	// Should have format "<bucket>/<prefix>".
    52  	//
    53  	// Auth service will take ownership of two objects there:
    54  	//  1. latest.json: JSON-serialized AuthDBRevision proto.
    55  	//  2. latest.db: binary-serialized SignedAuthDB with actual AuthDB data.
    56  	//
    57  	// When AuthDB changes, Auth service updates latest.db, then latest.json, and
    58  	// finally sends a PubSub notification.
    59  	//
    60  	// Consumers can either poll latest.json for changes, or they can setup
    61  	// a PubSub subscription via /auth_service/api/v1/authdb/subscription/ to get
    62  	// notified.
    63  	//
    64  	// Requires at least one AuthDB change (e.g. a group update) for the files
    65  	// to appear after setting or changing auth_db_gs_path.
    66  	//
    67  	// When changing or removing auth_db_gs_path, files at the old location are
    68  	// not automatically cleaned up.
    69  	AuthDbGsPath string `protobuf:"bytes,2,opt,name=auth_db_gs_path,json=authDbGsPath,proto3" json:"auth_db_gs_path,omitempty"`
    70  }
    71  
    72  func (x *SettingsCfg) Reset() {
    73  	*x = SettingsCfg{}
    74  	if protoimpl.UnsafeEnabled {
    75  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[0]
    76  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    77  		ms.StoreMessageInfo(mi)
    78  	}
    79  }
    80  
    81  func (x *SettingsCfg) String() string {
    82  	return protoimpl.X.MessageStringOf(x)
    83  }
    84  
    85  func (*SettingsCfg) ProtoMessage() {}
    86  
    87  func (x *SettingsCfg) ProtoReflect() protoreflect.Message {
    88  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[0]
    89  	if protoimpl.UnsafeEnabled && x != nil {
    90  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    91  		if ms.LoadMessageInfo() == nil {
    92  			ms.StoreMessageInfo(mi)
    93  		}
    94  		return ms
    95  	}
    96  	return mi.MessageOf(x)
    97  }
    98  
    99  // Deprecated: Use SettingsCfg.ProtoReflect.Descriptor instead.
   100  func (*SettingsCfg) Descriptor() ([]byte, []int) {
   101  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{0}
   102  }
   103  
   104  func (x *SettingsCfg) GetEnableTsMonitoring() bool {
   105  	if x != nil {
   106  		return x.EnableTsMonitoring
   107  	}
   108  	return false
   109  }
   110  
   111  func (x *SettingsCfg) GetAuthDbGsPath() string {
   112  	if x != nil {
   113  		return x.AuthDbGsPath
   114  	}
   115  	return ""
   116  }
   117  
   118  // Configuration of groups imported from external sources.
   119  //
   120  // Provided via 'imports.cfg' config file.
   121  type GroupImporterConfig struct {
   122  	state         protoimpl.MessageState
   123  	sizeCache     protoimpl.SizeCache
   124  	unknownFields protoimpl.UnknownFields
   125  
   126  	Tarball       []*GroupImporterConfig_TarballEntry       `protobuf:"bytes,1,rep,name=tarball,proto3" json:"tarball,omitempty"`
   127  	Plainlist     []*GroupImporterConfig_PlainlistEntry     `protobuf:"bytes,2,rep,name=plainlist,proto3" json:"plainlist,omitempty"`
   128  	TarballUpload []*GroupImporterConfig_TarballUploadEntry `protobuf:"bytes,3,rep,name=tarball_upload,json=tarballUpload,proto3" json:"tarball_upload,omitempty"`
   129  }
   130  
   131  func (x *GroupImporterConfig) Reset() {
   132  	*x = GroupImporterConfig{}
   133  	if protoimpl.UnsafeEnabled {
   134  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[1]
   135  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   136  		ms.StoreMessageInfo(mi)
   137  	}
   138  }
   139  
   140  func (x *GroupImporterConfig) String() string {
   141  	return protoimpl.X.MessageStringOf(x)
   142  }
   143  
   144  func (*GroupImporterConfig) ProtoMessage() {}
   145  
   146  func (x *GroupImporterConfig) ProtoReflect() protoreflect.Message {
   147  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[1]
   148  	if protoimpl.UnsafeEnabled && x != nil {
   149  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   150  		if ms.LoadMessageInfo() == nil {
   151  			ms.StoreMessageInfo(mi)
   152  		}
   153  		return ms
   154  	}
   155  	return mi.MessageOf(x)
   156  }
   157  
   158  // Deprecated: Use GroupImporterConfig.ProtoReflect.Descriptor instead.
   159  func (*GroupImporterConfig) Descriptor() ([]byte, []int) {
   160  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{1}
   161  }
   162  
   163  func (x *GroupImporterConfig) GetTarball() []*GroupImporterConfig_TarballEntry {
   164  	if x != nil {
   165  		return x.Tarball
   166  	}
   167  	return nil
   168  }
   169  
   170  func (x *GroupImporterConfig) GetPlainlist() []*GroupImporterConfig_PlainlistEntry {
   171  	if x != nil {
   172  		return x.Plainlist
   173  	}
   174  	return nil
   175  }
   176  
   177  func (x *GroupImporterConfig) GetTarballUpload() []*GroupImporterConfig_TarballUploadEntry {
   178  	if x != nil {
   179  		return x.TarballUpload
   180  	}
   181  	return nil
   182  }
   183  
   184  // IP allowlists config: a set of named IP allowlists and a mapping between
   185  // identity name -> IP allowlist to restrict it to.
   186  type IPAllowlistConfig struct {
   187  	state         protoimpl.MessageState
   188  	sizeCache     protoimpl.SizeCache
   189  	unknownFields protoimpl.UnknownFields
   190  
   191  	// A set of named subnets.
   192  	IpAllowlists []*IPAllowlistConfig_IPAllowlist `protobuf:"bytes,1,rep,name=ip_allowlists,json=ipAllowlists,proto3" json:"ip_allowlists,omitempty"`
   193  	// A mapping "identity name -> IP allowlist name".
   194  	Assignments []*IPAllowlistConfig_Assignment `protobuf:"bytes,2,rep,name=assignments,proto3" json:"assignments,omitempty"`
   195  }
   196  
   197  func (x *IPAllowlistConfig) Reset() {
   198  	*x = IPAllowlistConfig{}
   199  	if protoimpl.UnsafeEnabled {
   200  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[2]
   201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   202  		ms.StoreMessageInfo(mi)
   203  	}
   204  }
   205  
   206  func (x *IPAllowlistConfig) String() string {
   207  	return protoimpl.X.MessageStringOf(x)
   208  }
   209  
   210  func (*IPAllowlistConfig) ProtoMessage() {}
   211  
   212  func (x *IPAllowlistConfig) ProtoReflect() protoreflect.Message {
   213  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[2]
   214  	if protoimpl.UnsafeEnabled && x != nil {
   215  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   216  		if ms.LoadMessageInfo() == nil {
   217  			ms.StoreMessageInfo(mi)
   218  		}
   219  		return ms
   220  	}
   221  	return mi.MessageOf(x)
   222  }
   223  
   224  // Deprecated: Use IPAllowlistConfig.ProtoReflect.Descriptor instead.
   225  func (*IPAllowlistConfig) Descriptor() ([]byte, []int) {
   226  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{2}
   227  }
   228  
   229  func (x *IPAllowlistConfig) GetIpAllowlists() []*IPAllowlistConfig_IPAllowlist {
   230  	if x != nil {
   231  		return x.IpAllowlists
   232  	}
   233  	return nil
   234  }
   235  
   236  func (x *IPAllowlistConfig) GetAssignments() []*IPAllowlistConfig_Assignment {
   237  	if x != nil {
   238  		return x.Assignments
   239  	}
   240  	return nil
   241  }
   242  
   243  // Legacy config, this is maintained to support clients still utilizing
   244  // https://crsrc.org/i/luci/client/utils/oauth.py;l=419;drc=173496da114efb94dceedb58e588b9c58dabc5e9
   245  //
   246  // Global config. Includes OAuth client_id allowlist and token server URL.
   247  //
   248  // Provided via 'oauth.cfg' config file.
   249  type OAuthConfig struct {
   250  	state         protoimpl.MessageState
   251  	sizeCache     protoimpl.SizeCache
   252  	unknownFields protoimpl.UnknownFields
   253  
   254  	// ClientID returned by /auth/api/v1/server/oauth_config endpoint to clients.
   255  	PrimaryClientId string `protobuf:"bytes,1,opt,name=primary_client_id,json=primaryClientId,proto3" json:"primary_client_id,omitempty"`
   256  	// Client secret (that's not really a secret, since it is visible) returned
   257  	// by /auth/api/v1/server/oauth_config endpoint to clients. Corresponding
   258  	// callback URL must be localhost or urn:ietf:wg:oauth:2.0:oob.
   259  	PrimaryClientSecret string `protobuf:"bytes,2,opt,name=primary_client_secret,json=primaryClientSecret,proto3" json:"primary_client_secret,omitempty"`
   260  	// Allowlist of all accepted client_ids (in addition to the primary one).
   261  	ClientIds []string `protobuf:"bytes,3,rep,name=client_ids,json=clientIds,proto3" json:"client_ids,omitempty"`
   262  	// URL of a token server to use to generate delegation tokens.
   263  	TokenServerUrl string `protobuf:"bytes,4,opt,name=token_server_url,json=tokenServerUrl,proto3" json:"token_server_url,omitempty"`
   264  }
   265  
   266  func (x *OAuthConfig) Reset() {
   267  	*x = OAuthConfig{}
   268  	if protoimpl.UnsafeEnabled {
   269  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[3]
   270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   271  		ms.StoreMessageInfo(mi)
   272  	}
   273  }
   274  
   275  func (x *OAuthConfig) String() string {
   276  	return protoimpl.X.MessageStringOf(x)
   277  }
   278  
   279  func (*OAuthConfig) ProtoMessage() {}
   280  
   281  func (x *OAuthConfig) ProtoReflect() protoreflect.Message {
   282  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[3]
   283  	if protoimpl.UnsafeEnabled && x != nil {
   284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   285  		if ms.LoadMessageInfo() == nil {
   286  			ms.StoreMessageInfo(mi)
   287  		}
   288  		return ms
   289  	}
   290  	return mi.MessageOf(x)
   291  }
   292  
   293  // Deprecated: Use OAuthConfig.ProtoReflect.Descriptor instead.
   294  func (*OAuthConfig) Descriptor() ([]byte, []int) {
   295  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{3}
   296  }
   297  
   298  func (x *OAuthConfig) GetPrimaryClientId() string {
   299  	if x != nil {
   300  		return x.PrimaryClientId
   301  	}
   302  	return ""
   303  }
   304  
   305  func (x *OAuthConfig) GetPrimaryClientSecret() string {
   306  	if x != nil {
   307  		return x.PrimaryClientSecret
   308  	}
   309  	return ""
   310  }
   311  
   312  func (x *OAuthConfig) GetClientIds() []string {
   313  	if x != nil {
   314  		return x.ClientIds
   315  	}
   316  	return nil
   317  }
   318  
   319  func (x *OAuthConfig) GetTokenServerUrl() string {
   320  	if x != nil {
   321  		return x.TokenServerUrl
   322  	}
   323  	return ""
   324  }
   325  
   326  // Provided via 'permissions.cfg' config file.
   327  // Defines the list of roles and their respective permissions.
   328  type PermissionsConfig struct {
   329  	state         protoimpl.MessageState
   330  	sizeCache     protoimpl.SizeCache
   331  	unknownFields protoimpl.UnknownFields
   332  
   333  	// Representation of all defined roles.
   334  	Role []*PermissionsConfig_Role `protobuf:"bytes,1,rep,name=role,proto3" json:"role,omitempty"`
   335  	// Defines attributes that can be referenced in certain conditions.
   336  	Attribute []string `protobuf:"bytes,2,rep,name=attribute,proto3" json:"attribute,omitempty"`
   337  }
   338  
   339  func (x *PermissionsConfig) Reset() {
   340  	*x = PermissionsConfig{}
   341  	if protoimpl.UnsafeEnabled {
   342  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[4]
   343  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   344  		ms.StoreMessageInfo(mi)
   345  	}
   346  }
   347  
   348  func (x *PermissionsConfig) String() string {
   349  	return protoimpl.X.MessageStringOf(x)
   350  }
   351  
   352  func (*PermissionsConfig) ProtoMessage() {}
   353  
   354  func (x *PermissionsConfig) ProtoReflect() protoreflect.Message {
   355  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[4]
   356  	if protoimpl.UnsafeEnabled && x != nil {
   357  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   358  		if ms.LoadMessageInfo() == nil {
   359  			ms.StoreMessageInfo(mi)
   360  		}
   361  		return ms
   362  	}
   363  	return mi.MessageOf(x)
   364  }
   365  
   366  // Deprecated: Use PermissionsConfig.ProtoReflect.Descriptor instead.
   367  func (*PermissionsConfig) Descriptor() ([]byte, []int) {
   368  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{4}
   369  }
   370  
   371  func (x *PermissionsConfig) GetRole() []*PermissionsConfig_Role {
   372  	if x != nil {
   373  		return x.Role
   374  	}
   375  	return nil
   376  }
   377  
   378  func (x *PermissionsConfig) GetAttribute() []string {
   379  	if x != nil {
   380  		return x.Attribute
   381  	}
   382  	return nil
   383  }
   384  
   385  // Periodically fetch a tarball with groups stored as individual files.
   386  type GroupImporterConfig_TarballEntry struct {
   387  	state         protoimpl.MessageState
   388  	sizeCache     protoimpl.SizeCache
   389  	unknownFields protoimpl.UnknownFields
   390  
   391  	// Where to import data from.
   392  	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
   393  	// List of OAuth scopes to use for authentication (or empty to skip auth).
   394  	OauthScopes []string `protobuf:"bytes,2,rep,name=oauth_scopes,json=oauthScopes,proto3" json:"oauth_scopes,omitempty"`
   395  	// Email domain to append to imported identities.
   396  	Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`
   397  	// List of group systems expected to be found in the archive. They act as
   398  	// prefixes to group names, e.g. 'ldap'. Each system corresponds to
   399  	// a subdirectory in the tarball. Each tarball may have groups from multiple
   400  	// external systems, but groups from some external system must not be split
   401  	// between multiple tarballs. When importer sees <group system name>/* in
   402  	// a tarball, it modifies group list from that system on the auth_service to
   403  	// match group list in the tarball _exactly_. For example it removes groups
   404  	// that are on the server, but no longer present in the tarball.
   405  	Systems []string `protobuf:"bytes,4,rep,name=systems,proto3" json:"systems,omitempty"`
   406  	// List of groups to import from the tarball (as filenames relative to
   407  	// tarball root, e.g. 'ldap/some-group'). If empty, imports all groups in
   408  	// the tarball.
   409  	Groups []string `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
   410  }
   411  
   412  func (x *GroupImporterConfig_TarballEntry) Reset() {
   413  	*x = GroupImporterConfig_TarballEntry{}
   414  	if protoimpl.UnsafeEnabled {
   415  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[5]
   416  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   417  		ms.StoreMessageInfo(mi)
   418  	}
   419  }
   420  
   421  func (x *GroupImporterConfig_TarballEntry) String() string {
   422  	return protoimpl.X.MessageStringOf(x)
   423  }
   424  
   425  func (*GroupImporterConfig_TarballEntry) ProtoMessage() {}
   426  
   427  func (x *GroupImporterConfig_TarballEntry) ProtoReflect() protoreflect.Message {
   428  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[5]
   429  	if protoimpl.UnsafeEnabled && x != nil {
   430  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   431  		if ms.LoadMessageInfo() == nil {
   432  			ms.StoreMessageInfo(mi)
   433  		}
   434  		return ms
   435  	}
   436  	return mi.MessageOf(x)
   437  }
   438  
   439  // Deprecated: Use GroupImporterConfig_TarballEntry.ProtoReflect.Descriptor instead.
   440  func (*GroupImporterConfig_TarballEntry) Descriptor() ([]byte, []int) {
   441  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{1, 0}
   442  }
   443  
   444  func (x *GroupImporterConfig_TarballEntry) GetUrl() string {
   445  	if x != nil {
   446  		return x.Url
   447  	}
   448  	return ""
   449  }
   450  
   451  func (x *GroupImporterConfig_TarballEntry) GetOauthScopes() []string {
   452  	if x != nil {
   453  		return x.OauthScopes
   454  	}
   455  	return nil
   456  }
   457  
   458  func (x *GroupImporterConfig_TarballEntry) GetDomain() string {
   459  	if x != nil {
   460  		return x.Domain
   461  	}
   462  	return ""
   463  }
   464  
   465  func (x *GroupImporterConfig_TarballEntry) GetSystems() []string {
   466  	if x != nil {
   467  		return x.Systems
   468  	}
   469  	return nil
   470  }
   471  
   472  func (x *GroupImporterConfig_TarballEntry) GetGroups() []string {
   473  	if x != nil {
   474  		return x.Groups
   475  	}
   476  	return nil
   477  }
   478  
   479  // Accept a tarball upload from some external service.
   480  //
   481  // Same as 'TarballEntry', except the tarball is pushed to the service (via
   482  // PUT to /auth_service/api/v1/importer/ingest_tarball/<name>) rather than
   483  // being fetched from somewhere. See 'TarballEntry' comments for details.
   484  type GroupImporterConfig_TarballUploadEntry struct {
   485  	state         protoimpl.MessageState
   486  	sizeCache     protoimpl.SizeCache
   487  	unknownFields protoimpl.UnknownFields
   488  
   489  	// Identifies this particular entry. Used in push API requests.
   490  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   491  	// A service account email that is allowed to do this push.
   492  	AuthorizedUploader []string `protobuf:"bytes,2,rep,name=authorized_uploader,json=authorizedUploader,proto3" json:"authorized_uploader,omitempty"`
   493  	// Email domain to append to imported identities.
   494  	Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`
   495  	// List of group systems expected to be found in the archive.
   496  	Systems []string `protobuf:"bytes,4,rep,name=systems,proto3" json:"systems,omitempty"`
   497  	// List of groups to import from the tarball.
   498  	Groups []string `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
   499  }
   500  
   501  func (x *GroupImporterConfig_TarballUploadEntry) Reset() {
   502  	*x = GroupImporterConfig_TarballUploadEntry{}
   503  	if protoimpl.UnsafeEnabled {
   504  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[6]
   505  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   506  		ms.StoreMessageInfo(mi)
   507  	}
   508  }
   509  
   510  func (x *GroupImporterConfig_TarballUploadEntry) String() string {
   511  	return protoimpl.X.MessageStringOf(x)
   512  }
   513  
   514  func (*GroupImporterConfig_TarballUploadEntry) ProtoMessage() {}
   515  
   516  func (x *GroupImporterConfig_TarballUploadEntry) ProtoReflect() protoreflect.Message {
   517  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[6]
   518  	if protoimpl.UnsafeEnabled && x != nil {
   519  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   520  		if ms.LoadMessageInfo() == nil {
   521  			ms.StoreMessageInfo(mi)
   522  		}
   523  		return ms
   524  	}
   525  	return mi.MessageOf(x)
   526  }
   527  
   528  // Deprecated: Use GroupImporterConfig_TarballUploadEntry.ProtoReflect.Descriptor instead.
   529  func (*GroupImporterConfig_TarballUploadEntry) Descriptor() ([]byte, []int) {
   530  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{1, 1}
   531  }
   532  
   533  func (x *GroupImporterConfig_TarballUploadEntry) GetName() string {
   534  	if x != nil {
   535  		return x.Name
   536  	}
   537  	return ""
   538  }
   539  
   540  func (x *GroupImporterConfig_TarballUploadEntry) GetAuthorizedUploader() []string {
   541  	if x != nil {
   542  		return x.AuthorizedUploader
   543  	}
   544  	return nil
   545  }
   546  
   547  func (x *GroupImporterConfig_TarballUploadEntry) GetDomain() string {
   548  	if x != nil {
   549  		return x.Domain
   550  	}
   551  	return ""
   552  }
   553  
   554  func (x *GroupImporterConfig_TarballUploadEntry) GetSystems() []string {
   555  	if x != nil {
   556  		return x.Systems
   557  	}
   558  	return nil
   559  }
   560  
   561  func (x *GroupImporterConfig_TarballUploadEntry) GetGroups() []string {
   562  	if x != nil {
   563  		return x.Groups
   564  	}
   565  	return nil
   566  }
   567  
   568  // Periodically fetch a single group stored as a plain list of identities.
   569  type GroupImporterConfig_PlainlistEntry struct {
   570  	state         protoimpl.MessageState
   571  	sizeCache     protoimpl.SizeCache
   572  	unknownFields protoimpl.UnknownFields
   573  
   574  	// Where to import data from.
   575  	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
   576  	// List of OAuth scopes to use for authentication (or empty to skip auth).
   577  	OauthScopes []string `protobuf:"bytes,2,rep,name=oauth_scopes,json=oauthScopes,proto3" json:"oauth_scopes,omitempty"`
   578  	// Email domain to append to imported identities.
   579  	Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`
   580  	// A name of imported group. The full group name will be 'external/<group>'.
   581  	Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"`
   582  }
   583  
   584  func (x *GroupImporterConfig_PlainlistEntry) Reset() {
   585  	*x = GroupImporterConfig_PlainlistEntry{}
   586  	if protoimpl.UnsafeEnabled {
   587  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[7]
   588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   589  		ms.StoreMessageInfo(mi)
   590  	}
   591  }
   592  
   593  func (x *GroupImporterConfig_PlainlistEntry) String() string {
   594  	return protoimpl.X.MessageStringOf(x)
   595  }
   596  
   597  func (*GroupImporterConfig_PlainlistEntry) ProtoMessage() {}
   598  
   599  func (x *GroupImporterConfig_PlainlistEntry) ProtoReflect() protoreflect.Message {
   600  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[7]
   601  	if protoimpl.UnsafeEnabled && x != nil {
   602  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   603  		if ms.LoadMessageInfo() == nil {
   604  			ms.StoreMessageInfo(mi)
   605  		}
   606  		return ms
   607  	}
   608  	return mi.MessageOf(x)
   609  }
   610  
   611  // Deprecated: Use GroupImporterConfig_PlainlistEntry.ProtoReflect.Descriptor instead.
   612  func (*GroupImporterConfig_PlainlistEntry) Descriptor() ([]byte, []int) {
   613  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{1, 2}
   614  }
   615  
   616  func (x *GroupImporterConfig_PlainlistEntry) GetUrl() string {
   617  	if x != nil {
   618  		return x.Url
   619  	}
   620  	return ""
   621  }
   622  
   623  func (x *GroupImporterConfig_PlainlistEntry) GetOauthScopes() []string {
   624  	if x != nil {
   625  		return x.OauthScopes
   626  	}
   627  	return nil
   628  }
   629  
   630  func (x *GroupImporterConfig_PlainlistEntry) GetDomain() string {
   631  	if x != nil {
   632  		return x.Domain
   633  	}
   634  	return ""
   635  }
   636  
   637  func (x *GroupImporterConfig_PlainlistEntry) GetGroup() string {
   638  	if x != nil {
   639  		return x.Group
   640  	}
   641  	return ""
   642  }
   643  
   644  type IPAllowlistConfig_IPAllowlist struct {
   645  	state         protoimpl.MessageState
   646  	sizeCache     protoimpl.SizeCache
   647  	unknownFields protoimpl.UnknownFields
   648  
   649  	// Name of the IP allowlist.
   650  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   651  	// List of subnets.
   652  	Subnets []string `protobuf:"bytes,2,rep,name=subnets,proto3" json:"subnets,omitempty"`
   653  	// Names of other IPAllowlist entities to include.
   654  	Includes []string `protobuf:"bytes,3,rep,name=includes,proto3" json:"includes,omitempty"`
   655  }
   656  
   657  func (x *IPAllowlistConfig_IPAllowlist) Reset() {
   658  	*x = IPAllowlistConfig_IPAllowlist{}
   659  	if protoimpl.UnsafeEnabled {
   660  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[8]
   661  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   662  		ms.StoreMessageInfo(mi)
   663  	}
   664  }
   665  
   666  func (x *IPAllowlistConfig_IPAllowlist) String() string {
   667  	return protoimpl.X.MessageStringOf(x)
   668  }
   669  
   670  func (*IPAllowlistConfig_IPAllowlist) ProtoMessage() {}
   671  
   672  func (x *IPAllowlistConfig_IPAllowlist) ProtoReflect() protoreflect.Message {
   673  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[8]
   674  	if protoimpl.UnsafeEnabled && x != nil {
   675  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   676  		if ms.LoadMessageInfo() == nil {
   677  			ms.StoreMessageInfo(mi)
   678  		}
   679  		return ms
   680  	}
   681  	return mi.MessageOf(x)
   682  }
   683  
   684  // Deprecated: Use IPAllowlistConfig_IPAllowlist.ProtoReflect.Descriptor instead.
   685  func (*IPAllowlistConfig_IPAllowlist) Descriptor() ([]byte, []int) {
   686  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{2, 0}
   687  }
   688  
   689  func (x *IPAllowlistConfig_IPAllowlist) GetName() string {
   690  	if x != nil {
   691  		return x.Name
   692  	}
   693  	return ""
   694  }
   695  
   696  func (x *IPAllowlistConfig_IPAllowlist) GetSubnets() []string {
   697  	if x != nil {
   698  		return x.Subnets
   699  	}
   700  	return nil
   701  }
   702  
   703  func (x *IPAllowlistConfig_IPAllowlist) GetIncludes() []string {
   704  	if x != nil {
   705  		return x.Includes
   706  	}
   707  	return nil
   708  }
   709  
   710  type IPAllowlistConfig_Assignment struct {
   711  	state         protoimpl.MessageState
   712  	sizeCache     protoimpl.SizeCache
   713  	unknownFields protoimpl.UnknownFields
   714  
   715  	// Identity to restrict IPs to.
   716  	Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
   717  	// Name of the corresponding IPAllowlist with a set of subnets.
   718  	IpAllowlistName string `protobuf:"bytes,2,opt,name=ip_allowlist_name,json=ipAllowlistName,proto3" json:"ip_allowlist_name,omitempty"`
   719  }
   720  
   721  func (x *IPAllowlistConfig_Assignment) Reset() {
   722  	*x = IPAllowlistConfig_Assignment{}
   723  	if protoimpl.UnsafeEnabled {
   724  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[9]
   725  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   726  		ms.StoreMessageInfo(mi)
   727  	}
   728  }
   729  
   730  func (x *IPAllowlistConfig_Assignment) String() string {
   731  	return protoimpl.X.MessageStringOf(x)
   732  }
   733  
   734  func (*IPAllowlistConfig_Assignment) ProtoMessage() {}
   735  
   736  func (x *IPAllowlistConfig_Assignment) ProtoReflect() protoreflect.Message {
   737  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[9]
   738  	if protoimpl.UnsafeEnabled && x != nil {
   739  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   740  		if ms.LoadMessageInfo() == nil {
   741  			ms.StoreMessageInfo(mi)
   742  		}
   743  		return ms
   744  	}
   745  	return mi.MessageOf(x)
   746  }
   747  
   748  // Deprecated: Use IPAllowlistConfig_Assignment.ProtoReflect.Descriptor instead.
   749  func (*IPAllowlistConfig_Assignment) Descriptor() ([]byte, []int) {
   750  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{2, 1}
   751  }
   752  
   753  func (x *IPAllowlistConfig_Assignment) GetIdentity() string {
   754  	if x != nil {
   755  		return x.Identity
   756  	}
   757  	return ""
   758  }
   759  
   760  func (x *IPAllowlistConfig_Assignment) GetIpAllowlistName() string {
   761  	if x != nil {
   762  		return x.IpAllowlistName
   763  	}
   764  	return ""
   765  }
   766  
   767  // Defines a role that includes given permissions and other roles.
   768  // The role should not have been defined before. To include this role into another
   769  // role, you can specify this role by name.
   770  type PermissionsConfig_Role struct {
   771  	state         protoimpl.MessageState
   772  	sizeCache     protoimpl.SizeCache
   773  	unknownFields protoimpl.UnknownFields
   774  
   775  	// Identifier for a role, will have the form <prefix><project>.<noun>
   776  	//
   777  	//	examples:
   778  	//	  "role/exampleproject.reader"
   779  	//	  "role/exampleproject.owner"
   780  	//
   781  	// Prefixes:
   782  	//
   783  	//	"role/" -- role names defined in Auth service code.
   784  	//	"customRole/" -- role names that can be defined in user-supplied realms.cfg.
   785  	//	"role/luci.internal." -- interally used roles that are forbidden in realms.cfg.
   786  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   787  	// List of permissions associated with this role, same permission may not be
   788  	// declared more than once per role.
   789  	// Permissions should be of the form: <service>.<subject>.<verb>
   790  	Permissions []*protocol.Permission `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"`
   791  	// List of other roles to include in this role, includes all the permissions
   792  	// that the included role contains. The referenced role should be defined already.
   793  	Includes []string `protobuf:"bytes,3,rep,name=includes,proto3" json:"includes,omitempty"`
   794  }
   795  
   796  func (x *PermissionsConfig_Role) Reset() {
   797  	*x = PermissionsConfig_Role{}
   798  	if protoimpl.UnsafeEnabled {
   799  		mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[10]
   800  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   801  		ms.StoreMessageInfo(mi)
   802  	}
   803  }
   804  
   805  func (x *PermissionsConfig_Role) String() string {
   806  	return protoimpl.X.MessageStringOf(x)
   807  }
   808  
   809  func (*PermissionsConfig_Role) ProtoMessage() {}
   810  
   811  func (x *PermissionsConfig_Role) ProtoReflect() protoreflect.Message {
   812  	mi := &file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[10]
   813  	if protoimpl.UnsafeEnabled && x != nil {
   814  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   815  		if ms.LoadMessageInfo() == nil {
   816  			ms.StoreMessageInfo(mi)
   817  		}
   818  		return ms
   819  	}
   820  	return mi.MessageOf(x)
   821  }
   822  
   823  // Deprecated: Use PermissionsConfig_Role.ProtoReflect.Descriptor instead.
   824  func (*PermissionsConfig_Role) Descriptor() ([]byte, []int) {
   825  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP(), []int{4, 0}
   826  }
   827  
   828  func (x *PermissionsConfig_Role) GetName() string {
   829  	if x != nil {
   830  		return x.Name
   831  	}
   832  	return ""
   833  }
   834  
   835  func (x *PermissionsConfig_Role) GetPermissions() []*protocol.Permission {
   836  	if x != nil {
   837  		return x.Permissions
   838  	}
   839  	return nil
   840  }
   841  
   842  func (x *PermissionsConfig_Role) GetIncludes() []string {
   843  	if x != nil {
   844  		return x.Includes
   845  	}
   846  	return nil
   847  }
   848  
   849  var File_go_chromium_org_luci_auth_service_api_configspb_config_proto protoreflect.FileDescriptor
   850  
   851  var file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDesc = []byte{
   852  	0x0a, 0x3c, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   853  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76,
   854  	0x69, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x70,
   855  	0x62, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c,
   856  	0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x54, 0x67, 0x6f,
   857  	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75,
   858  	0x63, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x73,
   859  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f,
   860  	0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
   861  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   862  	0x74, 0x6f, 0x22, 0x66, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x43, 0x66,
   863  	0x67, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x73, 0x5f, 0x6d,
   864  	0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
   865  	0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x73, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
   866  	0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x62, 0x5f, 0x67,
   867  	0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75,
   868  	0x74, 0x68, 0x44, 0x62, 0x47, 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, 0xb7, 0x05, 0x0a, 0x13, 0x47,
   869  	0x72, 0x6f, 0x75, 0x70, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
   870  	0x69, 0x67, 0x12, 0x48, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20,
   871  	0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
   872  	0x67, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
   873  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x45, 0x6e,
   874  	0x74, 0x72, 0x79, 0x52, 0x07, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x12, 0x4e, 0x0a, 0x09,
   875  	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
   876  	0x30, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2e, 0x47,
   877  	0x72, 0x6f, 0x75, 0x70, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
   878  	0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72,
   879  	0x79, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x0e,
   880  	0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03,
   881  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
   882  	0x69, 0x67, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65,
   883  	0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x55,
   884  	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x62,
   885  	0x61, 0x6c, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x8d, 0x01, 0x0a, 0x0c, 0x54, 0x61,
   886  	0x72, 0x62, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
   887  	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c,
   888  	0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
   889  	0x28, 0x09, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12,
   890  	0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
   891  	0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65,
   892  	0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
   893  	0x73, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
   894  	0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0xa3, 0x01, 0x0a, 0x12, 0x54, 0x61,
   895  	0x72, 0x62, 0x61, 0x6c, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
   896  	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
   897  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
   898  	0x65, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28,
   899  	0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x55, 0x70, 0x6c,
   900  	0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18,
   901  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a,
   902  	0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
   903  	0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70,
   904  	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a,
   905  	0x73, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72,
   906  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
   907  	0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f,
   908  	0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68,
   909  	0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
   910  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14,
   911  	0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67,
   912  	0x72, 0x6f, 0x75, 0x70, 0x22, 0xe2, 0x02, 0x0a, 0x11, 0x49, 0x50, 0x41, 0x6c, 0x6c, 0x6f, 0x77,
   913  	0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x70,
   914  	0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
   915  	0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
   916  	0x2e, 0x49, 0x50, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66,
   917  	0x69, 0x67, 0x2e, 0x49, 0x50, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x0c,
   918  	0x69, 0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0b,
   919  	0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
   920  	0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
   921  	0x2e, 0x49, 0x50, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66,
   922  	0x69, 0x67, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61,
   923  	0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x57, 0x0a, 0x0b, 0x49, 0x50,
   924  	0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
   925  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
   926  	0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
   927  	0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x63, 0x6c, 0x75,
   928  	0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x63, 0x6c, 0x75,
   929  	0x64, 0x65, 0x73, 0x1a, 0x54, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
   930  	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20,
   931  	0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a,
   932  	0x11, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61,
   933  	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x6f,
   934  	0x77, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x0b, 0x4f, 0x41,
   935  	0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69,
   936  	0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
   937  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x69,
   938  	0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
   939  	0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02,
   940  	0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x69,
   941  	0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x69,
   942  	0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63,
   943  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x6b, 0x65,
   944  	0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
   945  	0x28, 0x09, 0x52, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55,
   946  	0x72, 0x6c, 0x22, 0xe9, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
   947  	0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65,
   948  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x63, 0x6f,
   949  	0x6e, 0x66, 0x69, 0x67, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
   950  	0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f,
   951  	0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18,
   952  	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
   953  	0x1a, 0x7c, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
   954  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0b,
   955  	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
   956  	0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x61,
   957  	0x75, 0x74, 0x68, 0x2e, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
   958  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
   959  	0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x03,
   960  	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x42, 0x31,
   961  	0x5a, 0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   962  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76,
   963  	0x69, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x70,
   964  	0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   965  }
   966  
   967  var (
   968  	file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescOnce sync.Once
   969  	file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescData = file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDesc
   970  )
   971  
   972  func file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescGZIP() []byte {
   973  	file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescOnce.Do(func() {
   974  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescData)
   975  	})
   976  	return file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDescData
   977  }
   978  
   979  var file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
   980  var file_go_chromium_org_luci_auth_service_api_configspb_config_proto_goTypes = []interface{}{
   981  	(*SettingsCfg)(nil),                            // 0: auth.configs.SettingsCfg
   982  	(*GroupImporterConfig)(nil),                    // 1: auth.configs.GroupImporterConfig
   983  	(*IPAllowlistConfig)(nil),                      // 2: auth.configs.IPAllowlistConfig
   984  	(*OAuthConfig)(nil),                            // 3: auth.configs.OAuthConfig
   985  	(*PermissionsConfig)(nil),                      // 4: auth.configs.PermissionsConfig
   986  	(*GroupImporterConfig_TarballEntry)(nil),       // 5: auth.configs.GroupImporterConfig.TarballEntry
   987  	(*GroupImporterConfig_TarballUploadEntry)(nil), // 6: auth.configs.GroupImporterConfig.TarballUploadEntry
   988  	(*GroupImporterConfig_PlainlistEntry)(nil),     // 7: auth.configs.GroupImporterConfig.PlainlistEntry
   989  	(*IPAllowlistConfig_IPAllowlist)(nil),          // 8: auth.configs.IPAllowlistConfig.IPAllowlist
   990  	(*IPAllowlistConfig_Assignment)(nil),           // 9: auth.configs.IPAllowlistConfig.Assignment
   991  	(*PermissionsConfig_Role)(nil),                 // 10: auth.configs.PermissionsConfig.Role
   992  	(*protocol.Permission)(nil),                    // 11: components.auth.realms.Permission
   993  }
   994  var file_go_chromium_org_luci_auth_service_api_configspb_config_proto_depIdxs = []int32{
   995  	5,  // 0: auth.configs.GroupImporterConfig.tarball:type_name -> auth.configs.GroupImporterConfig.TarballEntry
   996  	7,  // 1: auth.configs.GroupImporterConfig.plainlist:type_name -> auth.configs.GroupImporterConfig.PlainlistEntry
   997  	6,  // 2: auth.configs.GroupImporterConfig.tarball_upload:type_name -> auth.configs.GroupImporterConfig.TarballUploadEntry
   998  	8,  // 3: auth.configs.IPAllowlistConfig.ip_allowlists:type_name -> auth.configs.IPAllowlistConfig.IPAllowlist
   999  	9,  // 4: auth.configs.IPAllowlistConfig.assignments:type_name -> auth.configs.IPAllowlistConfig.Assignment
  1000  	10, // 5: auth.configs.PermissionsConfig.role:type_name -> auth.configs.PermissionsConfig.Role
  1001  	11, // 6: auth.configs.PermissionsConfig.Role.permissions:type_name -> components.auth.realms.Permission
  1002  	7,  // [7:7] is the sub-list for method output_type
  1003  	7,  // [7:7] is the sub-list for method input_type
  1004  	7,  // [7:7] is the sub-list for extension type_name
  1005  	7,  // [7:7] is the sub-list for extension extendee
  1006  	0,  // [0:7] is the sub-list for field type_name
  1007  }
  1008  
  1009  func init() { file_go_chromium_org_luci_auth_service_api_configspb_config_proto_init() }
  1010  func file_go_chromium_org_luci_auth_service_api_configspb_config_proto_init() {
  1011  	if File_go_chromium_org_luci_auth_service_api_configspb_config_proto != nil {
  1012  		return
  1013  	}
  1014  	if !protoimpl.UnsafeEnabled {
  1015  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1016  			switch v := v.(*SettingsCfg); i {
  1017  			case 0:
  1018  				return &v.state
  1019  			case 1:
  1020  				return &v.sizeCache
  1021  			case 2:
  1022  				return &v.unknownFields
  1023  			default:
  1024  				return nil
  1025  			}
  1026  		}
  1027  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1028  			switch v := v.(*GroupImporterConfig); i {
  1029  			case 0:
  1030  				return &v.state
  1031  			case 1:
  1032  				return &v.sizeCache
  1033  			case 2:
  1034  				return &v.unknownFields
  1035  			default:
  1036  				return nil
  1037  			}
  1038  		}
  1039  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1040  			switch v := v.(*IPAllowlistConfig); i {
  1041  			case 0:
  1042  				return &v.state
  1043  			case 1:
  1044  				return &v.sizeCache
  1045  			case 2:
  1046  				return &v.unknownFields
  1047  			default:
  1048  				return nil
  1049  			}
  1050  		}
  1051  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1052  			switch v := v.(*OAuthConfig); i {
  1053  			case 0:
  1054  				return &v.state
  1055  			case 1:
  1056  				return &v.sizeCache
  1057  			case 2:
  1058  				return &v.unknownFields
  1059  			default:
  1060  				return nil
  1061  			}
  1062  		}
  1063  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1064  			switch v := v.(*PermissionsConfig); i {
  1065  			case 0:
  1066  				return &v.state
  1067  			case 1:
  1068  				return &v.sizeCache
  1069  			case 2:
  1070  				return &v.unknownFields
  1071  			default:
  1072  				return nil
  1073  			}
  1074  		}
  1075  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1076  			switch v := v.(*GroupImporterConfig_TarballEntry); i {
  1077  			case 0:
  1078  				return &v.state
  1079  			case 1:
  1080  				return &v.sizeCache
  1081  			case 2:
  1082  				return &v.unknownFields
  1083  			default:
  1084  				return nil
  1085  			}
  1086  		}
  1087  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1088  			switch v := v.(*GroupImporterConfig_TarballUploadEntry); i {
  1089  			case 0:
  1090  				return &v.state
  1091  			case 1:
  1092  				return &v.sizeCache
  1093  			case 2:
  1094  				return &v.unknownFields
  1095  			default:
  1096  				return nil
  1097  			}
  1098  		}
  1099  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1100  			switch v := v.(*GroupImporterConfig_PlainlistEntry); i {
  1101  			case 0:
  1102  				return &v.state
  1103  			case 1:
  1104  				return &v.sizeCache
  1105  			case 2:
  1106  				return &v.unknownFields
  1107  			default:
  1108  				return nil
  1109  			}
  1110  		}
  1111  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1112  			switch v := v.(*IPAllowlistConfig_IPAllowlist); i {
  1113  			case 0:
  1114  				return &v.state
  1115  			case 1:
  1116  				return &v.sizeCache
  1117  			case 2:
  1118  				return &v.unknownFields
  1119  			default:
  1120  				return nil
  1121  			}
  1122  		}
  1123  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1124  			switch v := v.(*IPAllowlistConfig_Assignment); i {
  1125  			case 0:
  1126  				return &v.state
  1127  			case 1:
  1128  				return &v.sizeCache
  1129  			case 2:
  1130  				return &v.unknownFields
  1131  			default:
  1132  				return nil
  1133  			}
  1134  		}
  1135  		file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1136  			switch v := v.(*PermissionsConfig_Role); i {
  1137  			case 0:
  1138  				return &v.state
  1139  			case 1:
  1140  				return &v.sizeCache
  1141  			case 2:
  1142  				return &v.unknownFields
  1143  			default:
  1144  				return nil
  1145  			}
  1146  		}
  1147  	}
  1148  	type x struct{}
  1149  	out := protoimpl.TypeBuilder{
  1150  		File: protoimpl.DescBuilder{
  1151  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1152  			RawDescriptor: file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDesc,
  1153  			NumEnums:      0,
  1154  			NumMessages:   11,
  1155  			NumExtensions: 0,
  1156  			NumServices:   0,
  1157  		},
  1158  		GoTypes:           file_go_chromium_org_luci_auth_service_api_configspb_config_proto_goTypes,
  1159  		DependencyIndexes: file_go_chromium_org_luci_auth_service_api_configspb_config_proto_depIdxs,
  1160  		MessageInfos:      file_go_chromium_org_luci_auth_service_api_configspb_config_proto_msgTypes,
  1161  	}.Build()
  1162  	File_go_chromium_org_luci_auth_service_api_configspb_config_proto = out.File
  1163  	file_go_chromium_org_luci_auth_service_api_configspb_config_proto_rawDesc = nil
  1164  	file_go_chromium_org_luci_auth_service_api_configspb_config_proto_goTypes = nil
  1165  	file_go_chromium_org_luci_auth_service_api_configspb_config_proto_depIdxs = nil
  1166  }