# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from envoy.config.accesslog.v3 import accesslog_pb2 as envoy_dot_config_dot_accesslog_dot_v3_dot_accesslog__pb2
from envoy.config.core.v3 import backoff_pb2 as envoy_dot_config_dot_core_dot_v3_dot_backoff__pb2
from envoy.config.core.v3 import base_pb2 as envoy_dot_config_dot_core_dot_v3_dot_base__pb2
from envoy.config.core.v3 import config_source_pb2 as envoy_dot_config_dot_core_dot_v3_dot_config__source__pb2
from envoy.config.core.v3 import proxy_protocol_pb2 as envoy_dot_config_dot_core_dot_v3_dot_proxy__protocol__pb2
from envoy.extensions.filters.network.http_connection_manager.v3 import http_connection_manager_pb2 as envoy_dot_extensions_dot_filters_dot_network_dot_http__connection__manager_dot_v3_dot_http__connection__manager__pb2
from envoy.type.v3 import hash_policy_pb2 as envoy_dot_type_dot_v3_dot_hash__policy__pb2
from envoy.type.v3 import percent_pb2 as envoy_dot_type_dot_v3_dot_percent__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from envoy.annotations import deprecation_pb2 as envoy_dot_annotations_dot_deprecation__pb2
from udpa.annotations import status_pb2 as udpa_dot_annotations_dot_status__pb2
from udpa.annotations import versioning_pb2 as udpa_dot_annotations_dot_versioning__pb2
from validate import validate_pb2 as validate_dot_validate__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto\x12-envoy.extensions.filters.network.tcp_proxy.v3\x1a)envoy/config/accesslog/v3/accesslog.proto\x1a\"envoy/config/core/v3/backoff.proto\x1a\x1f\x65nvoy/config/core/v3/base.proto\x1a(envoy/config/core/v3/config_source.proto\x1a)envoy/config/core/v3/proxy_protocol.proto\x1aYenvoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto\x1a\x1f\x65nvoy/type/v3/hash_policy.proto\x1a\x1b\x65nvoy/type/v3/percent.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xc4\x15\n\x08TcpProxy\x12\x1c\n\x0bstat_prefix\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01\x12\x11\n\x07\x63luster\x18\x02 \x01(\tH\x00\x12\x64\n\x11weighted_clusters\x18\n \x01(\x0b\x32G.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedClusterH\x00\x12S\n\ton_demand\x18\x0e \x01(\x0b\x32@.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.OnDemand\x12\x36\n\x0emetadata_match\x18\t \x01(\x0b\x32\x1e.envoy.config.core.v3.Metadata\x12/\n\x0cidle_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12:\n\x17\x64ownstream_idle_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15upstream_idle_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\naccess_log\x18\x05 \x03(\x0b\x32$.envoy.config.accesslog.v3.AccessLog\x12\x43\n\x14max_connect_attempts\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\x07\xfa\x42\x04*\x02(\x01\x12>\n\x0f\x62\x61\x63koff_options\x18\x12 \x01(\x0b\x32%.envoy.config.core.v3.BackoffStrategy\x12\x38\n\x0bhash_policy\x18\x0b \x03(\x0b\x32\x19.envoy.type.v3.HashPolicyB\x08\xfa\x42\x05\x92\x01\x02\x10\x01\x12\x61\n\x10tunneling_config\x18\x0c \x01(\x0b\x32G.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig\x12S\n\"max_downstream_connection_duration\x18\r \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\xfa\x42\t\xaa\x01\x06\x32\x04\x10\xc0\x84=\x12T\n4max_downstream_connection_duration_jitter_percentage\x18\x14 \x01(\x0b\x32\x16.envoy.type.v3.Percent\x12U\n\x19\x61\x63\x63\x65ss_log_flush_interval\x18\x0f \x01(\x0b\x32\x19.google.protobuf.DurationB\x17\x18\x01\xfa\x42\t\xaa\x01\x06\x32\x04\x10\xc0\x84=\x92\xc7\x86\xd8\x04\x03\x33.0\x12\x32\n\x1d\x66lush_access_log_on_connected\x18\x10 \x01(\x08\x42\x0b\x18\x01\x92\xc7\x86\xd8\x04\x03\x33.0\x12g\n\x12\x61\x63\x63\x65ss_log_options\x18\x11 \x01(\x0b\x32K.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions\x12;\n\x13proxy_protocol_tlvs\x18\x13 \x03(\x0b\x32\x1e.envoy.config.core.v3.TlvEntry\x12k\n\x15upstream_connect_mode\x18\x15 \x01(\x0e\x32\x42.envoy.extensions.filters.network.tcp_proxy.v3.UpstreamConnectModeB\x08\xfa\x42\x05\x82\x01\x02\x10\x01\x12\x45\n\x14max_early_data_bytes\x18\x16 \x01(\x0b\x32\x1c.google.protobuf.UInt32ValueB\t\xfa\x42\x06*\x04\x18\x80\x80@\x1a\xa0\x03\n\x0fWeightedCluster\x12q\n\x08\x63lusters\x18\x01 \x03(\x0b\x32U.envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.WeightedCluster.ClusterWeightB\x08\xfa\x42\x05\x92\x01\x02\x08\x01\x1a\xcf\x01\n\rClusterWeight\x12\x15\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01\x12\x17\n\x06weight\x18\x02 \x01(\rB\x07\xfa\x42\x04*\x02(\x01\x12\x36\n\x0emetadata_match\x18\x03 \x01(\x0b\x32\x1e.envoy.config.core.v3.Metadata:V\x9a\xc5\x88\x1eQ\nOenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight:H\x9a\xc5\x88\x1e\x43\nAenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster\x1a\xdb\x03\n\x0fTunnelingConfig\x12\x19\n\x08hostname\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01\x12\x10\n\x08use_post\x18\x02 \x01(\x08\x12J\n\x0eheaders_to_add\x18\x03 \x03(\x0b\x32\'.envoy.config.core.v3.HeaderValueOptionB\t\xfa\x42\x06\x92\x01\x03\x10\xe8\x07\x12\"\n\x1apropagate_response_headers\x18\x04 \x01(\x08\x12\x11\n\tpost_path\x18\x05 \x01(\t\x12#\n\x1bpropagate_response_trailers\x18\x06 \x01(\x08\x12m\n\x14request_id_extension\x18\x07 \x01(\x0b\x32O.envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension\x12\x19\n\x11request_id_header\x18\x08 \x01(\t\x12\x1f\n\x17request_id_metadata_key\x18\t \x01(\t:H\x9a\xc5\x88\x1e\x43\nAenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.TunnelingConfig\x1a\x8b\x01\n\x08OnDemand\x12\x38\n\x0codcds_config\x18\x01 \x01(\x0b\x32\".envoy.config.core.v3.ConfigSource\x12\x19\n\x11resources_locator\x18\x02 \x01(\t\x12*\n\x07timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x88\x01\n\x13TcpAccessLogOptions\x12J\n\x19\x61\x63\x63\x65ss_log_flush_interval\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0c\xfa\x42\t\xaa\x01\x06\x32\x04\x10\xc0\x84=\x12%\n\x1d\x66lush_access_log_on_connected\x18\x02 \x01(\x08:8\x9a\xc5\x88\x1e\x33\n1envoy.config.filter.network.tcp_proxy.v2.TcpProxyB\x18\n\x11\x63luster_specifier\x12\x03\xf8\x42\x01J\x04\x08\x06\x10\x07R\rdeprecated_v1*]\n\x13UpstreamConnectMode\x12\r\n\tIMMEDIATE\x10\x00\x12\x16\n\x12ON_DOWNSTREAM_DATA\x10\x01\x12\x1f\n\x1bON_DOWNSTREAM_TLS_HANDSHAKE\x10\x02\x42\xb8\x01\n;io.envoyproxy.envoy.extensions.filters.network.tcp_proxy.v3B\rTcpProxyProtoP\x01Z`github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3;tcp_proxyv3\xba\x80\xc8\xd1\x06\x02\x10\x02\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'envoy.extensions.filters.network.tcp_proxy.v3.tcp_proxy_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n;io.envoyproxy.envoy.extensions.filters.network.tcp_proxy.v3B\rTcpProxyProtoP\001Z`github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/tcp_proxy/v3;tcp_proxyv3\272\200\310\321\006\002\020\002'
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT'].fields_by_name['name']._loaded_options = None
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT'].fields_by_name['name']._serialized_options = b'\372B\004r\002\020\001'
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT'].fields_by_name['weight']._loaded_options = None
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT'].fields_by_name['weight']._serialized_options = b'\372B\004*\002(\001'
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT']._loaded_options = None
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT']._serialized_options = b'\232\305\210\036Q\nOenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster.ClusterWeight'
  _globals['_TCPPROXY_WEIGHTEDCLUSTER'].fields_by_name['clusters']._loaded_options = None
  _globals['_TCPPROXY_WEIGHTEDCLUSTER'].fields_by_name['clusters']._serialized_options = b'\372B\005\222\001\002\010\001'
  _globals['_TCPPROXY_WEIGHTEDCLUSTER']._loaded_options = None
  _globals['_TCPPROXY_WEIGHTEDCLUSTER']._serialized_options = b'\232\305\210\036C\nAenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.WeightedCluster'
  _globals['_TCPPROXY_TUNNELINGCONFIG'].fields_by_name['hostname']._loaded_options = None
  _globals['_TCPPROXY_TUNNELINGCONFIG'].fields_by_name['hostname']._serialized_options = b'\372B\004r\002\020\001'
  _globals['_TCPPROXY_TUNNELINGCONFIG'].fields_by_name['headers_to_add']._loaded_options = None
  _globals['_TCPPROXY_TUNNELINGCONFIG'].fields_by_name['headers_to_add']._serialized_options = b'\372B\006\222\001\003\020\350\007'
  _globals['_TCPPROXY_TUNNELINGCONFIG']._loaded_options = None
  _globals['_TCPPROXY_TUNNELINGCONFIG']._serialized_options = b'\232\305\210\036C\nAenvoy.config.filter.network.tcp_proxy.v2.TcpProxy.TunnelingConfig'
  _globals['_TCPPROXY_TCPACCESSLOGOPTIONS'].fields_by_name['access_log_flush_interval']._loaded_options = None
  _globals['_TCPPROXY_TCPACCESSLOGOPTIONS'].fields_by_name['access_log_flush_interval']._serialized_options = b'\372B\t\252\001\0062\004\020\300\204='
  _globals['_TCPPROXY'].oneofs_by_name['cluster_specifier']._loaded_options = None
  _globals['_TCPPROXY'].oneofs_by_name['cluster_specifier']._serialized_options = b'\370B\001'
  _globals['_TCPPROXY'].fields_by_name['stat_prefix']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['stat_prefix']._serialized_options = b'\372B\004r\002\020\001'
  _globals['_TCPPROXY'].fields_by_name['max_connect_attempts']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['max_connect_attempts']._serialized_options = b'\372B\004*\002(\001'
  _globals['_TCPPROXY'].fields_by_name['hash_policy']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['hash_policy']._serialized_options = b'\372B\005\222\001\002\020\001'
  _globals['_TCPPROXY'].fields_by_name['max_downstream_connection_duration']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['max_downstream_connection_duration']._serialized_options = b'\372B\t\252\001\0062\004\020\300\204='
  _globals['_TCPPROXY'].fields_by_name['access_log_flush_interval']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['access_log_flush_interval']._serialized_options = b'\030\001\372B\t\252\001\0062\004\020\300\204=\222\307\206\330\004\0033.0'
  _globals['_TCPPROXY'].fields_by_name['flush_access_log_on_connected']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['flush_access_log_on_connected']._serialized_options = b'\030\001\222\307\206\330\004\0033.0'
  _globals['_TCPPROXY'].fields_by_name['upstream_connect_mode']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['upstream_connect_mode']._serialized_options = b'\372B\005\202\001\002\020\001'
  _globals['_TCPPROXY'].fields_by_name['max_early_data_bytes']._loaded_options = None
  _globals['_TCPPROXY'].fields_by_name['max_early_data_bytes']._serialized_options = b'\372B\006*\004\030\200\200@'
  _globals['_TCPPROXY']._loaded_options = None
  _globals['_TCPPROXY']._serialized_options = b'\232\305\210\0363\n1envoy.config.filter.network.tcp_proxy.v2.TcpProxy'
  _globals['_UPSTREAMCONNECTMODE']._serialized_start=3413
  _globals['_UPSTREAMCONNECTMODE']._serialized_end=3506
  _globals['_TCPPROXY']._serialized_start=655
  _globals['_TCPPROXY']._serialized_end=3411
  _globals['_TCPPROXY_WEIGHTEDCLUSTER']._serialized_start=2131
  _globals['_TCPPROXY_WEIGHTEDCLUSTER']._serialized_end=2547
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT']._serialized_start=2266
  _globals['_TCPPROXY_WEIGHTEDCLUSTER_CLUSTERWEIGHT']._serialized_end=2473
  _globals['_TCPPROXY_TUNNELINGCONFIG']._serialized_start=2550
  _globals['_TCPPROXY_TUNNELINGCONFIG']._serialized_end=3025
  _globals['_TCPPROXY_ONDEMAND']._serialized_start=3028
  _globals['_TCPPROXY_ONDEMAND']._serialized_end=3167
  _globals['_TCPPROXY_TCPACCESSLOGOPTIONS']._serialized_start=3170
  _globals['_TCPPROXY_TCPACCESSLOGOPTIONS']._serialized_end=3306
# @@protoc_insertion_point(module_scope)
