...

Source file src/google.golang.org/grpc/internal/proto/grpc_lookup_v1/rls_config.pb.go

Documentation: google.golang.org/grpc/internal/proto/grpc_lookup_v1

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

View as plain text