/* This file was generated by upbc (the upb compiler) from the input
 * file:
 *
 *     envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto
 *
 * Do not edit -- your changes will be discarded when the file is
 * regenerated. */

#ifndef ENVOY_CONFIG_FILTER_NETWORK_HTTP_CONNECTION_MANAGER_V2_HTTP_CONNECTION_MANAGER_PROTO_UPB_H_
#define ENVOY_CONFIG_FILTER_NETWORK_HTTP_CONNECTION_MANAGER_V2_HTTP_CONNECTION_MANAGER_PROTO_UPB_H_

#include "upb/generated_util.h"
#include "upb/msg.h"
#include "upb/decode.h"
#include "upb/encode.h"

#include "upb/port_def.inc"

#ifdef __cplusplus
extern "C" {
#endif

struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager;
struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing;
struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig;
struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails;
struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig;
struct envoy_config_filter_network_http_connection_manager_v2_Rds;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement;
struct envoy_config_filter_network_http_connection_manager_v2_ScopedRds;
struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter;
struct envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension;
typedef struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager;
typedef struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing;
typedef struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig;
typedef struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails;
typedef struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig;
typedef struct envoy_config_filter_network_http_connection_manager_v2_Rds envoy_config_filter_network_http_connection_manager_v2_Rds;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement;
typedef struct envoy_config_filter_network_http_connection_manager_v2_ScopedRds envoy_config_filter_network_http_connection_manager_v2_ScopedRds;
typedef struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter envoy_config_filter_network_http_connection_manager_v2_HttpFilter;
typedef struct envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_Rds_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_ScopedRds_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_HttpFilter_msginit;
extern const upb_msglayout envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_msginit;
struct envoy_api_v2_RouteConfiguration;
struct envoy_api_v2_ScopedRouteConfiguration;
struct envoy_api_v2_core_ConfigSource;
struct envoy_api_v2_core_Http1ProtocolOptions;
struct envoy_api_v2_core_Http2ProtocolOptions;
struct envoy_api_v2_core_HttpProtocolOptions;
struct envoy_config_filter_accesslog_v2_AccessLog;
struct envoy_config_trace_v2_Tracing_Http;
struct envoy_type_Percent;
struct envoy_type_tracing_v2_CustomTag;
struct google_protobuf_Any;
struct google_protobuf_BoolValue;
struct google_protobuf_Duration;
struct google_protobuf_Struct;
struct google_protobuf_UInt32Value;
extern const upb_msglayout envoy_api_v2_RouteConfiguration_msginit;
extern const upb_msglayout envoy_api_v2_ScopedRouteConfiguration_msginit;
extern const upb_msglayout envoy_api_v2_core_ConfigSource_msginit;
extern const upb_msglayout envoy_api_v2_core_Http1ProtocolOptions_msginit;
extern const upb_msglayout envoy_api_v2_core_Http2ProtocolOptions_msginit;
extern const upb_msglayout envoy_api_v2_core_HttpProtocolOptions_msginit;
extern const upb_msglayout envoy_config_filter_accesslog_v2_AccessLog_msginit;
extern const upb_msglayout envoy_config_trace_v2_Tracing_Http_msginit;
extern const upb_msglayout envoy_type_Percent_msginit;
extern const upb_msglayout envoy_type_tracing_v2_CustomTag_msginit;
extern const upb_msglayout google_protobuf_Any_msginit;
extern const upb_msglayout google_protobuf_BoolValue_msginit;
extern const upb_msglayout google_protobuf_Duration_msginit;
extern const upb_msglayout google_protobuf_Struct_msginit;
extern const upb_msglayout google_protobuf_UInt32Value_msginit;

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_AUTO = 0,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_HTTP1 = 1,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_HTTP2 = 2,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_HTTP3 = 3
} envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_CodecType;

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SANITIZE = 0,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_FORWARD_ONLY = 1,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_APPEND_FORWARD = 2,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SANITIZE_SET = 3,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_ALWAYS_FORWARD_ONLY = 4
} envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_ForwardClientCertDetails;

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_OVERWRITE = 0,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_APPEND_IF_ABSENT = 1,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_PASS_THROUGH = 2
} envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_ServerHeaderTransformation;

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_INGRESS = 0,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_EGRESS = 1
} envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_OperationName;


/* envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *ret = envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_serialize(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_msginit, arena, len);
}

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_rds = 3,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_route_config = 4,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_scoped_routes = 31,
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_NOT_SET = 0
} envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_oneofcases;
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_oneofcases envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_case(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager* msg) { return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_specifier_oneofcases)UPB_FIELD_AT(msg, int32_t, UPB_SIZE(144, 256)); }

UPB_INLINE int32_t envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_codec_type(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, int32_t, UPB_SIZE(0, 0)); }
UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_stat_prefix(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(36, 40)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_has_rds(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(144, 256), 3); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_Rds* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_rds(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_READ_ONEOF(msg, const envoy_config_filter_network_http_connection_manager_v2_Rds*, UPB_SIZE(140, 248), UPB_SIZE(144, 256), 3, NULL); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_has_route_config(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(144, 256), 4); }
UPB_INLINE const struct envoy_api_v2_RouteConfiguration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_config(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_RouteConfiguration*, UPB_SIZE(140, 248), UPB_SIZE(144, 256), 4, NULL); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_HttpFilter* const* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_http_filters(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t *len) { return (const envoy_config_filter_network_http_connection_manager_v2_HttpFilter* const*)_upb_array_accessor(msg, UPB_SIZE(128, 224), len); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_add_user_agent(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(60, 88)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_tracing(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing*, UPB_SIZE(64, 96)); }
UPB_INLINE const struct envoy_api_v2_core_Http1ProtocolOptions* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_http_protocol_options(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct envoy_api_v2_core_Http1ProtocolOptions*, UPB_SIZE(68, 104)); }
UPB_INLINE const struct envoy_api_v2_core_Http2ProtocolOptions* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_http2_protocol_options(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct envoy_api_v2_core_Http2ProtocolOptions*, UPB_SIZE(72, 112)); }
UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_server_name(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(44, 56)); }
UPB_INLINE const struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_idle_timeout(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_Duration*, UPB_SIZE(76, 120)); }
UPB_INLINE const struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_drain_timeout(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_Duration*, UPB_SIZE(80, 128)); }
UPB_INLINE const struct envoy_config_filter_accesslog_v2_AccessLog* const* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_access_log(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t *len) { return (const struct envoy_config_filter_accesslog_v2_AccessLog* const*)_upb_array_accessor(msg, UPB_SIZE(132, 232), len); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_use_remote_address(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(84, 136)); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_generate_request_id(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(88, 144)); }
UPB_INLINE int32_t envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_forward_client_cert_details(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, int32_t, UPB_SIZE(8, 8)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_current_client_cert_details(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails*, UPB_SIZE(92, 152)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_proxy_100_continue(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(28, 28)); }
UPB_INLINE uint32_t envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_xff_num_trusted_hops(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, uint32_t, UPB_SIZE(24, 24)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_represent_ipv4_remote_address_as_ipv4_mapped_ipv6(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(29, 29)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_skip_xff_append(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(30, 30)); }
UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_via(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(52, 72)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig* const* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_upgrade_configs(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t *len) { return (const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig* const*)_upb_array_accessor(msg, UPB_SIZE(136, 240), len); }
UPB_INLINE const struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_stream_idle_timeout(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_Duration*, UPB_SIZE(96, 160)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_internal_address_config(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig*, UPB_SIZE(100, 168)); }
UPB_INLINE const struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_delayed_close_timeout(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_Duration*, UPB_SIZE(104, 176)); }
UPB_INLINE const struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_request_timeout(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_Duration*, UPB_SIZE(108, 184)); }
UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_max_request_headers_kb(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_UInt32Value*, UPB_SIZE(112, 192)); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_normalize_path(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(116, 200)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_has_scoped_routes(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(144, 256), 31); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_scoped_routes(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_READ_ONEOF(msg, const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes*, UPB_SIZE(140, 248), UPB_SIZE(144, 256), 31, NULL); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_preserve_external_request_id(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(31, 31)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_merge_slashes(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(32, 32)); }
UPB_INLINE int32_t envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_server_header_transformation(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, int32_t, UPB_SIZE(16, 16)); }
UPB_INLINE const struct envoy_api_v2_core_HttpProtocolOptions* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_common_http_protocol_options(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const struct envoy_api_v2_core_HttpProtocolOptions*, UPB_SIZE(120, 208)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_request_id_extension(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg) { return UPB_FIELD_AT(msg, const envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension*, UPB_SIZE(124, 216)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_codec_type(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, int32_t value) {
  UPB_FIELD_AT(msg, int32_t, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_stat_prefix(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(36, 40)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_rds(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, envoy_config_filter_network_http_connection_manager_v2_Rds* value) {
  UPB_WRITE_ONEOF(msg, envoy_config_filter_network_http_connection_manager_v2_Rds*, UPB_SIZE(140, 248), value, UPB_SIZE(144, 256), 3);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_Rds* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_rds(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_Rds* sub = (struct envoy_config_filter_network_http_connection_manager_v2_Rds*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_rds(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_Rds*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_Rds_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_rds(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_route_config(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct envoy_api_v2_RouteConfiguration* value) {
  UPB_WRITE_ONEOF(msg, struct envoy_api_v2_RouteConfiguration*, UPB_SIZE(140, 248), value, UPB_SIZE(144, 256), 4);
}
UPB_INLINE struct envoy_api_v2_RouteConfiguration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_route_config(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_api_v2_RouteConfiguration* sub = (struct envoy_api_v2_RouteConfiguration*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_route_config(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_RouteConfiguration*)upb_msg_new(&envoy_api_v2_RouteConfiguration_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_route_config(msg, sub);
  }
  return sub;
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_http_filters(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t *len) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpFilter**)_upb_array_mutable_accessor(msg, UPB_SIZE(128, 224), len);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_resize_http_filters(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t len, upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpFilter**)_upb_array_resize_accessor(msg, UPB_SIZE(128, 224), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_add_http_filters(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter* sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpFilter_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(128, 224), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_add_user_agent(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_BoolValue* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_BoolValue*, UPB_SIZE(60, 88)) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_add_user_agent(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_add_user_agent(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_BoolValue*)upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_add_user_agent(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_tracing(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing* value) {
  UPB_FIELD_AT(msg, envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing*, UPB_SIZE(64, 96)) = value;
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_tracing(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing* sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_tracing(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_tracing(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_http_protocol_options(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct envoy_api_v2_core_Http1ProtocolOptions* value) {
  UPB_FIELD_AT(msg, struct envoy_api_v2_core_Http1ProtocolOptions*, UPB_SIZE(68, 104)) = value;
}
UPB_INLINE struct envoy_api_v2_core_Http1ProtocolOptions* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_http_protocol_options(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_api_v2_core_Http1ProtocolOptions* sub = (struct envoy_api_v2_core_Http1ProtocolOptions*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_http_protocol_options(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_core_Http1ProtocolOptions*)upb_msg_new(&envoy_api_v2_core_Http1ProtocolOptions_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_http_protocol_options(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_http2_protocol_options(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct envoy_api_v2_core_Http2ProtocolOptions* value) {
  UPB_FIELD_AT(msg, struct envoy_api_v2_core_Http2ProtocolOptions*, UPB_SIZE(72, 112)) = value;
}
UPB_INLINE struct envoy_api_v2_core_Http2ProtocolOptions* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_http2_protocol_options(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_api_v2_core_Http2ProtocolOptions* sub = (struct envoy_api_v2_core_Http2ProtocolOptions*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_http2_protocol_options(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_core_Http2ProtocolOptions*)upb_msg_new(&envoy_api_v2_core_Http2ProtocolOptions_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_http2_protocol_options(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_server_name(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(44, 56)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_idle_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_Duration* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_Duration*, UPB_SIZE(76, 120)) = value;
}
UPB_INLINE struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_idle_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_idle_timeout(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Duration*)upb_msg_new(&google_protobuf_Duration_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_idle_timeout(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_drain_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_Duration* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_Duration*, UPB_SIZE(80, 128)) = value;
}
UPB_INLINE struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_drain_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_drain_timeout(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Duration*)upb_msg_new(&google_protobuf_Duration_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_drain_timeout(msg, sub);
  }
  return sub;
}
UPB_INLINE struct envoy_config_filter_accesslog_v2_AccessLog** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_access_log(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t *len) {
  return (struct envoy_config_filter_accesslog_v2_AccessLog**)_upb_array_mutable_accessor(msg, UPB_SIZE(132, 232), len);
}
UPB_INLINE struct envoy_config_filter_accesslog_v2_AccessLog** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_resize_access_log(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t len, upb_arena *arena) {
  return (struct envoy_config_filter_accesslog_v2_AccessLog**)_upb_array_resize_accessor(msg, UPB_SIZE(132, 232), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_config_filter_accesslog_v2_AccessLog* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_add_access_log(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_accesslog_v2_AccessLog* sub = (struct envoy_config_filter_accesslog_v2_AccessLog*)upb_msg_new(&envoy_config_filter_accesslog_v2_AccessLog_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(132, 232), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_use_remote_address(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_BoolValue* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_BoolValue*, UPB_SIZE(84, 136)) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_use_remote_address(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_use_remote_address(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_BoolValue*)upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_use_remote_address(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_generate_request_id(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_BoolValue* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_BoolValue*, UPB_SIZE(88, 144)) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_generate_request_id(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_generate_request_id(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_BoolValue*)upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_generate_request_id(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_forward_client_cert_details(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, int32_t value) {
  UPB_FIELD_AT(msg, int32_t, UPB_SIZE(8, 8)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_set_current_client_cert_details(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails* value) {
  UPB_FIELD_AT(msg, envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails*, UPB_SIZE(92, 152)) = value;
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_set_current_client_cert_details(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails* sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_current_client_cert_details(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_set_current_client_cert_details(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_proxy_100_continue(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(28, 28)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_xff_num_trusted_hops(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, uint32_t value) {
  UPB_FIELD_AT(msg, uint32_t, UPB_SIZE(24, 24)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_represent_ipv4_remote_address_as_ipv4_mapped_ipv6(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(29, 29)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_skip_xff_append(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(30, 30)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_via(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(52, 72)) = value;
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_upgrade_configs(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t *len) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(136, 240), len);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_resize_upgrade_configs(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, size_t len, upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig**)_upb_array_resize_accessor(msg, UPB_SIZE(136, 240), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_add_upgrade_configs(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig* sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(136, 240), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_stream_idle_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_Duration* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_Duration*, UPB_SIZE(96, 160)) = value;
}
UPB_INLINE struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_stream_idle_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_stream_idle_timeout(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Duration*)upb_msg_new(&google_protobuf_Duration_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_stream_idle_timeout(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_internal_address_config(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig* value) {
  UPB_FIELD_AT(msg, envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig*, UPB_SIZE(100, 168)) = value;
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_internal_address_config(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig* sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_internal_address_config(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_internal_address_config(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_delayed_close_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_Duration* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_Duration*, UPB_SIZE(104, 176)) = value;
}
UPB_INLINE struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_delayed_close_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_delayed_close_timeout(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Duration*)upb_msg_new(&google_protobuf_Duration_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_delayed_close_timeout(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_request_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_Duration* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_Duration*, UPB_SIZE(108, 184)) = value;
}
UPB_INLINE struct google_protobuf_Duration* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_request_timeout(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_request_timeout(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Duration*)upb_msg_new(&google_protobuf_Duration_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_request_timeout(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_max_request_headers_kb(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_UInt32Value* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_UInt32Value*, UPB_SIZE(112, 192)) = value;
}
UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_max_request_headers_kb(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_max_request_headers_kb(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_UInt32Value*)upb_msg_new(&google_protobuf_UInt32Value_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_max_request_headers_kb(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_normalize_path(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct google_protobuf_BoolValue* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_BoolValue*, UPB_SIZE(116, 200)) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_normalize_path(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_normalize_path(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_BoolValue*)upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_normalize_path(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_scoped_routes(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes* value) {
  UPB_WRITE_ONEOF(msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes*, UPB_SIZE(140, 248), value, UPB_SIZE(144, 256), 31);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_scoped_routes(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_scoped_routes(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_scoped_routes(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_preserve_external_request_id(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(31, 31)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_merge_slashes(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(32, 32)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_server_header_transformation(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, int32_t value) {
  UPB_FIELD_AT(msg, int32_t, UPB_SIZE(16, 16)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_common_http_protocol_options(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, struct envoy_api_v2_core_HttpProtocolOptions* value) {
  UPB_FIELD_AT(msg, struct envoy_api_v2_core_HttpProtocolOptions*, UPB_SIZE(120, 208)) = value;
}
UPB_INLINE struct envoy_api_v2_core_HttpProtocolOptions* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_common_http_protocol_options(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_api_v2_core_HttpProtocolOptions* sub = (struct envoy_api_v2_core_HttpProtocolOptions*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_common_http_protocol_options(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_core_HttpProtocolOptions*)upb_msg_new(&envoy_api_v2_core_HttpProtocolOptions_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_common_http_protocol_options(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_request_id_extension(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension* value) {
  UPB_FIELD_AT(msg, envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension*, UPB_SIZE(124, 216)) = value;
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_mutable_request_id_extension(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension* sub = (struct envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_request_id_extension(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_set_request_id_extension(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *ret = envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_serialize(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_msginit, arena, len);
}

UPB_INLINE int32_t envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_operation_name(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, int32_t, UPB_SIZE(0, 0)); }
UPB_INLINE upb_strview const* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_request_headers_for_tags(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(32, 56), len); }
UPB_INLINE const struct envoy_type_Percent* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_client_sampling(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, const struct envoy_type_Percent*, UPB_SIZE(12, 16)); }
UPB_INLINE const struct envoy_type_Percent* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_random_sampling(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, const struct envoy_type_Percent*, UPB_SIZE(16, 24)); }
UPB_INLINE const struct envoy_type_Percent* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_overall_sampling(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, const struct envoy_type_Percent*, UPB_SIZE(20, 32)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_verbose(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(8, 8)); }
UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_max_path_tag_length(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_UInt32Value*, UPB_SIZE(24, 40)); }
UPB_INLINE const struct envoy_type_tracing_v2_CustomTag* const* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_custom_tags(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, size_t *len) { return (const struct envoy_type_tracing_v2_CustomTag* const*)_upb_array_accessor(msg, UPB_SIZE(36, 64), len); }
UPB_INLINE const struct envoy_config_trace_v2_Tracing_Http* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_provider(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg) { return UPB_FIELD_AT(msg, const struct envoy_config_trace_v2_Tracing_Http*, UPB_SIZE(28, 48)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_operation_name(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, int32_t value) {
  UPB_FIELD_AT(msg, int32_t, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE upb_strview* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_request_headers_for_tags(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, size_t *len) {
  return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 56), len);
}
UPB_INLINE upb_strview* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_resize_request_headers_for_tags(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, size_t len, upb_arena *arena) {
  return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(32, 56), len, UPB_SIZE(8, 16), UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_add_request_headers_for_tags(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_strview val, upb_arena *arena) {
  return _upb_array_append_accessor(
      msg, UPB_SIZE(32, 56), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val, arena);
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_client_sampling(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, struct envoy_type_Percent* value) {
  UPB_FIELD_AT(msg, struct envoy_type_Percent*, UPB_SIZE(12, 16)) = value;
}
UPB_INLINE struct envoy_type_Percent* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_client_sampling(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena) {
  struct envoy_type_Percent* sub = (struct envoy_type_Percent*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_client_sampling(msg);
  if (sub == NULL) {
    sub = (struct envoy_type_Percent*)upb_msg_new(&envoy_type_Percent_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_client_sampling(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_random_sampling(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, struct envoy_type_Percent* value) {
  UPB_FIELD_AT(msg, struct envoy_type_Percent*, UPB_SIZE(16, 24)) = value;
}
UPB_INLINE struct envoy_type_Percent* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_random_sampling(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena) {
  struct envoy_type_Percent* sub = (struct envoy_type_Percent*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_random_sampling(msg);
  if (sub == NULL) {
    sub = (struct envoy_type_Percent*)upb_msg_new(&envoy_type_Percent_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_random_sampling(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_overall_sampling(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, struct envoy_type_Percent* value) {
  UPB_FIELD_AT(msg, struct envoy_type_Percent*, UPB_SIZE(20, 32)) = value;
}
UPB_INLINE struct envoy_type_Percent* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_overall_sampling(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena) {
  struct envoy_type_Percent* sub = (struct envoy_type_Percent*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_overall_sampling(msg);
  if (sub == NULL) {
    sub = (struct envoy_type_Percent*)upb_msg_new(&envoy_type_Percent_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_overall_sampling(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_verbose(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(8, 8)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_max_path_tag_length(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, struct google_protobuf_UInt32Value* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_UInt32Value*, UPB_SIZE(24, 40)) = value;
}
UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_max_path_tag_length(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena) {
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_max_path_tag_length(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_UInt32Value*)upb_msg_new(&google_protobuf_UInt32Value_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_max_path_tag_length(msg, sub);
  }
  return sub;
}
UPB_INLINE struct envoy_type_tracing_v2_CustomTag** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_custom_tags(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, size_t *len) {
  return (struct envoy_type_tracing_v2_CustomTag**)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 64), len);
}
UPB_INLINE struct envoy_type_tracing_v2_CustomTag** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_resize_custom_tags(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, size_t len, upb_arena *arena) {
  return (struct envoy_type_tracing_v2_CustomTag**)_upb_array_resize_accessor(msg, UPB_SIZE(36, 64), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_type_tracing_v2_CustomTag* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_add_custom_tags(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena) {
  struct envoy_type_tracing_v2_CustomTag* sub = (struct envoy_type_tracing_v2_CustomTag*)upb_msg_new(&envoy_type_tracing_v2_CustomTag_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(36, 64), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_provider(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, struct envoy_config_trace_v2_Tracing_Http* value) {
  UPB_FIELD_AT(msg, struct envoy_config_trace_v2_Tracing_Http*, UPB_SIZE(28, 48)) = value;
}
UPB_INLINE struct envoy_config_trace_v2_Tracing_Http* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_mutable_provider(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing *msg, upb_arena *arena) {
  struct envoy_config_trace_v2_Tracing_Http* sub = (struct envoy_config_trace_v2_Tracing_Http*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_provider(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_trace_v2_Tracing_Http*)upb_msg_new(&envoy_config_trace_v2_Tracing_Http_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_Tracing_set_provider(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.InternalAddressConfig */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *ret = envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_serialize(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_msginit, arena, len);
}

UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_unix_sockets(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(0, 0)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig_set_unix_sockets(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_InternalAddressConfig *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(0, 0)) = value;
}

/* envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.SetCurrentClientCertDetails */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *ret = envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_serialize(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_msginit, arena, len);
}

UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_subject(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(4, 8)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_cert(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(0, 0)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_dns(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(1, 1)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_uri(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(2, 2)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_chain(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg) { return UPB_FIELD_AT(msg, bool, UPB_SIZE(3, 3)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_set_subject(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, struct google_protobuf_BoolValue* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_BoolValue*, UPB_SIZE(4, 8)) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_mutable_subject(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, upb_arena *arena) {
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_subject(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_BoolValue*)upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_set_subject(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_set_cert(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_set_dns(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(1, 1)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_set_uri(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(2, 2)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails_set_chain(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_SetCurrentClientCertDetails *msg, bool value) {
  UPB_FIELD_AT(msg, bool, UPB_SIZE(3, 3)) = value;
}

/* envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.UpgradeConfig */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *ret = envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_serialize(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_msginit, arena, len);
}

UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_upgrade_type(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_HttpFilter* const* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_filters(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, size_t *len) { return (const envoy_config_filter_network_http_connection_manager_v2_HttpFilter* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_enabled(const envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(8, 16)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_set_upgrade_type(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_mutable_filters(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, size_t *len) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpFilter**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter** envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_resize_filters(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, size_t len, upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpFilter**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_add_filters(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter* sub = (struct envoy_config_filter_network_http_connection_manager_v2_HttpFilter*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpFilter_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_set_enabled(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, struct google_protobuf_BoolValue* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_BoolValue*, UPB_SIZE(8, 16)) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_mutable_enabled(envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig *msg, upb_arena *arena) {
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_enabled(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_BoolValue*)upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpConnectionManager_UpgradeConfig_set_enabled(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.Rds */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_Rds *envoy_config_filter_network_http_connection_manager_v2_Rds_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_Rds *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_Rds_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_Rds *envoy_config_filter_network_http_connection_manager_v2_Rds_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_Rds *ret = envoy_config_filter_network_http_connection_manager_v2_Rds_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_Rds_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_Rds_serialize(const envoy_config_filter_network_http_connection_manager_v2_Rds *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_Rds_msginit, arena, len);
}

UPB_INLINE const struct envoy_api_v2_core_ConfigSource* envoy_config_filter_network_http_connection_manager_v2_Rds_config_source(const envoy_config_filter_network_http_connection_manager_v2_Rds *msg) { return UPB_FIELD_AT(msg, const struct envoy_api_v2_core_ConfigSource*, UPB_SIZE(8, 16)); }
UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_Rds_route_config_name(const envoy_config_filter_network_http_connection_manager_v2_Rds *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_Rds_set_config_source(envoy_config_filter_network_http_connection_manager_v2_Rds *msg, struct envoy_api_v2_core_ConfigSource* value) {
  UPB_FIELD_AT(msg, struct envoy_api_v2_core_ConfigSource*, UPB_SIZE(8, 16)) = value;
}
UPB_INLINE struct envoy_api_v2_core_ConfigSource* envoy_config_filter_network_http_connection_manager_v2_Rds_mutable_config_source(envoy_config_filter_network_http_connection_manager_v2_Rds *msg, upb_arena *arena) {
  struct envoy_api_v2_core_ConfigSource* sub = (struct envoy_api_v2_core_ConfigSource*)envoy_config_filter_network_http_connection_manager_v2_Rds_config_source(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_core_ConfigSource*)upb_msg_new(&envoy_api_v2_core_ConfigSource_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_Rds_set_config_source(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_Rds_set_route_config_name(envoy_config_filter_network_http_connection_manager_v2_Rds *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)) = value;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRouteConfigurationsList */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_msginit, arena, len);
}

UPB_INLINE const struct envoy_api_v2_ScopedRouteConfiguration* const* envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_scoped_route_configurations(const envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *msg, size_t *len) { return (const struct envoy_api_v2_ScopedRouteConfiguration* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }

UPB_INLINE struct envoy_api_v2_ScopedRouteConfiguration** envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_mutable_scoped_route_configurations(envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *msg, size_t *len) {
  return (struct envoy_api_v2_ScopedRouteConfiguration**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
}
UPB_INLINE struct envoy_api_v2_ScopedRouteConfiguration** envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_resize_scoped_route_configurations(envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *msg, size_t len, upb_arena *arena) {
  return (struct envoy_api_v2_ScopedRouteConfiguration**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_api_v2_ScopedRouteConfiguration* envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_add_scoped_route_configurations(envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList *msg, upb_arena *arena) {
  struct envoy_api_v2_ScopedRouteConfiguration* sub = (struct envoy_api_v2_ScopedRouteConfiguration*)upb_msg_new(&envoy_api_v2_ScopedRouteConfiguration_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_msginit, arena, len);
}

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_scoped_route_configurations_list = 4,
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_scoped_rds = 5,
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_NOT_SET = 0
} envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_oneofcases;
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_oneofcases envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_case(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes* msg) { return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_config_specifier_oneofcases)UPB_FIELD_AT(msg, int32_t, UPB_SIZE(20, 40)); }

UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_name(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_scope_key_builder(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return UPB_FIELD_AT(msg, const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder*, UPB_SIZE(8, 16)); }
UPB_INLINE const struct envoy_api_v2_core_ConfigSource* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_rds_config_source(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return UPB_FIELD_AT(msg, const struct envoy_api_v2_core_ConfigSource*, UPB_SIZE(12, 24)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_has_scoped_route_configurations_list(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(20, 40), 4); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_scoped_route_configurations_list(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return UPB_READ_ONEOF(msg, const envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 4, NULL); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_has_scoped_rds(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(20, 40), 5); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRds* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_scoped_rds(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg) { return UPB_READ_ONEOF(msg, const envoy_config_filter_network_http_connection_manager_v2_ScopedRds*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 5, NULL); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_name(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_scope_key_builder(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder* value) {
  UPB_FIELD_AT(msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder*, UPB_SIZE(8, 16)) = value;
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_mutable_scope_key_builder(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder*)envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_scope_key_builder(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_scope_key_builder(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_rds_config_source(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, struct envoy_api_v2_core_ConfigSource* value) {
  UPB_FIELD_AT(msg, struct envoy_api_v2_core_ConfigSource*, UPB_SIZE(12, 24)) = value;
}
UPB_INLINE struct envoy_api_v2_core_ConfigSource* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_mutable_rds_config_source(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, upb_arena *arena) {
  struct envoy_api_v2_core_ConfigSource* sub = (struct envoy_api_v2_core_ConfigSource*)envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_rds_config_source(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_core_ConfigSource*)upb_msg_new(&envoy_api_v2_core_ConfigSource_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_rds_config_source(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_scoped_route_configurations_list(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList* value) {
  UPB_WRITE_ONEOF(msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 4);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_mutable_scoped_route_configurations_list(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList*)envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_scoped_route_configurations_list(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRouteConfigurationsList_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_scoped_route_configurations_list(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_scoped_rds(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRds* value) {
  UPB_WRITE_ONEOF(msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRds*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 5);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRds* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_mutable_scoped_rds(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRds* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRds*)envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_scoped_rds(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRds*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRds_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_set_scoped_rds(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_msginit, arena, len);
}

UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder* const* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_fragments(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *msg, size_t *len) { return (const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder** envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_mutable_fragments(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *msg, size_t *len) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder** envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_resize_fragments(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *msg, size_t len, upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_add_fragments(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_msginit, arena);
  bool ok = _upb_array_append_accessor(
      msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
  if (!ok) return NULL;
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_msginit, arena, len);
}

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_type_header_value_extractor = 1,
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_type_NOT_SET = 0
} envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_type_oneofcases;
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_type_oneofcases envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_type_case(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder* msg) { return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_type_oneofcases)UPB_FIELD_AT(msg, int32_t, UPB_SIZE(4, 8)); }

UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_has_header_value_extractor(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(4, 8), 1); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_header_value_extractor(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *msg) { return UPB_READ_ONEOF(msg, const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 1, NULL); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_set_header_value_extractor(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor* value) {
  UPB_WRITE_ONEOF(msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 1);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_mutable_header_value_extractor(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor*)envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_header_value_extractor(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_set_header_value_extractor(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_msginit, arena, len);
}

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_index = 3,
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_element = 4,
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_NOT_SET = 0
} envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_oneofcases;
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_oneofcases envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_case(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor* msg) { return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_extract_type_oneofcases)UPB_FIELD_AT(msg, int32_t, UPB_SIZE(20, 40)); }

UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_name(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)); }
UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_element_separator(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(8, 16)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_has_index(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(20, 40), 3); }
UPB_INLINE uint32_t envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_index(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg) { return UPB_READ_ONEOF(msg, uint32_t, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 3, 0); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_has_element(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(20, 40), 4); }
UPB_INLINE const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_element(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg) { return UPB_READ_ONEOF(msg, const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 4, NULL); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_set_name(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_set_element_separator(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(8, 16)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_set_index(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg, uint32_t value) {
  UPB_WRITE_ONEOF(msg, uint32_t, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 3);
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_set_element(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement* value) {
  UPB_WRITE_ONEOF(msg, envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 4);
}
UPB_INLINE struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement* envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_mutable_element(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor *msg, upb_arena *arena) {
  struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement* sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement*)envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_element(msg);
  if (sub == NULL) {
    sub = (struct envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement*)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_set_element(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_msginit, arena, len);
}

UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_separator(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)); }
UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_key(const envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(8, 16)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_set_separator(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement_set_key(envoy_config_filter_network_http_connection_manager_v2_ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(8, 16)) = value;
}

/* envoy.config.filter.network.http_connection_manager.v2.ScopedRds */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRds *envoy_config_filter_network_http_connection_manager_v2_ScopedRds_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_ScopedRds *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_ScopedRds_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_ScopedRds *envoy_config_filter_network_http_connection_manager_v2_ScopedRds_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_ScopedRds *ret = envoy_config_filter_network_http_connection_manager_v2_ScopedRds_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_ScopedRds_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_ScopedRds_serialize(const envoy_config_filter_network_http_connection_manager_v2_ScopedRds *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_ScopedRds_msginit, arena, len);
}

UPB_INLINE const struct envoy_api_v2_core_ConfigSource* envoy_config_filter_network_http_connection_manager_v2_ScopedRds_scoped_rds_config_source(const envoy_config_filter_network_http_connection_manager_v2_ScopedRds *msg) { return UPB_FIELD_AT(msg, const struct envoy_api_v2_core_ConfigSource*, UPB_SIZE(0, 0)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_ScopedRds_set_scoped_rds_config_source(envoy_config_filter_network_http_connection_manager_v2_ScopedRds *msg, struct envoy_api_v2_core_ConfigSource* value) {
  UPB_FIELD_AT(msg, struct envoy_api_v2_core_ConfigSource*, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE struct envoy_api_v2_core_ConfigSource* envoy_config_filter_network_http_connection_manager_v2_ScopedRds_mutable_scoped_rds_config_source(envoy_config_filter_network_http_connection_manager_v2_ScopedRds *msg, upb_arena *arena) {
  struct envoy_api_v2_core_ConfigSource* sub = (struct envoy_api_v2_core_ConfigSource*)envoy_config_filter_network_http_connection_manager_v2_ScopedRds_scoped_rds_config_source(msg);
  if (sub == NULL) {
    sub = (struct envoy_api_v2_core_ConfigSource*)upb_msg_new(&envoy_api_v2_core_ConfigSource_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_ScopedRds_set_scoped_rds_config_source(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.HttpFilter */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter *envoy_config_filter_network_http_connection_manager_v2_HttpFilter_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_HttpFilter *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_HttpFilter_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter *envoy_config_filter_network_http_connection_manager_v2_HttpFilter_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_HttpFilter *ret = envoy_config_filter_network_http_connection_manager_v2_HttpFilter_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_HttpFilter_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_HttpFilter_serialize(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_HttpFilter_msginit, arena, len);
}

typedef enum {
  envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_config = 2,
  envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_typed_config = 4,
  envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_NOT_SET = 0
} envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_oneofcases;
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_oneofcases envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_case(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter* msg) { return (envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config_type_oneofcases)UPB_FIELD_AT(msg, int32_t, UPB_SIZE(12, 24)); }

UPB_INLINE upb_strview envoy_config_filter_network_http_connection_manager_v2_HttpFilter_name(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg) { return UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpFilter_has_config(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(12, 24), 2); }
UPB_INLINE const struct google_protobuf_Struct* envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Struct*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 2, NULL); }
UPB_INLINE bool envoy_config_filter_network_http_connection_manager_v2_HttpFilter_has_typed_config(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg) { return _upb_has_oneof_field(msg, UPB_SIZE(12, 24), 4); }
UPB_INLINE const struct google_protobuf_Any* envoy_config_filter_network_http_connection_manager_v2_HttpFilter_typed_config(const envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 4, NULL); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpFilter_set_name(envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg, upb_strview value) {
  UPB_FIELD_AT(msg, upb_strview, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpFilter_set_config(envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg, struct google_protobuf_Struct* value) {
  UPB_WRITE_ONEOF(msg, struct google_protobuf_Struct*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 2);
}
UPB_INLINE struct google_protobuf_Struct* envoy_config_filter_network_http_connection_manager_v2_HttpFilter_mutable_config(envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg, upb_arena *arena) {
  struct google_protobuf_Struct* sub = (struct google_protobuf_Struct*)envoy_config_filter_network_http_connection_manager_v2_HttpFilter_config(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Struct*)upb_msg_new(&google_protobuf_Struct_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpFilter_set_config(msg, sub);
  }
  return sub;
}
UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_HttpFilter_set_typed_config(envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg, struct google_protobuf_Any* value) {
  UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 4);
}
UPB_INLINE struct google_protobuf_Any* envoy_config_filter_network_http_connection_manager_v2_HttpFilter_mutable_typed_config(envoy_config_filter_network_http_connection_manager_v2_HttpFilter *msg, upb_arena *arena) {
  struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_filter_network_http_connection_manager_v2_HttpFilter_typed_config(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Any*)upb_msg_new(&google_protobuf_Any_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_HttpFilter_set_typed_config(msg, sub);
  }
  return sub;
}

/* envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension */

UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_new(upb_arena *arena) {
  return (envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *)upb_msg_new(&envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_msginit, arena);
}
UPB_INLINE envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_parse(const char *buf, size_t size,
                        upb_arena *arena) {
  envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *ret = envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_new(arena);
  return (ret && upb_decode(buf, size, ret, &envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_serialize(const envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *msg, upb_arena *arena, size_t *len) {
  return upb_encode(msg, &envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_msginit, arena, len);
}

UPB_INLINE const struct google_protobuf_Any* envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_typed_config(const envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *msg) { return UPB_FIELD_AT(msg, const struct google_protobuf_Any*, UPB_SIZE(0, 0)); }

UPB_INLINE void envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_set_typed_config(envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *msg, struct google_protobuf_Any* value) {
  UPB_FIELD_AT(msg, struct google_protobuf_Any*, UPB_SIZE(0, 0)) = value;
}
UPB_INLINE struct google_protobuf_Any* envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_mutable_typed_config(envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension *msg, upb_arena *arena) {
  struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_typed_config(msg);
  if (sub == NULL) {
    sub = (struct google_protobuf_Any*)upb_msg_new(&google_protobuf_Any_msginit, arena);
    if (!sub) return NULL;
    envoy_config_filter_network_http_connection_manager_v2_RequestIDExtension_set_typed_config(msg, sub);
  }
  return sub;
}

#ifdef __cplusplus
}  /* extern "C" */
#endif

#include "upb/port_undef.inc"

#endif  /* ENVOY_CONFIG_FILTER_NETWORK_HTTP_CONNECTION_MANAGER_V2_HTTP_CONNECTION_MANAGER_PROTO_UPB_H_ */
