1// Code generated by protoc-gen-go. DO NOT EDIT. 2// versions: 3// protoc-gen-go v1.25.0 4// protoc v3.14.0 5// source: envoy/config/listener/v3/listener_components.proto 6 7package envoy_config_listener_v3 8 9import ( 10 _ "github.com/cncf/xds/go/udpa/annotations" 11 _ "github.com/envoyproxy/go-control-plane/envoy/annotations" 12 v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3" 13 v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3" 14 v32 "github.com/envoyproxy/go-control-plane/envoy/type/v3" 15 _ "github.com/envoyproxy/protoc-gen-validate/validate" 16 proto "github.com/golang/protobuf/proto" 17 any "github.com/golang/protobuf/ptypes/any" 18 duration "github.com/golang/protobuf/ptypes/duration" 19 _struct "github.com/golang/protobuf/ptypes/struct" 20 wrappers "github.com/golang/protobuf/ptypes/wrappers" 21 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 22 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 23 reflect "reflect" 24 sync "sync" 25) 26 27const ( 28 // Verify that this generated code is sufficiently up-to-date. 29 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 30 // Verify that runtime/protoimpl is sufficiently up-to-date. 31 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 32) 33 34// This is a compile-time assertion that a sufficiently up-to-date version 35// of the legacy proto package is being used. 36const _ = proto.ProtoPackageIsVersion4 37 38type FilterChainMatch_ConnectionSourceType int32 39 40const ( 41 // Any connection source matches. 42 FilterChainMatch_ANY FilterChainMatch_ConnectionSourceType = 0 43 // Match a connection originating from the same host. 44 FilterChainMatch_SAME_IP_OR_LOOPBACK FilterChainMatch_ConnectionSourceType = 1 45 // Match a connection originating from a different host. 46 FilterChainMatch_EXTERNAL FilterChainMatch_ConnectionSourceType = 2 47) 48 49// Enum value maps for FilterChainMatch_ConnectionSourceType. 50var ( 51 FilterChainMatch_ConnectionSourceType_name = map[int32]string{ 52 0: "ANY", 53 1: "SAME_IP_OR_LOOPBACK", 54 2: "EXTERNAL", 55 } 56 FilterChainMatch_ConnectionSourceType_value = map[string]int32{ 57 "ANY": 0, 58 "SAME_IP_OR_LOOPBACK": 1, 59 "EXTERNAL": 2, 60 } 61) 62 63func (x FilterChainMatch_ConnectionSourceType) Enum() *FilterChainMatch_ConnectionSourceType { 64 p := new(FilterChainMatch_ConnectionSourceType) 65 *p = x 66 return p 67} 68 69func (x FilterChainMatch_ConnectionSourceType) String() string { 70 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 71} 72 73func (FilterChainMatch_ConnectionSourceType) Descriptor() protoreflect.EnumDescriptor { 74 return file_envoy_config_listener_v3_listener_components_proto_enumTypes[0].Descriptor() 75} 76 77func (FilterChainMatch_ConnectionSourceType) Type() protoreflect.EnumType { 78 return &file_envoy_config_listener_v3_listener_components_proto_enumTypes[0] 79} 80 81func (x FilterChainMatch_ConnectionSourceType) Number() protoreflect.EnumNumber { 82 return protoreflect.EnumNumber(x) 83} 84 85// Deprecated: Use FilterChainMatch_ConnectionSourceType.Descriptor instead. 86func (FilterChainMatch_ConnectionSourceType) EnumDescriptor() ([]byte, []int) { 87 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{1, 0} 88} 89 90// [#next-free-field: 6] 91type Filter struct { 92 state protoimpl.MessageState 93 sizeCache protoimpl.SizeCache 94 unknownFields protoimpl.UnknownFields 95 96 // The name of the filter to instantiate. The name must match a 97 // :ref:`supported filter <config_network_filters>`. 98 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 99 // Types that are assignable to ConfigType: 100 // *Filter_TypedConfig 101 // *Filter_ConfigDiscovery 102 // *Filter_HiddenEnvoyDeprecatedConfig 103 ConfigType isFilter_ConfigType `protobuf_oneof:"config_type"` 104} 105 106func (x *Filter) Reset() { 107 *x = Filter{} 108 if protoimpl.UnsafeEnabled { 109 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[0] 110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 111 ms.StoreMessageInfo(mi) 112 } 113} 114 115func (x *Filter) String() string { 116 return protoimpl.X.MessageStringOf(x) 117} 118 119func (*Filter) ProtoMessage() {} 120 121func (x *Filter) ProtoReflect() protoreflect.Message { 122 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[0] 123 if protoimpl.UnsafeEnabled && x != nil { 124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 125 if ms.LoadMessageInfo() == nil { 126 ms.StoreMessageInfo(mi) 127 } 128 return ms 129 } 130 return mi.MessageOf(x) 131} 132 133// Deprecated: Use Filter.ProtoReflect.Descriptor instead. 134func (*Filter) Descriptor() ([]byte, []int) { 135 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{0} 136} 137 138func (x *Filter) GetName() string { 139 if x != nil { 140 return x.Name 141 } 142 return "" 143} 144 145func (m *Filter) GetConfigType() isFilter_ConfigType { 146 if m != nil { 147 return m.ConfigType 148 } 149 return nil 150} 151 152func (x *Filter) GetTypedConfig() *any.Any { 153 if x, ok := x.GetConfigType().(*Filter_TypedConfig); ok { 154 return x.TypedConfig 155 } 156 return nil 157} 158 159func (x *Filter) GetConfigDiscovery() *v3.ExtensionConfigSource { 160 if x, ok := x.GetConfigType().(*Filter_ConfigDiscovery); ok { 161 return x.ConfigDiscovery 162 } 163 return nil 164} 165 166// Deprecated: Do not use. 167func (x *Filter) GetHiddenEnvoyDeprecatedConfig() *_struct.Struct { 168 if x, ok := x.GetConfigType().(*Filter_HiddenEnvoyDeprecatedConfig); ok { 169 return x.HiddenEnvoyDeprecatedConfig 170 } 171 return nil 172} 173 174type isFilter_ConfigType interface { 175 isFilter_ConfigType() 176} 177 178type Filter_TypedConfig struct { 179 // Filter specific configuration which depends on the filter being 180 // instantiated. See the supported filters for further documentation. 181 // [#extension-category: envoy.filters.network] 182 TypedConfig *any.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` 183} 184 185type Filter_ConfigDiscovery struct { 186 // Configuration source specifier for an extension configuration discovery 187 // service. In case of a failure and without the default configuration, the 188 // listener closes the connections. 189 // [#not-implemented-hide:] 190 ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"` 191} 192 193type Filter_HiddenEnvoyDeprecatedConfig struct { 194 // Deprecated: Do not use. 195 HiddenEnvoyDeprecatedConfig *_struct.Struct `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_config,json=hiddenEnvoyDeprecatedConfig,proto3,oneof"` 196} 197 198func (*Filter_TypedConfig) isFilter_ConfigType() {} 199 200func (*Filter_ConfigDiscovery) isFilter_ConfigType() {} 201 202func (*Filter_HiddenEnvoyDeprecatedConfig) isFilter_ConfigType() {} 203 204// Specifies the match criteria for selecting a specific filter chain for a 205// listener. 206// 207// In order for a filter chain to be selected, *ALL* of its criteria must be 208// fulfilled by the incoming connection, properties of which are set by the 209// networking stack and/or listener filters. 210// 211// The following order applies: 212// 213// 1. Destination port. 214// 2. Destination IP address. 215// 3. Server name (e.g. SNI for TLS protocol), 216// 4. Transport protocol. 217// 5. Application protocols (e.g. ALPN for TLS protocol). 218// 6. Source type (e.g. any, local or external network). 219// 7. Source IP address. 220// 8. Source port. 221// 222// For criteria that allow ranges or wildcards, the most specific value in any 223// of the configured filter chains that matches the incoming connection is going 224// to be used (e.g. for SNI ``www.example.com`` the most specific match would be 225// ``www.example.com``, then ``*.example.com``, then ``*.com``, then any filter 226// chain without ``server_names`` requirements). 227// 228// A different way to reason about the filter chain matches: 229// Suppose there exists N filter chains. Prune the filter chain set using the above 8 steps. 230// In each step, filter chains which most specifically matches the attributes continue to the next step. 231// The listener guarantees at most 1 filter chain is left after all of the steps. 232// 233// Example: 234// 235// For destination port, filter chains specifying the destination port of incoming traffic are the 236// most specific match. If none of the filter chains specifies the exact destination port, the filter 237// chains which do not specify ports are the most specific match. Filter chains specifying the 238// wrong port can never be the most specific match. 239// 240// [#comment: Implemented rules are kept in the preference order, with deprecated fields 241// listed at the end, because that's how we want to list them in the docs. 242// 243// [#comment:TODO(PiotrSikora): Add support for configurable precedence of the rules] 244// [#next-free-field: 13] 245type FilterChainMatch struct { 246 state protoimpl.MessageState 247 sizeCache protoimpl.SizeCache 248 unknownFields protoimpl.UnknownFields 249 250 // Optional destination port to consider when use_original_dst is set on the 251 // listener in determining a filter chain match. 252 DestinationPort *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` 253 // If non-empty, an IP address and prefix length to match addresses when the 254 // listener is bound to 0.0.0.0/:: or when use_original_dst is specified. 255 PrefixRanges []*v3.CidrRange `protobuf:"bytes,3,rep,name=prefix_ranges,json=prefixRanges,proto3" json:"prefix_ranges,omitempty"` 256 // If non-empty, an IP address and suffix length to match addresses when the 257 // listener is bound to 0.0.0.0/:: or when use_original_dst is specified. 258 // [#not-implemented-hide:] 259 AddressSuffix string `protobuf:"bytes,4,opt,name=address_suffix,json=addressSuffix,proto3" json:"address_suffix,omitempty"` 260 // [#not-implemented-hide:] 261 SuffixLen *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen,proto3" json:"suffix_len,omitempty"` 262 // Specifies the connection source IP match type. Can be any, local or external network. 263 SourceType FilterChainMatch_ConnectionSourceType `protobuf:"varint,12,opt,name=source_type,json=sourceType,proto3,enum=envoy.config.listener.v3.FilterChainMatch_ConnectionSourceType" json:"source_type,omitempty"` 264 // The criteria is satisfied if the source IP address of the downstream 265 // connection is contained in at least one of the specified subnets. If the 266 // parameter is not specified or the list is empty, the source IP address is 267 // ignored. 268 SourcePrefixRanges []*v3.CidrRange `protobuf:"bytes,6,rep,name=source_prefix_ranges,json=sourcePrefixRanges,proto3" json:"source_prefix_ranges,omitempty"` 269 // The criteria is satisfied if the source port of the downstream connection 270 // is contained in at least one of the specified ports. If the parameter is 271 // not specified, the source port is ignored. 272 SourcePorts []uint32 `protobuf:"varint,7,rep,packed,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"` 273 // If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining 274 // a filter chain match. Those values will be compared against the server names of a new 275 // connection, when detected by one of the listener filters. 276 // 277 // The server name will be matched against all wildcard domains, i.e. ``www.example.com`` 278 // will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``. 279 // 280 // Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid. 281 // 282 // .. attention:: 283 // 284 // See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more 285 // information. 286 ServerNames []string `protobuf:"bytes,11,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"` 287 // If non-empty, a transport protocol to consider when determining a filter chain match. 288 // This value will be compared against the transport protocol of a new connection, when 289 // it's detected by one of the listener filters. 290 // 291 // Suggested values include: 292 // 293 // * ``raw_buffer`` - default, used when no transport protocol is detected, 294 // * ``tls`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` 295 // when TLS protocol is detected. 296 TransportProtocol string `protobuf:"bytes,9,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"` 297 // If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when 298 // determining a filter chain match. Those values will be compared against the application 299 // protocols of a new connection, when detected by one of the listener filters. 300 // 301 // Suggested values include: 302 // 303 // * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector 304 // <config_listener_filters_tls_inspector>`, 305 // * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` 306 // 307 // .. attention:: 308 // 309 // Currently, only :ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides 310 // application protocol detection based on the requested 311 // `ALPN <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_ values. 312 // 313 // However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet, 314 // and matching on values other than ``h2`` is going to lead to a lot of false negatives, 315 // unless all connecting clients are known to use ALPN. 316 ApplicationProtocols []string `protobuf:"bytes,10,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` 317} 318 319func (x *FilterChainMatch) Reset() { 320 *x = FilterChainMatch{} 321 if protoimpl.UnsafeEnabled { 322 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[1] 323 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 324 ms.StoreMessageInfo(mi) 325 } 326} 327 328func (x *FilterChainMatch) String() string { 329 return protoimpl.X.MessageStringOf(x) 330} 331 332func (*FilterChainMatch) ProtoMessage() {} 333 334func (x *FilterChainMatch) ProtoReflect() protoreflect.Message { 335 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[1] 336 if protoimpl.UnsafeEnabled && x != nil { 337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 338 if ms.LoadMessageInfo() == nil { 339 ms.StoreMessageInfo(mi) 340 } 341 return ms 342 } 343 return mi.MessageOf(x) 344} 345 346// Deprecated: Use FilterChainMatch.ProtoReflect.Descriptor instead. 347func (*FilterChainMatch) Descriptor() ([]byte, []int) { 348 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{1} 349} 350 351func (x *FilterChainMatch) GetDestinationPort() *wrappers.UInt32Value { 352 if x != nil { 353 return x.DestinationPort 354 } 355 return nil 356} 357 358func (x *FilterChainMatch) GetPrefixRanges() []*v3.CidrRange { 359 if x != nil { 360 return x.PrefixRanges 361 } 362 return nil 363} 364 365func (x *FilterChainMatch) GetAddressSuffix() string { 366 if x != nil { 367 return x.AddressSuffix 368 } 369 return "" 370} 371 372func (x *FilterChainMatch) GetSuffixLen() *wrappers.UInt32Value { 373 if x != nil { 374 return x.SuffixLen 375 } 376 return nil 377} 378 379func (x *FilterChainMatch) GetSourceType() FilterChainMatch_ConnectionSourceType { 380 if x != nil { 381 return x.SourceType 382 } 383 return FilterChainMatch_ANY 384} 385 386func (x *FilterChainMatch) GetSourcePrefixRanges() []*v3.CidrRange { 387 if x != nil { 388 return x.SourcePrefixRanges 389 } 390 return nil 391} 392 393func (x *FilterChainMatch) GetSourcePorts() []uint32 { 394 if x != nil { 395 return x.SourcePorts 396 } 397 return nil 398} 399 400func (x *FilterChainMatch) GetServerNames() []string { 401 if x != nil { 402 return x.ServerNames 403 } 404 return nil 405} 406 407func (x *FilterChainMatch) GetTransportProtocol() string { 408 if x != nil { 409 return x.TransportProtocol 410 } 411 return "" 412} 413 414func (x *FilterChainMatch) GetApplicationProtocols() []string { 415 if x != nil { 416 return x.ApplicationProtocols 417 } 418 return nil 419} 420 421// A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and 422// various other parameters. 423// [#next-free-field: 10] 424type FilterChain struct { 425 state protoimpl.MessageState 426 sizeCache protoimpl.SizeCache 427 unknownFields protoimpl.UnknownFields 428 429 // The criteria to use when matching a connection to this filter chain. 430 FilterChainMatch *FilterChainMatch `protobuf:"bytes,1,opt,name=filter_chain_match,json=filterChainMatch,proto3" json:"filter_chain_match,omitempty"` 431 // A list of individual network filters that make up the filter chain for 432 // connections established with the listener. Order matters as the filters are 433 // processed sequentially as connection events happen. Note: If the filter 434 // list is empty, the connection will close by default. 435 Filters []*Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` 436 // Whether the listener should expect a PROXY protocol V1 header on new 437 // connections. If this option is enabled, the listener will assume that that 438 // remote address of the connection is the one specified in the header. Some 439 // load balancers including the AWS ELB support this option. If the option is 440 // absent or set to false, Envoy will use the physical peer address of the 441 // connection as the remote address. 442 // 443 // This field is deprecated. Add a 444 // :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>` 445 // explicitly instead. 446 // 447 // Deprecated: Do not use. 448 UseProxyProto *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"` 449 // [#not-implemented-hide:] filter chain metadata. 450 Metadata *v3.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` 451 // Optional custom transport socket implementation to use for downstream connections. 452 // To setup TLS, set a transport socket with name `tls` and 453 // :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the `typed_config`. 454 // If no transport socket configuration is specified, new connections 455 // will be set up with plaintext. 456 // [#extension-category: envoy.transport_sockets.downstream] 457 TransportSocket *v3.TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"` 458 // If present and nonzero, the amount of time to allow incoming connections to complete any 459 // transport socket negotiations. If this expires before the transport reports connection 460 // establishment, the connection is summarily closed. 461 TransportSocketConnectTimeout *duration.Duration `protobuf:"bytes,9,opt,name=transport_socket_connect_timeout,json=transportSocketConnectTimeout,proto3" json:"transport_socket_connect_timeout,omitempty"` 462 // [#not-implemented-hide:] The unique name (or empty) by which this filter chain is known. If no 463 // name is provided, Envoy will allocate an internal UUID for the filter chain. If the filter 464 // chain is to be dynamically updated or removed via FCDS a unique name must be provided. 465 Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` 466 // [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand. 467 // If this field is not empty, the filter chain will be built on-demand. 468 // Otherwise, the filter chain will be built normally and block listener warming. 469 OnDemandConfiguration *FilterChain_OnDemandConfiguration `protobuf:"bytes,8,opt,name=on_demand_configuration,json=onDemandConfiguration,proto3" json:"on_demand_configuration,omitempty"` 470 // Deprecated: Do not use. 471 HiddenEnvoyDeprecatedTlsContext *v31.DownstreamTlsContext `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_tls_context,json=hiddenEnvoyDeprecatedTlsContext,proto3" json:"hidden_envoy_deprecated_tls_context,omitempty"` 472} 473 474func (x *FilterChain) Reset() { 475 *x = FilterChain{} 476 if protoimpl.UnsafeEnabled { 477 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[2] 478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 479 ms.StoreMessageInfo(mi) 480 } 481} 482 483func (x *FilterChain) String() string { 484 return protoimpl.X.MessageStringOf(x) 485} 486 487func (*FilterChain) ProtoMessage() {} 488 489func (x *FilterChain) ProtoReflect() protoreflect.Message { 490 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[2] 491 if protoimpl.UnsafeEnabled && x != nil { 492 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 493 if ms.LoadMessageInfo() == nil { 494 ms.StoreMessageInfo(mi) 495 } 496 return ms 497 } 498 return mi.MessageOf(x) 499} 500 501// Deprecated: Use FilterChain.ProtoReflect.Descriptor instead. 502func (*FilterChain) Descriptor() ([]byte, []int) { 503 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{2} 504} 505 506func (x *FilterChain) GetFilterChainMatch() *FilterChainMatch { 507 if x != nil { 508 return x.FilterChainMatch 509 } 510 return nil 511} 512 513func (x *FilterChain) GetFilters() []*Filter { 514 if x != nil { 515 return x.Filters 516 } 517 return nil 518} 519 520// Deprecated: Do not use. 521func (x *FilterChain) GetUseProxyProto() *wrappers.BoolValue { 522 if x != nil { 523 return x.UseProxyProto 524 } 525 return nil 526} 527 528func (x *FilterChain) GetMetadata() *v3.Metadata { 529 if x != nil { 530 return x.Metadata 531 } 532 return nil 533} 534 535func (x *FilterChain) GetTransportSocket() *v3.TransportSocket { 536 if x != nil { 537 return x.TransportSocket 538 } 539 return nil 540} 541 542func (x *FilterChain) GetTransportSocketConnectTimeout() *duration.Duration { 543 if x != nil { 544 return x.TransportSocketConnectTimeout 545 } 546 return nil 547} 548 549func (x *FilterChain) GetName() string { 550 if x != nil { 551 return x.Name 552 } 553 return "" 554} 555 556func (x *FilterChain) GetOnDemandConfiguration() *FilterChain_OnDemandConfiguration { 557 if x != nil { 558 return x.OnDemandConfiguration 559 } 560 return nil 561} 562 563// Deprecated: Do not use. 564func (x *FilterChain) GetHiddenEnvoyDeprecatedTlsContext() *v31.DownstreamTlsContext { 565 if x != nil { 566 return x.HiddenEnvoyDeprecatedTlsContext 567 } 568 return nil 569} 570 571// Listener filter chain match configuration. This is a recursive structure which allows complex 572// nested match configurations to be built using various logical operators. 573// 574// Examples: 575// 576// * Matches if the destination port is 3306. 577// 578// .. code-block:: yaml 579// 580// destination_port_range: 581// start: 3306 582// end: 3307 583// 584// * Matches if the destination port is 3306 or 15000. 585// 586// .. code-block:: yaml 587// 588// or_match: 589// rules: 590// - destination_port_range: 591// start: 3306 592// end: 3306 593// - destination_port_range: 594// start: 15000 595// end: 15001 596// 597// [#next-free-field: 6] 598type ListenerFilterChainMatchPredicate struct { 599 state protoimpl.MessageState 600 sizeCache protoimpl.SizeCache 601 unknownFields protoimpl.UnknownFields 602 603 // Types that are assignable to Rule: 604 // *ListenerFilterChainMatchPredicate_OrMatch 605 // *ListenerFilterChainMatchPredicate_AndMatch 606 // *ListenerFilterChainMatchPredicate_NotMatch 607 // *ListenerFilterChainMatchPredicate_AnyMatch 608 // *ListenerFilterChainMatchPredicate_DestinationPortRange 609 Rule isListenerFilterChainMatchPredicate_Rule `protobuf_oneof:"rule"` 610} 611 612func (x *ListenerFilterChainMatchPredicate) Reset() { 613 *x = ListenerFilterChainMatchPredicate{} 614 if protoimpl.UnsafeEnabled { 615 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[3] 616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 617 ms.StoreMessageInfo(mi) 618 } 619} 620 621func (x *ListenerFilterChainMatchPredicate) String() string { 622 return protoimpl.X.MessageStringOf(x) 623} 624 625func (*ListenerFilterChainMatchPredicate) ProtoMessage() {} 626 627func (x *ListenerFilterChainMatchPredicate) ProtoReflect() protoreflect.Message { 628 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[3] 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 ListenerFilterChainMatchPredicate.ProtoReflect.Descriptor instead. 640func (*ListenerFilterChainMatchPredicate) Descriptor() ([]byte, []int) { 641 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{3} 642} 643 644func (m *ListenerFilterChainMatchPredicate) GetRule() isListenerFilterChainMatchPredicate_Rule { 645 if m != nil { 646 return m.Rule 647 } 648 return nil 649} 650 651func (x *ListenerFilterChainMatchPredicate) GetOrMatch() *ListenerFilterChainMatchPredicate_MatchSet { 652 if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_OrMatch); ok { 653 return x.OrMatch 654 } 655 return nil 656} 657 658func (x *ListenerFilterChainMatchPredicate) GetAndMatch() *ListenerFilterChainMatchPredicate_MatchSet { 659 if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AndMatch); ok { 660 return x.AndMatch 661 } 662 return nil 663} 664 665func (x *ListenerFilterChainMatchPredicate) GetNotMatch() *ListenerFilterChainMatchPredicate { 666 if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_NotMatch); ok { 667 return x.NotMatch 668 } 669 return nil 670} 671 672func (x *ListenerFilterChainMatchPredicate) GetAnyMatch() bool { 673 if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AnyMatch); ok { 674 return x.AnyMatch 675 } 676 return false 677} 678 679func (x *ListenerFilterChainMatchPredicate) GetDestinationPortRange() *v32.Int32Range { 680 if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_DestinationPortRange); ok { 681 return x.DestinationPortRange 682 } 683 return nil 684} 685 686type isListenerFilterChainMatchPredicate_Rule interface { 687 isListenerFilterChainMatchPredicate_Rule() 688} 689 690type ListenerFilterChainMatchPredicate_OrMatch struct { 691 // A set that describes a logical OR. If any member of the set matches, the match configuration 692 // matches. 693 OrMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"` 694} 695 696type ListenerFilterChainMatchPredicate_AndMatch struct { 697 // A set that describes a logical AND. If all members of the set match, the match configuration 698 // matches. 699 AndMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"` 700} 701 702type ListenerFilterChainMatchPredicate_NotMatch struct { 703 // A negation match. The match configuration will match if the negated match condition matches. 704 NotMatch *ListenerFilterChainMatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"` 705} 706 707type ListenerFilterChainMatchPredicate_AnyMatch struct { 708 // The match configuration will always match. 709 AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"` 710} 711 712type ListenerFilterChainMatchPredicate_DestinationPortRange struct { 713 // Match destination port. Particularly, the match evaluation must use the recovered local port if 714 // the owning listener filter is after :ref:`an original_dst listener filter <config_listener_filters_original_dst>`. 715 DestinationPortRange *v32.Int32Range `protobuf:"bytes,5,opt,name=destination_port_range,json=destinationPortRange,proto3,oneof"` 716} 717 718func (*ListenerFilterChainMatchPredicate_OrMatch) isListenerFilterChainMatchPredicate_Rule() {} 719 720func (*ListenerFilterChainMatchPredicate_AndMatch) isListenerFilterChainMatchPredicate_Rule() {} 721 722func (*ListenerFilterChainMatchPredicate_NotMatch) isListenerFilterChainMatchPredicate_Rule() {} 723 724func (*ListenerFilterChainMatchPredicate_AnyMatch) isListenerFilterChainMatchPredicate_Rule() {} 725 726func (*ListenerFilterChainMatchPredicate_DestinationPortRange) isListenerFilterChainMatchPredicate_Rule() { 727} 728 729type ListenerFilter struct { 730 state protoimpl.MessageState 731 sizeCache protoimpl.SizeCache 732 unknownFields protoimpl.UnknownFields 733 734 // The name of the filter to instantiate. The name must match a 735 // :ref:`supported filter <config_listener_filters>`. 736 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 737 // Types that are assignable to ConfigType: 738 // *ListenerFilter_TypedConfig 739 // *ListenerFilter_HiddenEnvoyDeprecatedConfig 740 ConfigType isListenerFilter_ConfigType `protobuf_oneof:"config_type"` 741 // Optional match predicate used to disable the filter. The filter is enabled when this field is empty. 742 // See :ref:`ListenerFilterChainMatchPredicate <envoy_v3_api_msg_config.listener.v3.ListenerFilterChainMatchPredicate>` 743 // for further examples. 744 FilterDisabled *ListenerFilterChainMatchPredicate `protobuf:"bytes,4,opt,name=filter_disabled,json=filterDisabled,proto3" json:"filter_disabled,omitempty"` 745} 746 747func (x *ListenerFilter) Reset() { 748 *x = ListenerFilter{} 749 if protoimpl.UnsafeEnabled { 750 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[4] 751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 752 ms.StoreMessageInfo(mi) 753 } 754} 755 756func (x *ListenerFilter) String() string { 757 return protoimpl.X.MessageStringOf(x) 758} 759 760func (*ListenerFilter) ProtoMessage() {} 761 762func (x *ListenerFilter) ProtoReflect() protoreflect.Message { 763 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[4] 764 if protoimpl.UnsafeEnabled && x != nil { 765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 766 if ms.LoadMessageInfo() == nil { 767 ms.StoreMessageInfo(mi) 768 } 769 return ms 770 } 771 return mi.MessageOf(x) 772} 773 774// Deprecated: Use ListenerFilter.ProtoReflect.Descriptor instead. 775func (*ListenerFilter) Descriptor() ([]byte, []int) { 776 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{4} 777} 778 779func (x *ListenerFilter) GetName() string { 780 if x != nil { 781 return x.Name 782 } 783 return "" 784} 785 786func (m *ListenerFilter) GetConfigType() isListenerFilter_ConfigType { 787 if m != nil { 788 return m.ConfigType 789 } 790 return nil 791} 792 793func (x *ListenerFilter) GetTypedConfig() *any.Any { 794 if x, ok := x.GetConfigType().(*ListenerFilter_TypedConfig); ok { 795 return x.TypedConfig 796 } 797 return nil 798} 799 800// Deprecated: Do not use. 801func (x *ListenerFilter) GetHiddenEnvoyDeprecatedConfig() *_struct.Struct { 802 if x, ok := x.GetConfigType().(*ListenerFilter_HiddenEnvoyDeprecatedConfig); ok { 803 return x.HiddenEnvoyDeprecatedConfig 804 } 805 return nil 806} 807 808func (x *ListenerFilter) GetFilterDisabled() *ListenerFilterChainMatchPredicate { 809 if x != nil { 810 return x.FilterDisabled 811 } 812 return nil 813} 814 815type isListenerFilter_ConfigType interface { 816 isListenerFilter_ConfigType() 817} 818 819type ListenerFilter_TypedConfig struct { 820 // Filter specific configuration which depends on the filter being 821 // instantiated. See the supported filters for further documentation. 822 // [#extension-category: envoy.filters.listener,envoy.filters.udp_listener] 823 TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"` 824} 825 826type ListenerFilter_HiddenEnvoyDeprecatedConfig struct { 827 // Deprecated: Do not use. 828 HiddenEnvoyDeprecatedConfig *_struct.Struct `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_config,json=hiddenEnvoyDeprecatedConfig,proto3,oneof"` 829} 830 831func (*ListenerFilter_TypedConfig) isListenerFilter_ConfigType() {} 832 833func (*ListenerFilter_HiddenEnvoyDeprecatedConfig) isListenerFilter_ConfigType() {} 834 835// The configuration for on-demand filter chain. If this field is not empty in FilterChain message, 836// a filter chain will be built on-demand. 837// On-demand filter chains help speedup the warming up of listeners since the building and initialization of 838// an on-demand filter chain will be postponed to the arrival of new connection requests that require this filter chain. 839// Filter chains that are not often used can be set as on-demand. 840type FilterChain_OnDemandConfiguration struct { 841 state protoimpl.MessageState 842 sizeCache protoimpl.SizeCache 843 unknownFields protoimpl.UnknownFields 844 845 // The timeout to wait for filter chain placeholders to complete rebuilding. 846 // 1. If this field is set to 0, timeout is disabled. 847 // 2. If not specified, a default timeout of 15s is used. 848 // Rebuilding will wait until dependencies are ready, have failed, or this timeout is reached. 849 // Upon failure or timeout, all connections related to this filter chain will be closed. 850 // Rebuilding will start again on the next new connection. 851 RebuildTimeout *duration.Duration `protobuf:"bytes,1,opt,name=rebuild_timeout,json=rebuildTimeout,proto3" json:"rebuild_timeout,omitempty"` 852} 853 854func (x *FilterChain_OnDemandConfiguration) Reset() { 855 *x = FilterChain_OnDemandConfiguration{} 856 if protoimpl.UnsafeEnabled { 857 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[5] 858 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 859 ms.StoreMessageInfo(mi) 860 } 861} 862 863func (x *FilterChain_OnDemandConfiguration) String() string { 864 return protoimpl.X.MessageStringOf(x) 865} 866 867func (*FilterChain_OnDemandConfiguration) ProtoMessage() {} 868 869func (x *FilterChain_OnDemandConfiguration) ProtoReflect() protoreflect.Message { 870 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[5] 871 if protoimpl.UnsafeEnabled && x != nil { 872 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 873 if ms.LoadMessageInfo() == nil { 874 ms.StoreMessageInfo(mi) 875 } 876 return ms 877 } 878 return mi.MessageOf(x) 879} 880 881// Deprecated: Use FilterChain_OnDemandConfiguration.ProtoReflect.Descriptor instead. 882func (*FilterChain_OnDemandConfiguration) Descriptor() ([]byte, []int) { 883 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{2, 0} 884} 885 886func (x *FilterChain_OnDemandConfiguration) GetRebuildTimeout() *duration.Duration { 887 if x != nil { 888 return x.RebuildTimeout 889 } 890 return nil 891} 892 893// A set of match configurations used for logical operations. 894type ListenerFilterChainMatchPredicate_MatchSet struct { 895 state protoimpl.MessageState 896 sizeCache protoimpl.SizeCache 897 unknownFields protoimpl.UnknownFields 898 899 // The list of rules that make up the set. 900 Rules []*ListenerFilterChainMatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` 901} 902 903func (x *ListenerFilterChainMatchPredicate_MatchSet) Reset() { 904 *x = ListenerFilterChainMatchPredicate_MatchSet{} 905 if protoimpl.UnsafeEnabled { 906 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[6] 907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 908 ms.StoreMessageInfo(mi) 909 } 910} 911 912func (x *ListenerFilterChainMatchPredicate_MatchSet) String() string { 913 return protoimpl.X.MessageStringOf(x) 914} 915 916func (*ListenerFilterChainMatchPredicate_MatchSet) ProtoMessage() {} 917 918func (x *ListenerFilterChainMatchPredicate_MatchSet) ProtoReflect() protoreflect.Message { 919 mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[6] 920 if protoimpl.UnsafeEnabled && x != nil { 921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 922 if ms.LoadMessageInfo() == nil { 923 ms.StoreMessageInfo(mi) 924 } 925 return ms 926 } 927 return mi.MessageOf(x) 928} 929 930// Deprecated: Use ListenerFilterChainMatchPredicate_MatchSet.ProtoReflect.Descriptor instead. 931func (*ListenerFilterChainMatchPredicate_MatchSet) Descriptor() ([]byte, []int) { 932 return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{3, 0} 933} 934 935func (x *ListenerFilterChainMatchPredicate_MatchSet) GetRules() []*ListenerFilterChainMatchPredicate { 936 if x != nil { 937 return x.Rules 938 } 939 return nil 940} 941 942var File_envoy_config_listener_v3_listener_components_proto protoreflect.FileDescriptor 943 944var file_envoy_config_listener_v3_listener_components_proto_rawDesc = []byte{ 945 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 946 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65, 947 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 948 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 949 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22, 950 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 951 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 952 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 953 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 954 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 955 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 956 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79, 957 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e, 958 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c, 959 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 960 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 961 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 962 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 963 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 964 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 965 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 966 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 967 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 968 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 969 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 970 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 971 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 972 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 973 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 974 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 975 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 976 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 977 0x74, 0x6f, 0x22, 0xe1, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 978 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 979 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79, 980 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 981 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 982 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 983 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 984 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 985 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 986 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 987 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 988 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 989 0x6b, 0x0a, 0x1e, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 990 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 991 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 992 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 993 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x48, 0x00, 0x52, 994 0x1b, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 0x70, 0x72, 995 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x23, 0x9a, 0xc5, 996 0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 997 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 998 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 999 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x8a, 0x06, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, 1000 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x10, 0x64, 1001 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 1002 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1003 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 1004 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01, 1005 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 1006 0x74, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 1007 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 1008 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 1009 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 1010 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 1011 0x73, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 1012 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3b, 1013 0x0a, 0x0a, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 1014 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1015 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 1016 0x52, 0x09, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x6a, 0x0a, 0x0b, 0x73, 1017 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 1018 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 1019 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 1020 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 1021 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 1022 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 1023 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 1024 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 1025 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 1026 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64, 1027 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 1028 0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x6f, 1029 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 1030 0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 1031 0x28, 0x01, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 1032 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 1033 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 1034 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 1035 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 1036 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1037 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1038 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 1039 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 1040 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 1041 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 1042 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x4d, 0x45, 0x5f, 1043 0x49, 0x50, 0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 1044 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x3a, 0x2d, 1045 0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 1046 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 1047 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x04, 0x08, 1048 0x01, 0x10, 0x02, 0x22, 0x93, 0x07, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 1049 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 1050 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1051 0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 1052 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 1053 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x10, 0x66, 0x69, 0x6c, 1054 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a, 1055 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 1056 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 1057 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 1058 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x75, 0x73, 0x65, 1059 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 1060 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1061 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 1062 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x0d, 0x75, 0x73, 0x65, 1063 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 1064 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 1065 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 1066 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 1067 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 1068 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 1069 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 1070 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 1071 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 1072 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x62, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x6e, 1073 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 1074 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 1075 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1076 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1d, 0x74, 1077 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 1078 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 1079 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1080 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 1081 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 1082 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1083 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 1084 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 1085 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 1086 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 1087 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x23, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 1088 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 1089 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 1090 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 1091 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 1092 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e, 1093 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 1094 0x74, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 1095 0x30, 0x52, 0x1f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 1096 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 1097 0x78, 0x74, 0x1a, 0x5b, 0x0a, 0x15, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 1098 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x72, 1099 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 1100 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1101 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 1102 0x0e, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3a, 1103 0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 1104 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 1105 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xc2, 0x05, 0x0a, 0x21, 0x4c, 0x69, 1106 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 1107 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 1108 0x61, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 1109 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1110 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 1111 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 1112 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 1113 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74, 1114 0x63, 0x68, 0x12, 0x63, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 1115 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 1116 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 1117 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 1118 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 1119 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 1120 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 1121 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 1122 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 1123 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 1124 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 1125 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61, 1126 0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 1127 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48, 1128 0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x51, 0x0a, 0x16, 0x64, 1129 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 1130 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e, 1131 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x33, 1132 0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 1133 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xb0, 1134 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x05, 0x72, 1135 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 1136 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 1137 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 1138 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 1139 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 1140 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a, 1141 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 1142 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 1143 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 1144 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 1145 0x74, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 1146 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 1147 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 1148 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 1149 0x65, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf7, 1150 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 1151 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1152 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 1153 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 1154 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1155 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 1156 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x1e, 0x68, 0x69, 0x64, 1157 0x64, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 1158 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 1159 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1160 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 1161 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x48, 0x00, 0x52, 0x1b, 0x68, 0x69, 0x64, 0x64, 0x65, 1162 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 1163 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 1164 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 1165 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 1166 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 1167 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 1168 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x66, 0x69, 1169 0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x2b, 0x9a, 0xc5, 1170 0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 1171 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 1172 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 1173 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x4b, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 1174 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 1175 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 1176 0x76, 0x33, 0x42, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 1177 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 1178 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1179} 1180 1181var ( 1182 file_envoy_config_listener_v3_listener_components_proto_rawDescOnce sync.Once 1183 file_envoy_config_listener_v3_listener_components_proto_rawDescData = file_envoy_config_listener_v3_listener_components_proto_rawDesc 1184) 1185 1186func file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP() []byte { 1187 file_envoy_config_listener_v3_listener_components_proto_rawDescOnce.Do(func() { 1188 file_envoy_config_listener_v3_listener_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_listener_components_proto_rawDescData) 1189 }) 1190 return file_envoy_config_listener_v3_listener_components_proto_rawDescData 1191} 1192 1193var file_envoy_config_listener_v3_listener_components_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 1194var file_envoy_config_listener_v3_listener_components_proto_msgTypes = make([]protoimpl.MessageInfo, 7) 1195var file_envoy_config_listener_v3_listener_components_proto_goTypes = []interface{}{ 1196 (FilterChainMatch_ConnectionSourceType)(0), // 0: envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType 1197 (*Filter)(nil), // 1: envoy.config.listener.v3.Filter 1198 (*FilterChainMatch)(nil), // 2: envoy.config.listener.v3.FilterChainMatch 1199 (*FilterChain)(nil), // 3: envoy.config.listener.v3.FilterChain 1200 (*ListenerFilterChainMatchPredicate)(nil), // 4: envoy.config.listener.v3.ListenerFilterChainMatchPredicate 1201 (*ListenerFilter)(nil), // 5: envoy.config.listener.v3.ListenerFilter 1202 (*FilterChain_OnDemandConfiguration)(nil), // 6: envoy.config.listener.v3.FilterChain.OnDemandConfiguration 1203 (*ListenerFilterChainMatchPredicate_MatchSet)(nil), // 7: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet 1204 (*any.Any)(nil), // 8: google.protobuf.Any 1205 (*v3.ExtensionConfigSource)(nil), // 9: envoy.config.core.v3.ExtensionConfigSource 1206 (*_struct.Struct)(nil), // 10: google.protobuf.Struct 1207 (*wrappers.UInt32Value)(nil), // 11: google.protobuf.UInt32Value 1208 (*v3.CidrRange)(nil), // 12: envoy.config.core.v3.CidrRange 1209 (*wrappers.BoolValue)(nil), // 13: google.protobuf.BoolValue 1210 (*v3.Metadata)(nil), // 14: envoy.config.core.v3.Metadata 1211 (*v3.TransportSocket)(nil), // 15: envoy.config.core.v3.TransportSocket 1212 (*duration.Duration)(nil), // 16: google.protobuf.Duration 1213 (*v31.DownstreamTlsContext)(nil), // 17: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext 1214 (*v32.Int32Range)(nil), // 18: envoy.type.v3.Int32Range 1215} 1216var file_envoy_config_listener_v3_listener_components_proto_depIdxs = []int32{ 1217 8, // 0: envoy.config.listener.v3.Filter.typed_config:type_name -> google.protobuf.Any 1218 9, // 1: envoy.config.listener.v3.Filter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource 1219 10, // 2: envoy.config.listener.v3.Filter.hidden_envoy_deprecated_config:type_name -> google.protobuf.Struct 1220 11, // 3: envoy.config.listener.v3.FilterChainMatch.destination_port:type_name -> google.protobuf.UInt32Value 1221 12, // 4: envoy.config.listener.v3.FilterChainMatch.prefix_ranges:type_name -> envoy.config.core.v3.CidrRange 1222 11, // 5: envoy.config.listener.v3.FilterChainMatch.suffix_len:type_name -> google.protobuf.UInt32Value 1223 0, // 6: envoy.config.listener.v3.FilterChainMatch.source_type:type_name -> envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType 1224 12, // 7: envoy.config.listener.v3.FilterChainMatch.source_prefix_ranges:type_name -> envoy.config.core.v3.CidrRange 1225 2, // 8: envoy.config.listener.v3.FilterChain.filter_chain_match:type_name -> envoy.config.listener.v3.FilterChainMatch 1226 1, // 9: envoy.config.listener.v3.FilterChain.filters:type_name -> envoy.config.listener.v3.Filter 1227 13, // 10: envoy.config.listener.v3.FilterChain.use_proxy_proto:type_name -> google.protobuf.BoolValue 1228 14, // 11: envoy.config.listener.v3.FilterChain.metadata:type_name -> envoy.config.core.v3.Metadata 1229 15, // 12: envoy.config.listener.v3.FilterChain.transport_socket:type_name -> envoy.config.core.v3.TransportSocket 1230 16, // 13: envoy.config.listener.v3.FilterChain.transport_socket_connect_timeout:type_name -> google.protobuf.Duration 1231 6, // 14: envoy.config.listener.v3.FilterChain.on_demand_configuration:type_name -> envoy.config.listener.v3.FilterChain.OnDemandConfiguration 1232 17, // 15: envoy.config.listener.v3.FilterChain.hidden_envoy_deprecated_tls_context:type_name -> envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext 1233 7, // 16: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.or_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet 1234 7, // 17: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.and_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet 1235 4, // 18: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.not_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate 1236 18, // 19: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.destination_port_range:type_name -> envoy.type.v3.Int32Range 1237 8, // 20: envoy.config.listener.v3.ListenerFilter.typed_config:type_name -> google.protobuf.Any 1238 10, // 21: envoy.config.listener.v3.ListenerFilter.hidden_envoy_deprecated_config:type_name -> google.protobuf.Struct 1239 4, // 22: envoy.config.listener.v3.ListenerFilter.filter_disabled:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate 1240 16, // 23: envoy.config.listener.v3.FilterChain.OnDemandConfiguration.rebuild_timeout:type_name -> google.protobuf.Duration 1241 4, // 24: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet.rules:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate 1242 25, // [25:25] is the sub-list for method output_type 1243 25, // [25:25] is the sub-list for method input_type 1244 25, // [25:25] is the sub-list for extension type_name 1245 25, // [25:25] is the sub-list for extension extendee 1246 0, // [0:25] is the sub-list for field type_name 1247} 1248 1249func init() { file_envoy_config_listener_v3_listener_components_proto_init() } 1250func file_envoy_config_listener_v3_listener_components_proto_init() { 1251 if File_envoy_config_listener_v3_listener_components_proto != nil { 1252 return 1253 } 1254 if !protoimpl.UnsafeEnabled { 1255 file_envoy_config_listener_v3_listener_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1256 switch v := v.(*Filter); i { 1257 case 0: 1258 return &v.state 1259 case 1: 1260 return &v.sizeCache 1261 case 2: 1262 return &v.unknownFields 1263 default: 1264 return nil 1265 } 1266 } 1267 file_envoy_config_listener_v3_listener_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1268 switch v := v.(*FilterChainMatch); i { 1269 case 0: 1270 return &v.state 1271 case 1: 1272 return &v.sizeCache 1273 case 2: 1274 return &v.unknownFields 1275 default: 1276 return nil 1277 } 1278 } 1279 file_envoy_config_listener_v3_listener_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1280 switch v := v.(*FilterChain); i { 1281 case 0: 1282 return &v.state 1283 case 1: 1284 return &v.sizeCache 1285 case 2: 1286 return &v.unknownFields 1287 default: 1288 return nil 1289 } 1290 } 1291 file_envoy_config_listener_v3_listener_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1292 switch v := v.(*ListenerFilterChainMatchPredicate); i { 1293 case 0: 1294 return &v.state 1295 case 1: 1296 return &v.sizeCache 1297 case 2: 1298 return &v.unknownFields 1299 default: 1300 return nil 1301 } 1302 } 1303 file_envoy_config_listener_v3_listener_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1304 switch v := v.(*ListenerFilter); i { 1305 case 0: 1306 return &v.state 1307 case 1: 1308 return &v.sizeCache 1309 case 2: 1310 return &v.unknownFields 1311 default: 1312 return nil 1313 } 1314 } 1315 file_envoy_config_listener_v3_listener_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1316 switch v := v.(*FilterChain_OnDemandConfiguration); i { 1317 case 0: 1318 return &v.state 1319 case 1: 1320 return &v.sizeCache 1321 case 2: 1322 return &v.unknownFields 1323 default: 1324 return nil 1325 } 1326 } 1327 file_envoy_config_listener_v3_listener_components_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1328 switch v := v.(*ListenerFilterChainMatchPredicate_MatchSet); i { 1329 case 0: 1330 return &v.state 1331 case 1: 1332 return &v.sizeCache 1333 case 2: 1334 return &v.unknownFields 1335 default: 1336 return nil 1337 } 1338 } 1339 } 1340 file_envoy_config_listener_v3_listener_components_proto_msgTypes[0].OneofWrappers = []interface{}{ 1341 (*Filter_TypedConfig)(nil), 1342 (*Filter_ConfigDiscovery)(nil), 1343 (*Filter_HiddenEnvoyDeprecatedConfig)(nil), 1344 } 1345 file_envoy_config_listener_v3_listener_components_proto_msgTypes[3].OneofWrappers = []interface{}{ 1346 (*ListenerFilterChainMatchPredicate_OrMatch)(nil), 1347 (*ListenerFilterChainMatchPredicate_AndMatch)(nil), 1348 (*ListenerFilterChainMatchPredicate_NotMatch)(nil), 1349 (*ListenerFilterChainMatchPredicate_AnyMatch)(nil), 1350 (*ListenerFilterChainMatchPredicate_DestinationPortRange)(nil), 1351 } 1352 file_envoy_config_listener_v3_listener_components_proto_msgTypes[4].OneofWrappers = []interface{}{ 1353 (*ListenerFilter_TypedConfig)(nil), 1354 (*ListenerFilter_HiddenEnvoyDeprecatedConfig)(nil), 1355 } 1356 type x struct{} 1357 out := protoimpl.TypeBuilder{ 1358 File: protoimpl.DescBuilder{ 1359 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1360 RawDescriptor: file_envoy_config_listener_v3_listener_components_proto_rawDesc, 1361 NumEnums: 1, 1362 NumMessages: 7, 1363 NumExtensions: 0, 1364 NumServices: 0, 1365 }, 1366 GoTypes: file_envoy_config_listener_v3_listener_components_proto_goTypes, 1367 DependencyIndexes: file_envoy_config_listener_v3_listener_components_proto_depIdxs, 1368 EnumInfos: file_envoy_config_listener_v3_listener_components_proto_enumTypes, 1369 MessageInfos: file_envoy_config_listener_v3_listener_components_proto_msgTypes, 1370 }.Build() 1371 File_envoy_config_listener_v3_listener_components_proto = out.File 1372 file_envoy_config_listener_v3_listener_components_proto_rawDesc = nil 1373 file_envoy_config_listener_v3_listener_components_proto_goTypes = nil 1374 file_envoy_config_listener_v3_listener_components_proto_depIdxs = nil 1375} 1376