github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/grpc/internal/proto/grpc_lookup_v1/rls_config.pb.go (about)

     1  // Copyright 2020 The gRPC 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.25.0
    18  // 	protoc        v3.14.0
    19  // source: grpc/lookup/v1/rls_config.proto
    20  
    21  package grpc_lookup_v1
    22  
    23  import (
    24  	proto "github.com/golang/protobuf/proto"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // This is a compile-time assertion that a sufficiently up-to-date version
    40  // of the legacy proto package is being used.
    41  const _ = proto.ProtoPackageIsVersion4
    42  
    43  // Extract a key based on a given name (e.g. header name or query parameter
    44  // name).  The name must match one of the names listed in the "name" field.  If
    45  // the "required_match" field is true, one of the specified names must be
    46  // present for the keybuilder to match.
    47  type NameMatcher struct {
    48  	state         protoimpl.MessageState
    49  	sizeCache     protoimpl.SizeCache
    50  	unknownFields protoimpl.UnknownFields
    51  
    52  	// The name that will be used in the RLS key_map to refer to this value.
    53  	// If required_match is true, you may omit this field or set it to an empty
    54  	// string, in which case the matcher will require a match, but won't update
    55  	// the key_map.
    56  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    57  	// Ordered list of names (headers or query parameter names) that can supply
    58  	// this value; the first one with a non-empty value is used.
    59  	Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"`
    60  	// If true, make this extraction required; the key builder will not match
    61  	// if no value is found.
    62  	RequiredMatch bool `protobuf:"varint,3,opt,name=required_match,json=requiredMatch,proto3" json:"required_match,omitempty"`
    63  }
    64  
    65  func (x *NameMatcher) Reset() {
    66  	*x = NameMatcher{}
    67  	if protoimpl.UnsafeEnabled {
    68  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[0]
    69  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    70  		ms.StoreMessageInfo(mi)
    71  	}
    72  }
    73  
    74  func (x *NameMatcher) String() string {
    75  	return protoimpl.X.MessageStringOf(x)
    76  }
    77  
    78  func (*NameMatcher) ProtoMessage() {}
    79  
    80  func (x *NameMatcher) ProtoReflect() protoreflect.Message {
    81  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[0]
    82  	if protoimpl.UnsafeEnabled && x != nil {
    83  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    84  		if ms.LoadMessageInfo() == nil {
    85  			ms.StoreMessageInfo(mi)
    86  		}
    87  		return ms
    88  	}
    89  	return mi.MessageOf(x)
    90  }
    91  
    92  // Deprecated: Use NameMatcher.ProtoReflect.Descriptor instead.
    93  func (*NameMatcher) Descriptor() ([]byte, []int) {
    94  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{0}
    95  }
    96  
    97  func (x *NameMatcher) GetKey() string {
    98  	if x != nil {
    99  		return x.Key
   100  	}
   101  	return ""
   102  }
   103  
   104  func (x *NameMatcher) GetNames() []string {
   105  	if x != nil {
   106  		return x.Names
   107  	}
   108  	return nil
   109  }
   110  
   111  func (x *NameMatcher) GetRequiredMatch() bool {
   112  	if x != nil {
   113  		return x.RequiredMatch
   114  	}
   115  	return false
   116  }
   117  
   118  // A GrpcKeyBuilder applies to a given gRPC service, name, and headers.
   119  type GrpcKeyBuilder struct {
   120  	state         protoimpl.MessageState
   121  	sizeCache     protoimpl.SizeCache
   122  	unknownFields protoimpl.UnknownFields
   123  
   124  	Names     []*GrpcKeyBuilder_Name    `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
   125  	ExtraKeys *GrpcKeyBuilder_ExtraKeys `protobuf:"bytes,3,opt,name=extra_keys,json=extraKeys,proto3" json:"extra_keys,omitempty"`
   126  	// Extract keys from all listed headers.
   127  	// For gRPC, it is an error to specify "required_match" on the NameMatcher
   128  	// protos.
   129  	Headers []*NameMatcher `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
   130  	// You can optionally set one or more specific key/value pairs to be added to
   131  	// the key_map.  This can be useful to identify which builder built the key,
   132  	// for example if you are suppressing the actual method, but need to
   133  	// separately cache and request all the matched methods.
   134  	ConstantKeys map[string]string `protobuf:"bytes,4,rep,name=constant_keys,json=constantKeys,proto3" json:"constant_keys,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   135  }
   136  
   137  func (x *GrpcKeyBuilder) Reset() {
   138  	*x = GrpcKeyBuilder{}
   139  	if protoimpl.UnsafeEnabled {
   140  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[1]
   141  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   142  		ms.StoreMessageInfo(mi)
   143  	}
   144  }
   145  
   146  func (x *GrpcKeyBuilder) String() string {
   147  	return protoimpl.X.MessageStringOf(x)
   148  }
   149  
   150  func (*GrpcKeyBuilder) ProtoMessage() {}
   151  
   152  func (x *GrpcKeyBuilder) ProtoReflect() protoreflect.Message {
   153  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[1]
   154  	if protoimpl.UnsafeEnabled && x != nil {
   155  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   156  		if ms.LoadMessageInfo() == nil {
   157  			ms.StoreMessageInfo(mi)
   158  		}
   159  		return ms
   160  	}
   161  	return mi.MessageOf(x)
   162  }
   163  
   164  // Deprecated: Use GrpcKeyBuilder.ProtoReflect.Descriptor instead.
   165  func (*GrpcKeyBuilder) Descriptor() ([]byte, []int) {
   166  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{1}
   167  }
   168  
   169  func (x *GrpcKeyBuilder) GetNames() []*GrpcKeyBuilder_Name {
   170  	if x != nil {
   171  		return x.Names
   172  	}
   173  	return nil
   174  }
   175  
   176  func (x *GrpcKeyBuilder) GetExtraKeys() *GrpcKeyBuilder_ExtraKeys {
   177  	if x != nil {
   178  		return x.ExtraKeys
   179  	}
   180  	return nil
   181  }
   182  
   183  func (x *GrpcKeyBuilder) GetHeaders() []*NameMatcher {
   184  	if x != nil {
   185  		return x.Headers
   186  	}
   187  	return nil
   188  }
   189  
   190  func (x *GrpcKeyBuilder) GetConstantKeys() map[string]string {
   191  	if x != nil {
   192  		return x.ConstantKeys
   193  	}
   194  	return nil
   195  }
   196  
   197  // An HttpKeyBuilder applies to a given HTTP URL and headers.
   198  //
   199  // Path and host patterns use the matching syntax from gRPC transcoding to
   200  // extract named key/value pairs from the path and host components of the URL:
   201  // https://github.com/googleapis/googleapis/blob/master/google/api/http.proto
   202  //
   203  // It is invalid to specify the same key name in multiple places in a pattern.
   204  //
   205  // For a service where the project id can be expressed either as a subdomain or
   206  // in the path, separate HttpKeyBuilders must be used:
   207  //     host_pattern: 'example.com' path_pattern: '/{id}/{object}/**'
   208  //     host_pattern: '{id}.example.com' path_pattern: '/{object}/**'
   209  // If the host is exactly 'example.com', the first path segment will be used as
   210  // the id and the second segment as the object. If the host has a subdomain, the
   211  // subdomain will be used as the id and the first segment as the object. If
   212  // neither pattern matches, no keys will be extracted.
   213  type HttpKeyBuilder struct {
   214  	state         protoimpl.MessageState
   215  	sizeCache     protoimpl.SizeCache
   216  	unknownFields protoimpl.UnknownFields
   217  
   218  	// host_pattern is an ordered list of host template patterns for the desired
   219  	// value.  If any host_pattern values are specified, then at least one must
   220  	// match, and the last one wins and sets any specified variables.  A host
   221  	// consists of labels separated by dots. Each label is matched against the
   222  	// label in the pattern as follows:
   223  	//   - "*": Matches any single label.
   224  	//   - "**": Matches zero or more labels (first or last part of host only).
   225  	//   - "{<name>=...}": One or more label capture, where "..." can be any
   226  	//      template that does not include a capture.
   227  	//   - "{<name>}": A single label capture. Identical to {<name>=*}.
   228  	//
   229  	// Examples:
   230  	//   - "example.com": Only applies to the exact host example.com.
   231  	//   - "*.example.com": Matches subdomains of example.com.
   232  	//   - "**.example.com": matches example.com, and all levels of subdomains.
   233  	//   - "{project}.example.com": Extracts the third level subdomain.
   234  	//   - "{project=**}.example.com": Extracts the third level+ subdomains.
   235  	//   - "{project=**}": Extracts the entire host.
   236  	HostPatterns []string `protobuf:"bytes,1,rep,name=host_patterns,json=hostPatterns,proto3" json:"host_patterns,omitempty"`
   237  	// path_pattern is an ordered list of path template patterns for the desired
   238  	// value.  If any path_pattern values are specified, then at least one must
   239  	// match, and the last one wins and sets any specified variables.  A path
   240  	// consists of segments separated by slashes. Each segment is matched against
   241  	// the segment in the pattern as follows:
   242  	//   - "*": Matches any single segment.
   243  	//   - "**": Matches zero or more segments (first or last part of path only).
   244  	//   - "{<name>=...}": One or more segment capture, where "..." can be any
   245  	//      template that does not include a capture.
   246  	//   - "{<name>}": A single segment capture. Identical to {<name>=*}.
   247  	// A custom method may also be specified by appending ":" and the custom
   248  	// method name or "*" to indicate any custom method (including no custom
   249  	// method).  For example, "/*/projects/{project_id}/**:*" extracts
   250  	// `{project_id}` for any version, resource and custom method that includes
   251  	// it.  By default, any custom method will be matched.
   252  	//
   253  	// Examples:
   254  	//   - "/v1/{name=messages/*}": extracts a name like "messages/12345".
   255  	//   - "/v1/messages/{message_id}": extracts a message_id like "12345".
   256  	//   - "/v1/users/{user_id}/messages/{message_id}": extracts two key values.
   257  	PathPatterns []string `protobuf:"bytes,2,rep,name=path_patterns,json=pathPatterns,proto3" json:"path_patterns,omitempty"`
   258  	// List of query parameter names to try to match.
   259  	// For example: ["parent", "name", "resource.name"]
   260  	// We extract all the specified query_parameters (case-sensitively).  If any
   261  	// are marked as "required_match" and are not present, this keybuilder fails
   262  	// to match.  If a given parameter appears multiple times (?foo=a&foo=b) we
   263  	// will report it as a comma-separated string (foo=a,b).
   264  	QueryParameters []*NameMatcher `protobuf:"bytes,3,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"`
   265  	// List of headers to try to match.
   266  	// We extract all the specified header values (case-insensitively).  If any
   267  	// are marked as "required_match" and are not present, this keybuilder fails
   268  	// to match.  If a given header appears multiple times in the request we will
   269  	// report it as a comma-separated string, in standard HTTP fashion.
   270  	Headers []*NameMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"`
   271  	// You can optionally set one or more specific key/value pairs to be added to
   272  	// the key_map.  This can be useful to identify which builder built the key,
   273  	// for example if you are suppressing a lot of information from the URL, but
   274  	// need to separately cache and request URLs with that content.
   275  	ConstantKeys map[string]string `protobuf:"bytes,5,rep,name=constant_keys,json=constantKeys,proto3" json:"constant_keys,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   276  }
   277  
   278  func (x *HttpKeyBuilder) Reset() {
   279  	*x = HttpKeyBuilder{}
   280  	if protoimpl.UnsafeEnabled {
   281  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[2]
   282  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   283  		ms.StoreMessageInfo(mi)
   284  	}
   285  }
   286  
   287  func (x *HttpKeyBuilder) String() string {
   288  	return protoimpl.X.MessageStringOf(x)
   289  }
   290  
   291  func (*HttpKeyBuilder) ProtoMessage() {}
   292  
   293  func (x *HttpKeyBuilder) ProtoReflect() protoreflect.Message {
   294  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[2]
   295  	if protoimpl.UnsafeEnabled && x != nil {
   296  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   297  		if ms.LoadMessageInfo() == nil {
   298  			ms.StoreMessageInfo(mi)
   299  		}
   300  		return ms
   301  	}
   302  	return mi.MessageOf(x)
   303  }
   304  
   305  // Deprecated: Use HttpKeyBuilder.ProtoReflect.Descriptor instead.
   306  func (*HttpKeyBuilder) Descriptor() ([]byte, []int) {
   307  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{2}
   308  }
   309  
   310  func (x *HttpKeyBuilder) GetHostPatterns() []string {
   311  	if x != nil {
   312  		return x.HostPatterns
   313  	}
   314  	return nil
   315  }
   316  
   317  func (x *HttpKeyBuilder) GetPathPatterns() []string {
   318  	if x != nil {
   319  		return x.PathPatterns
   320  	}
   321  	return nil
   322  }
   323  
   324  func (x *HttpKeyBuilder) GetQueryParameters() []*NameMatcher {
   325  	if x != nil {
   326  		return x.QueryParameters
   327  	}
   328  	return nil
   329  }
   330  
   331  func (x *HttpKeyBuilder) GetHeaders() []*NameMatcher {
   332  	if x != nil {
   333  		return x.Headers
   334  	}
   335  	return nil
   336  }
   337  
   338  func (x *HttpKeyBuilder) GetConstantKeys() map[string]string {
   339  	if x != nil {
   340  		return x.ConstantKeys
   341  	}
   342  	return nil
   343  }
   344  
   345  type RouteLookupConfig struct {
   346  	state         protoimpl.MessageState
   347  	sizeCache     protoimpl.SizeCache
   348  	unknownFields protoimpl.UnknownFields
   349  
   350  	// Ordered specifications for constructing keys for HTTP requests.  Last
   351  	// match wins.  If no HttpKeyBuilder matches, an empty key_map will be sent to
   352  	// the lookup service; it should likely reply with a global default route
   353  	// and raise an alert.
   354  	HttpKeybuilders []*HttpKeyBuilder `protobuf:"bytes,1,rep,name=http_keybuilders,json=httpKeybuilders,proto3" json:"http_keybuilders,omitempty"`
   355  	// Unordered specifications for constructing keys for gRPC requests.  All
   356  	// GrpcKeyBuilders on this list must have unique "name" fields so that the
   357  	// client is free to prebuild a hash map keyed by name.  If no GrpcKeyBuilder
   358  	// matches, an empty key_map will be sent to the lookup service; it should
   359  	// likely reply with a global default route and raise an alert.
   360  	GrpcKeybuilders []*GrpcKeyBuilder `protobuf:"bytes,2,rep,name=grpc_keybuilders,json=grpcKeybuilders,proto3" json:"grpc_keybuilders,omitempty"`
   361  	// The name of the lookup service as a gRPC URI.  Typically, this will be
   362  	// a subdomain of the target, such as "lookup.datastore.googleapis.com".
   363  	LookupService string `protobuf:"bytes,3,opt,name=lookup_service,json=lookupService,proto3" json:"lookup_service,omitempty"`
   364  	// Configure a timeout value for lookup service requests.
   365  	// Defaults to 10 seconds if not specified.
   366  	LookupServiceTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=lookup_service_timeout,json=lookupServiceTimeout,proto3" json:"lookup_service_timeout,omitempty"`
   367  	// How long are responses valid for (like HTTP Cache-Control).
   368  	// If omitted or zero, the longest valid cache time is used.
   369  	// This value is clamped to 5 minutes to avoid unflushable bad responses.
   370  	MaxAge *durationpb.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
   371  	// After a response has been in the client cache for this amount of time
   372  	// and is re-requested, start an asynchronous RPC to re-validate it.
   373  	// This value should be less than max_age by at least the length of a
   374  	// typical RTT to the Route Lookup Service to fully mask the RTT latency.
   375  	// If omitted, keys are only re-requested after they have expired.
   376  	StaleAge *durationpb.Duration `protobuf:"bytes,6,opt,name=stale_age,json=staleAge,proto3" json:"stale_age,omitempty"`
   377  	// Rough indicator of amount of memory to use for the client cache.  Some of
   378  	// the data structure overhead is not accounted for, so actual memory consumed
   379  	// will be somewhat greater than this value.  If this field is omitted or set
   380  	// to zero, a client default will be used.  The value may be capped to a lower
   381  	// amount based on client configuration.
   382  	CacheSizeBytes int64 `protobuf:"varint,7,opt,name=cache_size_bytes,json=cacheSizeBytes,proto3" json:"cache_size_bytes,omitempty"`
   383  	// This is a list of all the possible targets that can be returned by the
   384  	// lookup service.  If a target not on this list is returned, it will be
   385  	// treated the same as an unhealthy target.
   386  	ValidTargets []string `protobuf:"bytes,8,rep,name=valid_targets,json=validTargets,proto3" json:"valid_targets,omitempty"`
   387  	// This value provides a default target to use if needed.  If set, it will be
   388  	// used if RLS returns an error, times out, or returns an invalid response.
   389  	// Note that requests can be routed only to a subdomain of the original
   390  	// target, e.g. "us_east_1.cloudbigtable.googleapis.com".
   391  	DefaultTarget string `protobuf:"bytes,9,opt,name=default_target,json=defaultTarget,proto3" json:"default_target,omitempty"`
   392  }
   393  
   394  func (x *RouteLookupConfig) Reset() {
   395  	*x = RouteLookupConfig{}
   396  	if protoimpl.UnsafeEnabled {
   397  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[3]
   398  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   399  		ms.StoreMessageInfo(mi)
   400  	}
   401  }
   402  
   403  func (x *RouteLookupConfig) String() string {
   404  	return protoimpl.X.MessageStringOf(x)
   405  }
   406  
   407  func (*RouteLookupConfig) ProtoMessage() {}
   408  
   409  func (x *RouteLookupConfig) ProtoReflect() protoreflect.Message {
   410  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[3]
   411  	if protoimpl.UnsafeEnabled && x != nil {
   412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   413  		if ms.LoadMessageInfo() == nil {
   414  			ms.StoreMessageInfo(mi)
   415  		}
   416  		return ms
   417  	}
   418  	return mi.MessageOf(x)
   419  }
   420  
   421  // Deprecated: Use RouteLookupConfig.ProtoReflect.Descriptor instead.
   422  func (*RouteLookupConfig) Descriptor() ([]byte, []int) {
   423  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{3}
   424  }
   425  
   426  func (x *RouteLookupConfig) GetHttpKeybuilders() []*HttpKeyBuilder {
   427  	if x != nil {
   428  		return x.HttpKeybuilders
   429  	}
   430  	return nil
   431  }
   432  
   433  func (x *RouteLookupConfig) GetGrpcKeybuilders() []*GrpcKeyBuilder {
   434  	if x != nil {
   435  		return x.GrpcKeybuilders
   436  	}
   437  	return nil
   438  }
   439  
   440  func (x *RouteLookupConfig) GetLookupService() string {
   441  	if x != nil {
   442  		return x.LookupService
   443  	}
   444  	return ""
   445  }
   446  
   447  func (x *RouteLookupConfig) GetLookupServiceTimeout() *durationpb.Duration {
   448  	if x != nil {
   449  		return x.LookupServiceTimeout
   450  	}
   451  	return nil
   452  }
   453  
   454  func (x *RouteLookupConfig) GetMaxAge() *durationpb.Duration {
   455  	if x != nil {
   456  		return x.MaxAge
   457  	}
   458  	return nil
   459  }
   460  
   461  func (x *RouteLookupConfig) GetStaleAge() *durationpb.Duration {
   462  	if x != nil {
   463  		return x.StaleAge
   464  	}
   465  	return nil
   466  }
   467  
   468  func (x *RouteLookupConfig) GetCacheSizeBytes() int64 {
   469  	if x != nil {
   470  		return x.CacheSizeBytes
   471  	}
   472  	return 0
   473  }
   474  
   475  func (x *RouteLookupConfig) GetValidTargets() []string {
   476  	if x != nil {
   477  		return x.ValidTargets
   478  	}
   479  	return nil
   480  }
   481  
   482  func (x *RouteLookupConfig) GetDefaultTarget() string {
   483  	if x != nil {
   484  		return x.DefaultTarget
   485  	}
   486  	return ""
   487  }
   488  
   489  // RouteLookupClusterSpecifier is used in xDS to represent a cluster specifier
   490  // plugin for RLS.
   491  type RouteLookupClusterSpecifier struct {
   492  	state         protoimpl.MessageState
   493  	sizeCache     protoimpl.SizeCache
   494  	unknownFields protoimpl.UnknownFields
   495  
   496  	// The RLS config for this cluster specifier plugin instance.
   497  	RouteLookupConfig *RouteLookupConfig `protobuf:"bytes,1,opt,name=route_lookup_config,json=routeLookupConfig,proto3" json:"route_lookup_config,omitempty"`
   498  }
   499  
   500  func (x *RouteLookupClusterSpecifier) Reset() {
   501  	*x = RouteLookupClusterSpecifier{}
   502  	if protoimpl.UnsafeEnabled {
   503  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[4]
   504  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   505  		ms.StoreMessageInfo(mi)
   506  	}
   507  }
   508  
   509  func (x *RouteLookupClusterSpecifier) String() string {
   510  	return protoimpl.X.MessageStringOf(x)
   511  }
   512  
   513  func (*RouteLookupClusterSpecifier) ProtoMessage() {}
   514  
   515  func (x *RouteLookupClusterSpecifier) ProtoReflect() protoreflect.Message {
   516  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[4]
   517  	if protoimpl.UnsafeEnabled && x != nil {
   518  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   519  		if ms.LoadMessageInfo() == nil {
   520  			ms.StoreMessageInfo(mi)
   521  		}
   522  		return ms
   523  	}
   524  	return mi.MessageOf(x)
   525  }
   526  
   527  // Deprecated: Use RouteLookupClusterSpecifier.ProtoReflect.Descriptor instead.
   528  func (*RouteLookupClusterSpecifier) Descriptor() ([]byte, []int) {
   529  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{4}
   530  }
   531  
   532  func (x *RouteLookupClusterSpecifier) GetRouteLookupConfig() *RouteLookupConfig {
   533  	if x != nil {
   534  		return x.RouteLookupConfig
   535  	}
   536  	return nil
   537  }
   538  
   539  // To match, one of the given Name fields must match; the service and method
   540  // fields are specified as fixed strings.  The service name is required and
   541  // includes the proto package name.  The method name may be omitted, in
   542  // which case any method on the given service is matched.
   543  type GrpcKeyBuilder_Name struct {
   544  	state         protoimpl.MessageState
   545  	sizeCache     protoimpl.SizeCache
   546  	unknownFields protoimpl.UnknownFields
   547  
   548  	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
   549  	Method  string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
   550  }
   551  
   552  func (x *GrpcKeyBuilder_Name) Reset() {
   553  	*x = GrpcKeyBuilder_Name{}
   554  	if protoimpl.UnsafeEnabled {
   555  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[5]
   556  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   557  		ms.StoreMessageInfo(mi)
   558  	}
   559  }
   560  
   561  func (x *GrpcKeyBuilder_Name) String() string {
   562  	return protoimpl.X.MessageStringOf(x)
   563  }
   564  
   565  func (*GrpcKeyBuilder_Name) ProtoMessage() {}
   566  
   567  func (x *GrpcKeyBuilder_Name) ProtoReflect() protoreflect.Message {
   568  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[5]
   569  	if protoimpl.UnsafeEnabled && x != nil {
   570  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   571  		if ms.LoadMessageInfo() == nil {
   572  			ms.StoreMessageInfo(mi)
   573  		}
   574  		return ms
   575  	}
   576  	return mi.MessageOf(x)
   577  }
   578  
   579  // Deprecated: Use GrpcKeyBuilder_Name.ProtoReflect.Descriptor instead.
   580  func (*GrpcKeyBuilder_Name) Descriptor() ([]byte, []int) {
   581  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{1, 0}
   582  }
   583  
   584  func (x *GrpcKeyBuilder_Name) GetService() string {
   585  	if x != nil {
   586  		return x.Service
   587  	}
   588  	return ""
   589  }
   590  
   591  func (x *GrpcKeyBuilder_Name) GetMethod() string {
   592  	if x != nil {
   593  		return x.Method
   594  	}
   595  	return ""
   596  }
   597  
   598  // If you wish to include the host, service, or method names as keys in the
   599  // generated RouteLookupRequest, specify key names to use in the extra_keys
   600  // submessage. If a key name is empty, no key will be set for that value.
   601  // If this submessage is specified, the normal host/path fields will be left
   602  // unset in the RouteLookupRequest. We are deprecating host/path in the
   603  // RouteLookupRequest, so services should migrate to the ExtraKeys approach.
   604  type GrpcKeyBuilder_ExtraKeys struct {
   605  	state         protoimpl.MessageState
   606  	sizeCache     protoimpl.SizeCache
   607  	unknownFields protoimpl.UnknownFields
   608  
   609  	Host    string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
   610  	Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`
   611  	Method  string `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"`
   612  }
   613  
   614  func (x *GrpcKeyBuilder_ExtraKeys) Reset() {
   615  	*x = GrpcKeyBuilder_ExtraKeys{}
   616  	if protoimpl.UnsafeEnabled {
   617  		mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[6]
   618  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   619  		ms.StoreMessageInfo(mi)
   620  	}
   621  }
   622  
   623  func (x *GrpcKeyBuilder_ExtraKeys) String() string {
   624  	return protoimpl.X.MessageStringOf(x)
   625  }
   626  
   627  func (*GrpcKeyBuilder_ExtraKeys) ProtoMessage() {}
   628  
   629  func (x *GrpcKeyBuilder_ExtraKeys) ProtoReflect() protoreflect.Message {
   630  	mi := &file_grpc_lookup_v1_rls_config_proto_msgTypes[6]
   631  	if protoimpl.UnsafeEnabled && x != nil {
   632  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   633  		if ms.LoadMessageInfo() == nil {
   634  			ms.StoreMessageInfo(mi)
   635  		}
   636  		return ms
   637  	}
   638  	return mi.MessageOf(x)
   639  }
   640  
   641  // Deprecated: Use GrpcKeyBuilder_ExtraKeys.ProtoReflect.Descriptor instead.
   642  func (*GrpcKeyBuilder_ExtraKeys) Descriptor() ([]byte, []int) {
   643  	return file_grpc_lookup_v1_rls_config_proto_rawDescGZIP(), []int{1, 1}
   644  }
   645  
   646  func (x *GrpcKeyBuilder_ExtraKeys) GetHost() string {
   647  	if x != nil {
   648  		return x.Host
   649  	}
   650  	return ""
   651  }
   652  
   653  func (x *GrpcKeyBuilder_ExtraKeys) GetService() string {
   654  	if x != nil {
   655  		return x.Service
   656  	}
   657  	return ""
   658  }
   659  
   660  func (x *GrpcKeyBuilder_ExtraKeys) GetMethod() string {
   661  	if x != nil {
   662  		return x.Method
   663  	}
   664  	return ""
   665  }
   666  
   667  var File_grpc_lookup_v1_rls_config_proto protoreflect.FileDescriptor
   668  
   669  var file_grpc_lookup_v1_rls_config_proto_rawDesc = []byte{
   670  	0x0a, 0x1f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2f, 0x76, 0x31,
   671  	0x2f, 0x72, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   672  	0x6f, 0x12, 0x0e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e, 0x76,
   673  	0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   674  	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   675  	0x6f, 0x22, 0x5c, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
   676  	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
   677  	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
   678  	0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75,
   679  	0x69, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
   680  	0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22,
   681  	0xf0, 0x03, 0x0a, 0x0e, 0x47, 0x72, 0x70, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64,
   682  	0x65, 0x72, 0x12, 0x39, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
   683  	0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e,
   684  	0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65,
   685  	0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x47, 0x0a,
   686  	0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
   687  	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e,
   688  	0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65,
   689  	0x72, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x09, 0x65, 0x78, 0x74,
   690  	0x72, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
   691  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c,
   692  	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74,
   693  	0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a,
   694  	0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04,
   695  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b,
   696  	0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69,
   697  	0x6c, 0x64, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x4b, 0x65, 0x79,
   698  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
   699  	0x4b, 0x65, 0x79, 0x73, 0x1a, 0x38, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
   700  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
   701  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
   702  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0x51,
   703  	0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68,
   704  	0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12,
   705  	0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
   706  	0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74,
   707  	0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f,
   708  	0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x4b, 0x65, 0x79,
   709  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
   710  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
   711  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
   712  	0x38, 0x01, 0x22, 0xf1, 0x02, 0x0a, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x79, 0x42, 0x75,
   713  	0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x61,
   714  	0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x6f,
   715  	0x73, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61,
   716  	0x74, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
   717  	0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12,
   718  	0x46, 0x0a, 0x10, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
   719  	0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63,
   720  	0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4d,
   721  	0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72,
   722  	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
   723  	0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
   724  	0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61,
   725  	0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x55,
   726  	0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18,
   727  	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f,
   728  	0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x79, 0x42, 0x75,
   729  	0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x4b, 0x65,
   730  	0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
   731  	0x74, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
   732  	0x74, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
   733  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
   734  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
   735  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x04, 0x0a, 0x11, 0x52, 0x6f, 0x75, 0x74, 0x65,
   736  	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x10,
   737  	0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73,
   738  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f,
   739  	0x6f, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x79, 0x42,
   740  	0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x79, 0x62,
   741  	0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x67, 0x72, 0x70, 0x63, 0x5f,
   742  	0x6b, 0x65, 0x79, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
   743  	0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e,
   744  	0x76, 0x31, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65,
   745  	0x72, 0x52, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x4b, 0x65, 0x79, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65,
   746  	0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x72,
   747  	0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b,
   748  	0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x16, 0x6c, 0x6f, 0x6f,
   749  	0x6b, 0x75, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
   750  	0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   751  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
   752  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76,
   753  	0x69, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x61,
   754  	0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
   755  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
   756  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x12, 0x36,
   757  	0x0a, 0x09, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
   758  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   759  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x74,
   760  	0x61, 0x6c, 0x65, 0x41, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
   761  	0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
   762  	0x52, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73,
   763  	0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
   764  	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x61,
   765  	0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
   766  	0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64,
   767  	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4a, 0x04, 0x08, 0x0a,
   768  	0x10, 0x0b, 0x52, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63,
   769  	0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22,
   770  	0x70, 0x0a, 0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6c,
   771  	0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x51,
   772  	0x0a, 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x63,
   773  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72,
   774  	0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75,
   775  	0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11,
   776  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69,
   777  	0x67, 0x42, 0x53, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6c, 0x6f, 0x6f,
   778  	0x6b, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x52, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
   779  	0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   780  	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63,
   781  	0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x6f, 0x6f,
   782  	0x6b, 0x75, 0x70, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   783  }
   784  
   785  var (
   786  	file_grpc_lookup_v1_rls_config_proto_rawDescOnce sync.Once
   787  	file_grpc_lookup_v1_rls_config_proto_rawDescData = file_grpc_lookup_v1_rls_config_proto_rawDesc
   788  )
   789  
   790  func file_grpc_lookup_v1_rls_config_proto_rawDescGZIP() []byte {
   791  	file_grpc_lookup_v1_rls_config_proto_rawDescOnce.Do(func() {
   792  		file_grpc_lookup_v1_rls_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_lookup_v1_rls_config_proto_rawDescData)
   793  	})
   794  	return file_grpc_lookup_v1_rls_config_proto_rawDescData
   795  }
   796  
   797  var file_grpc_lookup_v1_rls_config_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
   798  var file_grpc_lookup_v1_rls_config_proto_goTypes = []interface{}{
   799  	(*NameMatcher)(nil),                 // 0: grpc.lookup.v1.NameMatcher
   800  	(*GrpcKeyBuilder)(nil),              // 1: grpc.lookup.v1.GrpcKeyBuilder
   801  	(*HttpKeyBuilder)(nil),              // 2: grpc.lookup.v1.HttpKeyBuilder
   802  	(*RouteLookupConfig)(nil),           // 3: grpc.lookup.v1.RouteLookupConfig
   803  	(*RouteLookupClusterSpecifier)(nil), // 4: grpc.lookup.v1.RouteLookupClusterSpecifier
   804  	(*GrpcKeyBuilder_Name)(nil),         // 5: grpc.lookup.v1.GrpcKeyBuilder.Name
   805  	(*GrpcKeyBuilder_ExtraKeys)(nil),    // 6: grpc.lookup.v1.GrpcKeyBuilder.ExtraKeys
   806  	nil,                                 // 7: grpc.lookup.v1.GrpcKeyBuilder.ConstantKeysEntry
   807  	nil,                                 // 8: grpc.lookup.v1.HttpKeyBuilder.ConstantKeysEntry
   808  	(*durationpb.Duration)(nil),         // 9: google.protobuf.Duration
   809  }
   810  var file_grpc_lookup_v1_rls_config_proto_depIdxs = []int32{
   811  	5,  // 0: grpc.lookup.v1.GrpcKeyBuilder.names:type_name -> grpc.lookup.v1.GrpcKeyBuilder.Name
   812  	6,  // 1: grpc.lookup.v1.GrpcKeyBuilder.extra_keys:type_name -> grpc.lookup.v1.GrpcKeyBuilder.ExtraKeys
   813  	0,  // 2: grpc.lookup.v1.GrpcKeyBuilder.headers:type_name -> grpc.lookup.v1.NameMatcher
   814  	7,  // 3: grpc.lookup.v1.GrpcKeyBuilder.constant_keys:type_name -> grpc.lookup.v1.GrpcKeyBuilder.ConstantKeysEntry
   815  	0,  // 4: grpc.lookup.v1.HttpKeyBuilder.query_parameters:type_name -> grpc.lookup.v1.NameMatcher
   816  	0,  // 5: grpc.lookup.v1.HttpKeyBuilder.headers:type_name -> grpc.lookup.v1.NameMatcher
   817  	8,  // 6: grpc.lookup.v1.HttpKeyBuilder.constant_keys:type_name -> grpc.lookup.v1.HttpKeyBuilder.ConstantKeysEntry
   818  	2,  // 7: grpc.lookup.v1.RouteLookupConfig.http_keybuilders:type_name -> grpc.lookup.v1.HttpKeyBuilder
   819  	1,  // 8: grpc.lookup.v1.RouteLookupConfig.grpc_keybuilders:type_name -> grpc.lookup.v1.GrpcKeyBuilder
   820  	9,  // 9: grpc.lookup.v1.RouteLookupConfig.lookup_service_timeout:type_name -> google.protobuf.Duration
   821  	9,  // 10: grpc.lookup.v1.RouteLookupConfig.max_age:type_name -> google.protobuf.Duration
   822  	9,  // 11: grpc.lookup.v1.RouteLookupConfig.stale_age:type_name -> google.protobuf.Duration
   823  	3,  // 12: grpc.lookup.v1.RouteLookupClusterSpecifier.route_lookup_config:type_name -> grpc.lookup.v1.RouteLookupConfig
   824  	13, // [13:13] is the sub-list for method output_type
   825  	13, // [13:13] is the sub-list for method input_type
   826  	13, // [13:13] is the sub-list for extension type_name
   827  	13, // [13:13] is the sub-list for extension extendee
   828  	0,  // [0:13] is the sub-list for field type_name
   829  }
   830  
   831  func init() { file_grpc_lookup_v1_rls_config_proto_init() }
   832  func file_grpc_lookup_v1_rls_config_proto_init() {
   833  	if File_grpc_lookup_v1_rls_config_proto != nil {
   834  		return
   835  	}
   836  	if !protoimpl.UnsafeEnabled {
   837  		file_grpc_lookup_v1_rls_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   838  			switch v := v.(*NameMatcher); i {
   839  			case 0:
   840  				return &v.state
   841  			case 1:
   842  				return &v.sizeCache
   843  			case 2:
   844  				return &v.unknownFields
   845  			default:
   846  				return nil
   847  			}
   848  		}
   849  		file_grpc_lookup_v1_rls_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   850  			switch v := v.(*GrpcKeyBuilder); i {
   851  			case 0:
   852  				return &v.state
   853  			case 1:
   854  				return &v.sizeCache
   855  			case 2:
   856  				return &v.unknownFields
   857  			default:
   858  				return nil
   859  			}
   860  		}
   861  		file_grpc_lookup_v1_rls_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   862  			switch v := v.(*HttpKeyBuilder); i {
   863  			case 0:
   864  				return &v.state
   865  			case 1:
   866  				return &v.sizeCache
   867  			case 2:
   868  				return &v.unknownFields
   869  			default:
   870  				return nil
   871  			}
   872  		}
   873  		file_grpc_lookup_v1_rls_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   874  			switch v := v.(*RouteLookupConfig); i {
   875  			case 0:
   876  				return &v.state
   877  			case 1:
   878  				return &v.sizeCache
   879  			case 2:
   880  				return &v.unknownFields
   881  			default:
   882  				return nil
   883  			}
   884  		}
   885  		file_grpc_lookup_v1_rls_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   886  			switch v := v.(*RouteLookupClusterSpecifier); i {
   887  			case 0:
   888  				return &v.state
   889  			case 1:
   890  				return &v.sizeCache
   891  			case 2:
   892  				return &v.unknownFields
   893  			default:
   894  				return nil
   895  			}
   896  		}
   897  		file_grpc_lookup_v1_rls_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
   898  			switch v := v.(*GrpcKeyBuilder_Name); i {
   899  			case 0:
   900  				return &v.state
   901  			case 1:
   902  				return &v.sizeCache
   903  			case 2:
   904  				return &v.unknownFields
   905  			default:
   906  				return nil
   907  			}
   908  		}
   909  		file_grpc_lookup_v1_rls_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
   910  			switch v := v.(*GrpcKeyBuilder_ExtraKeys); i {
   911  			case 0:
   912  				return &v.state
   913  			case 1:
   914  				return &v.sizeCache
   915  			case 2:
   916  				return &v.unknownFields
   917  			default:
   918  				return nil
   919  			}
   920  		}
   921  	}
   922  	type x struct{}
   923  	out := protoimpl.TypeBuilder{
   924  		File: protoimpl.DescBuilder{
   925  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   926  			RawDescriptor: file_grpc_lookup_v1_rls_config_proto_rawDesc,
   927  			NumEnums:      0,
   928  			NumMessages:   9,
   929  			NumExtensions: 0,
   930  			NumServices:   0,
   931  		},
   932  		GoTypes:           file_grpc_lookup_v1_rls_config_proto_goTypes,
   933  		DependencyIndexes: file_grpc_lookup_v1_rls_config_proto_depIdxs,
   934  		MessageInfos:      file_grpc_lookup_v1_rls_config_proto_msgTypes,
   935  	}.Build()
   936  	File_grpc_lookup_v1_rls_config_proto = out.File
   937  	file_grpc_lookup_v1_rls_config_proto_rawDesc = nil
   938  	file_grpc_lookup_v1_rls_config_proto_goTypes = nil
   939  	file_grpc_lookup_v1_rls_config_proto_depIdxs = nil
   940  }