diff --git a/BUILD b/BUILD index eaaf86985c2..eb65e877eea 100644 --- a/BUILD +++ b/BUILD @@ -1436,6 +1436,7 @@ grpc_cc_library( "absl/functional:bind_front", "upb_lib", "upb_textformat_lib", + "upb_json_lib", "re2", ], language = "c++", @@ -2595,6 +2596,24 @@ grpc_cc_library( alwayslink = 1, ) +grpc_cc_library( + name = "grpcpp_csds", + srcs = [ + "src/cpp/server/csds/csds.cc", + ], + hdrs = [ + "src/cpp/server/csds/csds.h", + ], + language = "c++", + public_hdrs = [ + ], + deps = [ + ":grpc++", + "//src/proto/grpc/testing/xds/v3:csds_proto", + ], + alwayslink = 1, +) + grpc_cc_library( name = "grpc++_test", srcs = [ @@ -2728,7 +2747,9 @@ grpc_cc_library( grpc_cc_library( name = "envoy_ads_upb", srcs = [ + "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c", "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c", + "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c", "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c", "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c", "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c", @@ -2740,6 +2761,8 @@ grpc_cc_library( "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c", "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c", "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c", + "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c", + "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c", "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c", "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c", "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c", @@ -2762,9 +2785,12 @@ grpc_cc_library( "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c", "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c", "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c", + "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c", ], hdrs = [ + "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h", "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h", + "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h", "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h", "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h", "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h", @@ -2776,6 +2802,8 @@ grpc_cc_library( "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h", "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h", "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h", + "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h", + "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h", "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h", "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h", "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h", @@ -2798,6 +2826,7 @@ grpc_cc_library( "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h", "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h", "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h", + "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h", ], external_deps = [ "upb_lib", @@ -2818,7 +2847,9 @@ grpc_cc_library( grpc_cc_library( name = "envoy_ads_upbdefs", srcs = [ + "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c", @@ -2830,6 +2861,8 @@ grpc_cc_library( "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c", @@ -2851,9 +2884,12 @@ grpc_cc_library( "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c", ], hdrs = [ + "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h", @@ -2865,6 +2901,8 @@ grpc_cc_library( "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h", @@ -2886,6 +2924,7 @@ grpc_cc_library( "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h", ], external_deps = [ "upb_lib", @@ -3044,10 +3083,12 @@ grpc_cc_library( name = "envoy_type_upb", srcs = [ "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c", "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c", "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c", @@ -3058,10 +3099,12 @@ grpc_cc_library( ], hdrs = [ "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h", "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h", "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h", @@ -3087,10 +3130,12 @@ grpc_cc_library( name = "envoy_type_upbdefs", srcs = [ "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c", @@ -3101,10 +3146,12 @@ grpc_cc_library( ], hdrs = [ "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h", diff --git a/BUILD.gn b/BUILD.gn index 8328adbfc74..ffe97eda099 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -400,12 +400,16 @@ config("grpc_config") { "src/core/ext/transport/inproc/inproc_plugin.cc", "src/core/ext/transport/inproc/inproc_transport.cc", "src/core/ext/transport/inproc/inproc_transport.h", + "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c", + "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h", "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c", "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h", "src/core/ext/upb-generated/envoy/annotations/resource.upb.c", "src/core/ext/upb-generated/envoy/annotations/resource.upb.h", "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c", "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h", + "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c", + "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h", "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c", "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h", "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c", @@ -454,6 +458,10 @@ config("grpc_config") { "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h", "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c", "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h", + "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c", + "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h", + "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c", + "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h", "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c", "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h", "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c", @@ -498,8 +506,12 @@ config("grpc_config") { "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h", "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c", "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h", + "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c", + "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c", @@ -508,6 +520,8 @@ config("grpc_config") { "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h", "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c", "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h", "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c", @@ -582,12 +596,16 @@ config("grpc_config") { "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h", "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c", "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h", + "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c", @@ -636,6 +654,10 @@ config("grpc_config") { "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c", @@ -678,8 +700,12 @@ config("grpc_config") { "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c", @@ -688,6 +714,8 @@ config("grpc_config") { "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c", "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h", "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c", diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b21ace962f..d2f3367dc2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -466,9 +466,15 @@ protobuf_generate_grpc_cpp( protobuf_generate_grpc_cpp( src/proto/grpc/testing/xds/v3/cluster.proto ) +protobuf_generate_grpc_cpp( + src/proto/grpc/testing/xds/v3/config_dump.proto +) protobuf_generate_grpc_cpp( src/proto/grpc/testing/xds/v3/config_source.proto ) +protobuf_generate_grpc_cpp( + src/proto/grpc/testing/xds/v3/csds.proto +) protobuf_generate_grpc_cpp( src/proto/grpc/testing/xds/v3/discovery.proto ) @@ -1573,9 +1579,11 @@ add_library(grpc src/core/ext/transport/chttp2/transport/writing.cc src/core/ext/transport/inproc/inproc_plugin.cc src/core/ext/transport/inproc/inproc_transport.cc + src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c src/core/ext/upb-generated/envoy/annotations/resource.upb.c src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c + src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c @@ -1600,6 +1608,8 @@ add_library(grpc src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c + src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c + src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c @@ -1622,11 +1632,14 @@ add_library(grpc src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c + src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c + src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c + src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c @@ -1664,9 +1677,11 @@ add_library(grpc src/core/ext/upb-generated/xds/core/v3/resource.upb.c src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c + src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c + src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c @@ -1691,6 +1706,8 @@ add_library(grpc src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c + src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c + src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c @@ -1712,11 +1729,14 @@ add_library(grpc src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c + src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c + src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c + src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c @@ -3842,8 +3862,6 @@ add_library(upb third_party/upb/upb/decode.c third_party/upb/upb/def.c third_party/upb/upb/encode.c - third_party/upb/upb/json_decode.c - third_party/upb/upb/json_encode.c third_party/upb/upb/msg.c third_party/upb/upb/reflection.c third_party/upb/upb/table.c @@ -16342,10 +16360,18 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.pb.h @@ -16410,6 +16436,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.grpc.pb.h + src/cpp/server/csds/csds.cc test/cpp/end2end/test_service_impl.cc test/cpp/end2end/xds_end2end_test.cc third_party/googletest/googletest/src/gtest-all.cc diff --git a/Makefile b/Makefile index b2e7d4fe7f8..558354a5368 100644 --- a/Makefile +++ b/Makefile @@ -1141,9 +1141,11 @@ LIBGRPC_SRC = \ src/core/ext/transport/chttp2/transport/writing.cc \ src/core/ext/transport/inproc/inproc_plugin.cc \ src/core/ext/transport/inproc/inproc_transport.cc \ + src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c \ src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \ src/core/ext/upb-generated/envoy/annotations/resource.upb.c \ src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \ + src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c \ @@ -1168,6 +1170,8 @@ LIBGRPC_SRC = \ src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \ + src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c \ + src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c \ src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \ src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \ src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c \ @@ -1190,11 +1194,14 @@ LIBGRPC_SRC = \ src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \ + src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \ + src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \ + src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \ src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \ src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c \ @@ -1232,9 +1239,11 @@ LIBGRPC_SRC = \ src/core/ext/upb-generated/xds/core/v3/resource.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c \ + src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c \ @@ -1259,6 +1268,8 @@ LIBGRPC_SRC = \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c \ @@ -1280,11 +1291,14 @@ LIBGRPC_SRC = \ src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c \ @@ -2385,8 +2399,6 @@ LIBUPB_SRC = \ third_party/upb/upb/decode.c \ third_party/upb/upb/def.c \ third_party/upb/upb/encode.c \ - third_party/upb/upb/json_decode.c \ - third_party/upb/upb/json_encode.c \ third_party/upb/upb/msg.c \ third_party/upb/upb/reflection.c \ third_party/upb/upb/table.c \ @@ -2672,9 +2684,11 @@ src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc: src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc: $(OPENSSL_DEP) src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc: $(OPENSSL_DEP) src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/annotations/resource.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c: $(OPENSSL_DEP) @@ -2699,6 +2713,8 @@ src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c: $(OPENSS src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c: $(OPENSSL_DEP) @@ -2721,11 +2737,14 @@ src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c: $(OPENSSL_DEP) +src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c: $(OPENSSL_DEP) @@ -2748,9 +2767,11 @@ src/core/ext/upb-generated/xds/core/v3/context_params.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/xds/core/v3/resource.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c: $(OPENSSL_DEP) src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c: $(OPENSSL_DEP) @@ -2775,6 +2796,8 @@ src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c: src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c: $(OPENSSL_DEP) @@ -2796,11 +2819,14 @@ src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c: $(OPENSS src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c: $(OPENSSL_DEP) +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c: $(OPENSSL_DEP) src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c: $(OPENSSL_DEP) diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index ae4967f7955..23f151a3d74 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -467,9 +467,11 @@ libs: - src/core/ext/transport/chttp2/transport/stream_map.h - src/core/ext/transport/chttp2/transport/varint.h - src/core/ext/transport/inproc/inproc_transport.h + - src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h - src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h - src/core/ext/upb-generated/envoy/annotations/resource.upb.h - src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h + - src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h - src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h - src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h - src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h @@ -494,6 +496,8 @@ libs: - src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h - src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h - src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h + - src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h + - src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h - src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h - src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h - src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h @@ -516,11 +520,14 @@ libs: - src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h - src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h - src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h + - src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h - src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h + - src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h - src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h - src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h - src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h - src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h + - src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h - src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h - src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h - src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h @@ -558,9 +565,11 @@ libs: - src/core/ext/upb-generated/xds/core/v3/resource.upb.h - src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h - src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h + - src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h - src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h - src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h + - src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h @@ -585,6 +594,8 @@ libs: - src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h + - src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h + - src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h - src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h @@ -606,11 +617,14 @@ libs: - src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h - src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h - src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h + - src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h + - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h + - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h - src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h @@ -978,9 +992,11 @@ libs: - src/core/ext/transport/chttp2/transport/writing.cc - src/core/ext/transport/inproc/inproc_plugin.cc - src/core/ext/transport/inproc/inproc_transport.cc + - src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c - src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c - src/core/ext/upb-generated/envoy/annotations/resource.upb.c - src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c + - src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c @@ -1005,6 +1021,8 @@ libs: - src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c - src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c - src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c + - src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c + - src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c - src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c - src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c - src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c @@ -1027,11 +1045,14 @@ libs: - src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c - src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c - src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c + - src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c + - src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c + - src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c - src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c - src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c @@ -1069,9 +1090,11 @@ libs: - src/core/ext/upb-generated/xds/core/v3/resource.upb.c - src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c - src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c + - src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c - src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c - src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c + - src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c @@ -1096,6 +1119,8 @@ libs: - src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c + - src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c + - src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c @@ -1117,11 +1142,14 @@ libs: - src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c + - src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c + - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c + - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c @@ -8323,6 +8351,7 @@ targets: run: false language: c++ headers: + - src/cpp/server/csds/csds.h - test/cpp/end2end/test_service_impl.h src: - src/proto/grpc/testing/duplicate/echo_duplicate.proto @@ -8339,7 +8368,9 @@ targets: - src/proto/grpc/testing/xds/v3/aggregate_cluster.proto - src/proto/grpc/testing/xds/v3/base.proto - src/proto/grpc/testing/xds/v3/cluster.proto + - src/proto/grpc/testing/xds/v3/config_dump.proto - src/proto/grpc/testing/xds/v3/config_source.proto + - src/proto/grpc/testing/xds/v3/csds.proto - src/proto/grpc/testing/xds/v3/discovery.proto - src/proto/grpc/testing/xds/v3/endpoint.proto - src/proto/grpc/testing/xds/v3/fault.proto @@ -8356,6 +8387,7 @@ targets: - src/proto/grpc/testing/xds/v3/router.proto - src/proto/grpc/testing/xds/v3/string.proto - src/proto/grpc/testing/xds/v3/tls.proto + - src/cpp/server/csds/csds.cc - test/cpp/end2end/test_service_impl.cc - test/cpp/end2end/xds_end2end_test.cc deps: diff --git a/config.m4 b/config.m4 index 165c945487e..c31f21361d8 100644 --- a/config.m4 +++ b/config.m4 @@ -147,9 +147,11 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/transport/chttp2/transport/writing.cc \ src/core/ext/transport/inproc/inproc_plugin.cc \ src/core/ext/transport/inproc/inproc_transport.cc \ + src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c \ src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \ src/core/ext/upb-generated/envoy/annotations/resource.upb.c \ src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \ + src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c \ @@ -174,6 +176,8 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \ + src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c \ + src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c \ src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \ src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \ src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c \ @@ -196,11 +200,14 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \ + src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \ + src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \ + src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \ src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \ src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c \ @@ -239,9 +246,11 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/upb-generated/xds/core/v3/resource.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c \ + src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c \ @@ -266,6 +275,8 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c \ @@ -287,11 +298,14 @@ if test "$PHP_GRPC" != "no"; then src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c \ + src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c \ @@ -1007,8 +1021,6 @@ if test "$PHP_GRPC" != "no"; then third_party/upb/upb/decode_fast.c \ third_party/upb/upb/def.c \ third_party/upb/upb/encode.c \ - third_party/upb/upb/json_decode.c \ - third_party/upb/upb/json_encode.c \ third_party/upb/upb/msg.c \ third_party/upb/upb/reflection.c \ third_party/upb/upb/table.c \ @@ -1055,12 +1067,16 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/server/secure) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/transport) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/inproc) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/admin/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/annotations) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/accesslog/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/bootstrap/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/cluster/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/core/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/endpoint/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/listener/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/metrics/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/overload/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/rbac/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/route/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/trace/v3) @@ -1076,6 +1092,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/listener/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/load_stats/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/route/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/status/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/matcher/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/metadata/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/tracing/v3) @@ -1092,12 +1109,16 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/udpa/type/v1) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/validate) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/xds/core/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/admin/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/annotations) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/cluster/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/core/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/listener/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/metrics/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/overload/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/route/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/config/trace/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3) @@ -1112,6 +1133,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/service/listener/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/service/route/v3) + PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/service/status/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/type/matcher/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/type/metadata/v3) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/type/tracing/v3) diff --git a/config.w32 b/config.w32 index 16310893846..89b0fa88e9e 100644 --- a/config.w32 +++ b/config.w32 @@ -113,9 +113,11 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\transport\\chttp2\\transport\\writing.cc " + "src\\core\\ext\\transport\\inproc\\inproc_plugin.cc " + "src\\core\\ext\\transport\\inproc\\inproc_transport.cc " + + "src\\core\\ext\\upb-generated\\envoy\\admin\\v3\\config_dump.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\annotations\\deprecation.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\annotations\\resource.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\accesslog\\v3\\accesslog.upb.c " + + "src\\core\\ext\\upb-generated\\envoy\\config\\bootstrap\\v3\\bootstrap.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\circuit_breaker.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\cluster.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\filter.upb.c " + @@ -140,6 +142,8 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\listener.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\listener_components.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\udp_listener_config.upb.c " + + "src\\core\\ext\\upb-generated\\envoy\\config\\metrics\\v3\\stats.upb.c " + + "src\\core\\ext\\upb-generated\\envoy\\config\\overload\\v3\\overload.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\rbac\\v3\\rbac.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\route\\v3\\route.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\config\\route\\v3\\route_components.upb.c " + @@ -162,11 +166,14 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\upb-generated\\envoy\\service\\load_stats\\v3\\lrs.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\service\\route\\v3\\rds.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\service\\route\\v3\\srds.upb.c " + + "src\\core\\ext\\upb-generated\\envoy\\service\\status\\v3\\csds.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\metadata.upb.c " + + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\node.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\number.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\path.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\regex.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\string.upb.c " + + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\struct.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\value.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\metadata\\v3\\metadata.upb.c " + "src\\core\\ext\\upb-generated\\envoy\\type\\tracing\\v3\\custom_tag.upb.c " + @@ -205,9 +212,11 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\upb-generated\\xds\\core\\v3\\resource.upb.c " + "src\\core\\ext\\upb-generated\\xds\\core\\v3\\resource_locator.upb.c " + "src\\core\\ext\\upb-generated\\xds\\core\\v3\\resource_name.upb.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\admin\\v3\\config_dump.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\annotations\\deprecation.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\annotations\\resource.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\accesslog\\v3\\accesslog.upbdefs.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\bootstrap\\v3\\bootstrap.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\cluster\\v3\\circuit_breaker.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\cluster\\v3\\cluster.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\cluster\\v3\\filter.upbdefs.c " + @@ -232,6 +241,8 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\upbdefs-generated\\envoy\\config\\listener\\v3\\listener.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\listener\\v3\\listener_components.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\listener\\v3\\udp_listener_config.upbdefs.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\metrics\\v3\\stats.upbdefs.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\overload\\v3\\overload.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\route\\v3\\route.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\route\\v3\\route_components.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\config\\route\\v3\\scoped_route.upbdefs.c " + @@ -253,11 +264,14 @@ if (PHP_GRPC != "no") { "src\\core\\ext\\upbdefs-generated\\envoy\\service\\load_stats\\v3\\lrs.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\service\\route\\v3\\rds.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\service\\route\\v3\\srds.upbdefs.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\service\\status\\v3\\csds.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\metadata.upbdefs.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\node.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\number.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\path.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\regex.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\string.upbdefs.c " + + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\struct.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3\\value.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\metadata\\v3\\metadata.upbdefs.c " + "src\\core\\ext\\upbdefs-generated\\envoy\\type\\tracing\\v3\\custom_tag.upbdefs.c " + @@ -973,8 +987,6 @@ if (PHP_GRPC != "no") { "third_party\\upb\\upb\\decode_fast.c " + "third_party\\upb\\upb\\def.c " + "third_party\\upb\\upb\\encode.c " + - "third_party\\upb\\upb\\json_decode.c " + - "third_party\\upb\\upb\\json_encode.c " + "third_party\\upb\\upb\\msg.c " + "third_party\\upb\\upb\\reflection.c " + "third_party\\upb\\upb\\table.c " + @@ -1059,10 +1071,14 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\transport\\inproc"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\admin"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\admin\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\annotations"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\accesslog"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\accesslog\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\bootstrap"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\bootstrap\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\cluster"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\core"); @@ -1071,6 +1087,10 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\endpoint\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\listener"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\metrics"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\metrics\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\overload"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\overload\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\rbac"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\rbac\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\route"); @@ -1109,6 +1129,8 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\load_stats\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\route"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\route\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\status"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\status\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\matcher"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3"); @@ -1144,10 +1166,14 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\xds\\core\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\admin"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\admin\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\annotations"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\accesslog"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\accesslog\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\bootstrap"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\bootstrap\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\cluster"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\cluster\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\core"); @@ -1156,6 +1182,10 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\endpoint\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\listener"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\listener\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\metrics"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\metrics\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\overload"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\overload\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\route"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\route\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\config\\trace"); @@ -1192,6 +1222,8 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\service\\load_stats\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\service\\route"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\service\\route\\v3"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\service\\status"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\service\\status\\v3"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\type"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\type\\matcher\\v3"); diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec index 3428ecf330e..b45c5dd9fd1 100644 --- a/gRPC-C++.podspec +++ b/gRPC-C++.podspec @@ -284,9 +284,11 @@ Pod::Spec.new do |s| 'src/core/ext/transport/chttp2/transport/stream_map.h', 'src/core/ext/transport/chttp2/transport/varint.h', 'src/core/ext/transport/inproc/inproc_transport.h', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.h', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h', @@ -311,6 +313,8 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h', @@ -333,11 +337,14 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h', 'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h', 'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h', @@ -376,9 +383,11 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/xds/core/v3/resource.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h', @@ -403,6 +412,8 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h', @@ -424,11 +435,14 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h', @@ -813,8 +827,6 @@ Pod::Spec.new do |s| 'third_party/upb/upb/def.h', 'third_party/upb/upb/def.hpp', 'third_party/upb/upb/encode.h', - 'third_party/upb/upb/json_decode.h', - 'third_party/upb/upb/json_encode.h', 'third_party/upb/upb/msg.h', 'third_party/upb/upb/port_def.inc', 'third_party/upb/upb/port_undef.inc', @@ -910,9 +922,11 @@ Pod::Spec.new do |s| 'src/core/ext/transport/chttp2/transport/stream_map.h', 'src/core/ext/transport/chttp2/transport/varint.h', 'src/core/ext/transport/inproc/inproc_transport.h', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.h', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h', @@ -937,6 +951,8 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h', @@ -959,11 +975,14 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h', 'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h', 'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h', @@ -1002,9 +1021,11 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/xds/core/v3/resource.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h', @@ -1029,6 +1050,8 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h', @@ -1050,11 +1073,14 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h', @@ -1389,8 +1415,6 @@ Pod::Spec.new do |s| 'third_party/upb/upb/def.h', 'third_party/upb/upb/def.hpp', 'third_party/upb/upb/encode.h', - 'third_party/upb/upb/json_decode.h', - 'third_party/upb/upb/json_encode.h', 'third_party/upb/upb/msg.h', 'third_party/upb/upb/port_def.inc', 'third_party/upb/upb/port_undef.inc', diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index de2687563b8..7c77515f88a 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -379,12 +379,16 @@ Pod::Spec.new do |s| 'src/core/ext/transport/inproc/inproc_plugin.cc', 'src/core/ext/transport/inproc/inproc_transport.cc', 'src/core/ext/transport/inproc/inproc_transport.h', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.c', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.h', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c', @@ -433,6 +437,10 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c', @@ -477,8 +485,12 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c', @@ -487,6 +499,8 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h', 'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c', @@ -563,12 +577,16 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c', @@ -617,6 +635,10 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c', @@ -659,8 +681,12 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c', @@ -669,6 +695,8 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c', @@ -1352,10 +1380,6 @@ Pod::Spec.new do |s| 'third_party/upb/upb/def.hpp', 'third_party/upb/upb/encode.c', 'third_party/upb/upb/encode.h', - 'third_party/upb/upb/json_decode.c', - 'third_party/upb/upb/json_decode.h', - 'third_party/upb/upb/json_encode.c', - 'third_party/upb/upb/json_encode.h', 'third_party/upb/upb/msg.c', 'third_party/upb/upb/msg.h', 'third_party/upb/upb/port_def.inc', @@ -1455,9 +1479,11 @@ Pod::Spec.new do |s| 'src/core/ext/transport/chttp2/transport/stream_map.h', 'src/core/ext/transport/chttp2/transport/varint.h', 'src/core/ext/transport/inproc/inproc_transport.h', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.h', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h', 'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h', @@ -1482,6 +1508,8 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h', 'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h', @@ -1504,11 +1532,14 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h', 'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h', 'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h', @@ -1547,9 +1578,11 @@ Pod::Spec.new do |s| 'src/core/ext/upb-generated/xds/core/v3/resource.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h', @@ -1574,6 +1607,8 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h', @@ -1595,11 +1630,14 @@ Pod::Spec.new do |s| 'src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h', 'src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h', @@ -1923,8 +1961,6 @@ Pod::Spec.new do |s| 'third_party/upb/upb/def.h', 'third_party/upb/upb/def.hpp', 'third_party/upb/upb/encode.h', - 'third_party/upb/upb/json_decode.h', - 'third_party/upb/upb/json_encode.h', 'third_party/upb/upb/msg.h', 'third_party/upb/upb/port_def.inc', 'third_party/upb/upb/port_undef.inc', diff --git a/grpc.def b/grpc.def index 4dcb9edffb8..7be77a61868 100644 --- a/grpc.def +++ b/grpc.def @@ -75,6 +75,7 @@ EXPORTS grpc_resource_quota_unref grpc_resource_quota_resize grpc_resource_quota_set_max_threads + grpc_dump_xds_configs grpc_resource_quota_arg_vtable grpc_channelz_get_top_channels grpc_channelz_get_servers diff --git a/grpc.gemspec b/grpc.gemspec index e5146f97ba6..84367510cc7 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -295,12 +295,16 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/transport/inproc/inproc_plugin.cc ) s.files += %w( src/core/ext/transport/inproc/inproc_transport.cc ) s.files += %w( src/core/ext/transport/inproc/inproc_transport.h ) + s.files += %w( src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/annotations/resource.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/annotations/resource.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h ) + s.files += %w( src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c ) @@ -349,6 +353,10 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h ) + s.files += %w( src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h ) + s.files += %w( src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c ) @@ -393,8 +401,12 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h ) + s.files += %w( src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h ) + s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c ) @@ -403,6 +415,8 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h ) + s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c ) + s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c ) s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h ) s.files += %w( src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c ) @@ -479,12 +493,16 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h ) s.files += %w( src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c ) s.files += %w( src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c ) @@ -533,6 +551,10 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c ) @@ -575,8 +597,12 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c ) @@ -585,6 +611,8 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c ) + s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h ) s.files += %w( src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c ) @@ -2060,10 +2088,6 @@ Gem::Specification.new do |s| s.files += %w( third_party/upb/upb/def.hpp ) s.files += %w( third_party/upb/upb/encode.c ) s.files += %w( third_party/upb/upb/encode.h ) - s.files += %w( third_party/upb/upb/json_decode.c ) - s.files += %w( third_party/upb/upb/json_decode.h ) - s.files += %w( third_party/upb/upb/json_encode.c ) - s.files += %w( third_party/upb/upb/json_encode.h ) s.files += %w( third_party/upb/upb/msg.c ) s.files += %w( third_party/upb/upb/msg.h ) s.files += %w( third_party/upb/upb/port_def.inc ) diff --git a/grpc.gyp b/grpc.gyp index d40050b2d84..a66c6bb9d5c 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -562,9 +562,11 @@ 'src/core/ext/transport/chttp2/transport/writing.cc', 'src/core/ext/transport/inproc/inproc_plugin.cc', 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.c', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c', @@ -589,6 +591,8 @@ 'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c', 'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c', 'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c', 'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c', @@ -611,11 +615,14 @@ 'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c', 'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c', 'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c', 'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c', @@ -653,9 +660,11 @@ 'src/core/ext/upb-generated/xds/core/v3/resource.upb.c', 'src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c', @@ -680,6 +689,8 @@ 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c', @@ -701,11 +712,14 @@ 'src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c', @@ -1997,8 +2011,6 @@ 'third_party/upb/upb/decode.c', 'third_party/upb/upb/def.c', 'third_party/upb/upb/encode.c', - 'third_party/upb/upb/json_decode.c', - 'third_party/upb/upb/json_encode.c', 'third_party/upb/upb/msg.c', 'third_party/upb/upb/reflection.c', 'third_party/upb/upb/table.c', diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 88f78b8639a..156d4dbc088 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -505,6 +505,10 @@ GRPCAPI void grpc_resource_quota_resize(grpc_resource_quota* resource_quota, GRPCAPI void grpc_resource_quota_set_max_threads( grpc_resource_quota* resource_quota, int new_max_threads); +/** EXPERIMENTAL. Dumps xDS configs as a serialized ClientConfig proto. + The full name of the proto is envoy.service.status.v3.ClientConfig. */ +GRPCAPI grpc_slice grpc_dump_xds_configs(); + /** Fetch a vtable for a grpc_channel_arg that points to a grpc_resource_quota */ GRPCAPI const grpc_arg_pointer_vtable* grpc_resource_quota_arg_vtable(void); diff --git a/package.xml b/package.xml index a2f0ed81f84..26abf94deac 100644 --- a/package.xml +++ b/package.xml @@ -275,12 +275,16 @@ + + + + @@ -329,6 +333,10 @@ + + + + @@ -373,8 +381,12 @@ + + + + @@ -383,6 +395,8 @@ + + @@ -459,12 +473,16 @@ + + + + @@ -513,6 +531,10 @@ + + + + @@ -555,8 +577,12 @@ + + + + @@ -565,6 +591,8 @@ + + @@ -1985,10 +2013,6 @@ - - - - diff --git a/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c b/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c new file mode 100644 index 00000000000..d230ccb2ff6 --- /dev/null +++ b/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c @@ -0,0 +1,406 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/admin/v3/config_dump.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/admin/v3/config_dump.upb.h" +#include "envoy/config/bootstrap/v3/bootstrap.upb.h" +#include "google/protobuf/any.upb.h" +#include "google/protobuf/timestamp.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_admin_v3_ConfigDump_submsgs[1] = { + &google_protobuf_Any_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ConfigDump__fields[1] = { + {1, UPB_SIZE(0, 0), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_ConfigDump_msginit = { + &envoy_admin_v3_ConfigDump_submsgs[0], + &envoy_admin_v3_ConfigDump__fields[0], + UPB_SIZE(8, 8), 1, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_UpdateFailureState_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_UpdateFailureState__fields[4] = { + {1, UPB_SIZE(20, 40), 1, 0, 11, 1}, + {2, UPB_SIZE(24, 48), 2, 1, 11, 1}, + {3, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {4, UPB_SIZE(12, 24), 0, 0, 9, 1}, +}; + +const upb_msglayout envoy_admin_v3_UpdateFailureState_msginit = { + &envoy_admin_v3_UpdateFailureState_submsgs[0], + &envoy_admin_v3_UpdateFailureState__fields[0], + UPB_SIZE(32, 64), 4, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_BootstrapConfigDump_submsgs[2] = { + &envoy_config_bootstrap_v3_Bootstrap_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_BootstrapConfigDump__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_BootstrapConfigDump_msginit = { + &envoy_admin_v3_BootstrapConfigDump_submsgs[0], + &envoy_admin_v3_BootstrapConfigDump__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ListenersConfigDump_submsgs[2] = { + &envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, + &envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ListenersConfigDump__fields[3] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {2, UPB_SIZE(8, 16), 0, 1, 11, 3}, + {3, UPB_SIZE(12, 24), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_ListenersConfigDump_msginit = { + &envoy_admin_v3_ListenersConfigDump_submsgs[0], + &envoy_admin_v3_ListenersConfigDump__fields[0], + UPB_SIZE(16, 32), 3, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ListenersConfigDump_StaticListener_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ListenersConfigDump_StaticListener__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_ListenersConfigDump_StaticListener_msginit = { + &envoy_admin_v3_ListenersConfigDump_StaticListener_submsgs[0], + &envoy_admin_v3_ListenersConfigDump_StaticListener__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ListenersConfigDump_DynamicListenerState_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ListenersConfigDump_DynamicListenerState__fields[3] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 1, 0, 11, 1}, + {3, UPB_SIZE(16, 32), 2, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit = { + &envoy_admin_v3_ListenersConfigDump_DynamicListenerState_submsgs[0], + &envoy_admin_v3_ListenersConfigDump_DynamicListenerState__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ListenersConfigDump_DynamicListener_submsgs[2] = { + &envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, + &envoy_admin_v3_UpdateFailureState_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ListenersConfigDump_DynamicListener__fields[6] = { + {1, UPB_SIZE(8, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 24), 1, 0, 11, 1}, + {3, UPB_SIZE(20, 32), 2, 0, 11, 1}, + {4, UPB_SIZE(24, 40), 3, 0, 11, 1}, + {5, UPB_SIZE(28, 48), 4, 1, 11, 1}, + {6, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit = { + &envoy_admin_v3_ListenersConfigDump_DynamicListener_submsgs[0], + &envoy_admin_v3_ListenersConfigDump_DynamicListener__fields[0], + UPB_SIZE(32, 64), 6, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ClustersConfigDump_submsgs[2] = { + &envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, + &envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ClustersConfigDump__fields[4] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {2, UPB_SIZE(8, 16), 0, 1, 11, 3}, + {3, UPB_SIZE(12, 24), 0, 0, 11, 3}, + {4, UPB_SIZE(16, 32), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_ClustersConfigDump_msginit = { + &envoy_admin_v3_ClustersConfigDump_submsgs[0], + &envoy_admin_v3_ClustersConfigDump__fields[0], + UPB_SIZE(24, 48), 4, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ClustersConfigDump_StaticCluster_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ClustersConfigDump_StaticCluster__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit = { + &envoy_admin_v3_ClustersConfigDump_StaticCluster_submsgs[0], + &envoy_admin_v3_ClustersConfigDump_StaticCluster__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ClustersConfigDump_DynamicCluster_submsgs[3] = { + &envoy_admin_v3_UpdateFailureState_msginit, + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ClustersConfigDump_DynamicCluster__fields[5] = { + {1, UPB_SIZE(8, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 24), 1, 1, 11, 1}, + {3, UPB_SIZE(20, 32), 2, 2, 11, 1}, + {4, UPB_SIZE(24, 40), 3, 0, 11, 1}, + {5, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit = { + &envoy_admin_v3_ClustersConfigDump_DynamicCluster_submsgs[0], + &envoy_admin_v3_ClustersConfigDump_DynamicCluster__fields[0], + UPB_SIZE(32, 48), 5, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_RoutesConfigDump_submsgs[2] = { + &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, + &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_RoutesConfigDump__fields[2] = { + {2, UPB_SIZE(0, 0), 0, 1, 11, 3}, + {3, UPB_SIZE(4, 8), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_RoutesConfigDump_msginit = { + &envoy_admin_v3_RoutesConfigDump_submsgs[0], + &envoy_admin_v3_RoutesConfigDump__fields[0], + UPB_SIZE(8, 16), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_RoutesConfigDump_StaticRouteConfig__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit = { + &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_submsgs[0], + &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_submsgs[3] = { + &envoy_admin_v3_UpdateFailureState_msginit, + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig__fields[5] = { + {1, UPB_SIZE(8, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 24), 1, 1, 11, 1}, + {3, UPB_SIZE(20, 32), 2, 2, 11, 1}, + {4, UPB_SIZE(24, 40), 3, 0, 11, 1}, + {5, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit = { + &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_submsgs[0], + &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig__fields[0], + UPB_SIZE(32, 48), 5, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ScopedRoutesConfigDump_submsgs[2] = { + &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, + &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ScopedRoutesConfigDump__fields[2] = { + {1, UPB_SIZE(0, 0), 0, 1, 11, 3}, + {2, UPB_SIZE(4, 8), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_msginit = { + &envoy_admin_v3_ScopedRoutesConfigDump_submsgs[0], + &envoy_admin_v3_ScopedRoutesConfigDump__fields[0], + UPB_SIZE(8, 16), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs__fields[3] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 32), 0, 0, 11, 3}, + {3, UPB_SIZE(12, 24), 1, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit = { + &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_submsgs[0], + &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_submsgs[3] = { + &envoy_admin_v3_UpdateFailureState_msginit, + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs__fields[6] = { + {1, UPB_SIZE(8, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 24), 0, 0, 9, 1}, + {3, UPB_SIZE(32, 56), 0, 1, 11, 3}, + {4, UPB_SIZE(24, 40), 1, 2, 11, 1}, + {5, UPB_SIZE(28, 48), 2, 0, 11, 1}, + {6, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit = { + &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_submsgs[0], + &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs__fields[0], + UPB_SIZE(40, 64), 6, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_SecretsConfigDump_submsgs[2] = { + &envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, + &envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_SecretsConfigDump__fields[3] = { + {1, UPB_SIZE(0, 0), 0, 1, 11, 3}, + {2, UPB_SIZE(4, 8), 0, 0, 11, 3}, + {3, UPB_SIZE(8, 16), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_SecretsConfigDump_msginit = { + &envoy_admin_v3_SecretsConfigDump_submsgs[0], + &envoy_admin_v3_SecretsConfigDump__fields[0], + UPB_SIZE(16, 24), 3, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_SecretsConfigDump_DynamicSecret_submsgs[3] = { + &envoy_admin_v3_UpdateFailureState_msginit, + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_SecretsConfigDump_DynamicSecret__fields[6] = { + {1, UPB_SIZE(8, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 24), 0, 0, 9, 1}, + {3, UPB_SIZE(24, 40), 1, 2, 11, 1}, + {4, UPB_SIZE(28, 48), 2, 1, 11, 1}, + {5, UPB_SIZE(32, 56), 3, 0, 11, 1}, + {6, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit = { + &envoy_admin_v3_SecretsConfigDump_DynamicSecret_submsgs[0], + &envoy_admin_v3_SecretsConfigDump_DynamicSecret__fields[0], + UPB_SIZE(40, 64), 6, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_SecretsConfigDump_StaticSecret_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_SecretsConfigDump_StaticSecret__fields[3] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 1, 1, 11, 1}, + {3, UPB_SIZE(16, 32), 2, 0, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit = { + &envoy_admin_v3_SecretsConfigDump_StaticSecret_submsgs[0], + &envoy_admin_v3_SecretsConfigDump_StaticSecret__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_EndpointsConfigDump_submsgs[2] = { + &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, + &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_EndpointsConfigDump__fields[2] = { + {2, UPB_SIZE(0, 0), 0, 1, 11, 3}, + {3, UPB_SIZE(4, 8), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_admin_v3_EndpointsConfigDump_msginit = { + &envoy_admin_v3_EndpointsConfigDump_submsgs[0], + &envoy_admin_v3_EndpointsConfigDump__fields[0], + UPB_SIZE(8, 16), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_submsgs[2] = { + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 1, 11, 1}, +}; + +const upb_msglayout envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit = { + &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_submsgs[0], + &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_submsgs[3] = { + &envoy_admin_v3_UpdateFailureState_msginit, + &google_protobuf_Any_msginit, + &google_protobuf_Timestamp_msginit, +}; + +static const upb_msglayout_field envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig__fields[5] = { + {1, UPB_SIZE(8, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 24), 1, 1, 11, 1}, + {3, UPB_SIZE(20, 32), 2, 2, 11, 1}, + {4, UPB_SIZE(24, 40), 3, 0, 11, 1}, + {5, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit = { + &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_submsgs[0], + &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig__fields[0], + UPB_SIZE(32, 48), 5, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h b/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h new file mode 100644 index 00000000000..6f117c6659d --- /dev/null +++ b/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h @@ -0,0 +1,1459 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/admin/v3/config_dump.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_ADMIN_V3_CONFIG_DUMP_PROTO_UPB_H_ +#define ENVOY_ADMIN_V3_CONFIG_DUMP_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_admin_v3_ConfigDump; +struct envoy_admin_v3_UpdateFailureState; +struct envoy_admin_v3_BootstrapConfigDump; +struct envoy_admin_v3_ListenersConfigDump; +struct envoy_admin_v3_ListenersConfigDump_StaticListener; +struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState; +struct envoy_admin_v3_ListenersConfigDump_DynamicListener; +struct envoy_admin_v3_ClustersConfigDump; +struct envoy_admin_v3_ClustersConfigDump_StaticCluster; +struct envoy_admin_v3_ClustersConfigDump_DynamicCluster; +struct envoy_admin_v3_RoutesConfigDump; +struct envoy_admin_v3_RoutesConfigDump_StaticRouteConfig; +struct envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig; +struct envoy_admin_v3_ScopedRoutesConfigDump; +struct envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs; +struct envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs; +struct envoy_admin_v3_SecretsConfigDump; +struct envoy_admin_v3_SecretsConfigDump_DynamicSecret; +struct envoy_admin_v3_SecretsConfigDump_StaticSecret; +struct envoy_admin_v3_EndpointsConfigDump; +struct envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig; +struct envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig; +typedef struct envoy_admin_v3_ConfigDump envoy_admin_v3_ConfigDump; +typedef struct envoy_admin_v3_UpdateFailureState envoy_admin_v3_UpdateFailureState; +typedef struct envoy_admin_v3_BootstrapConfigDump envoy_admin_v3_BootstrapConfigDump; +typedef struct envoy_admin_v3_ListenersConfigDump envoy_admin_v3_ListenersConfigDump; +typedef struct envoy_admin_v3_ListenersConfigDump_StaticListener envoy_admin_v3_ListenersConfigDump_StaticListener; +typedef struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState envoy_admin_v3_ListenersConfigDump_DynamicListenerState; +typedef struct envoy_admin_v3_ListenersConfigDump_DynamicListener envoy_admin_v3_ListenersConfigDump_DynamicListener; +typedef struct envoy_admin_v3_ClustersConfigDump envoy_admin_v3_ClustersConfigDump; +typedef struct envoy_admin_v3_ClustersConfigDump_StaticCluster envoy_admin_v3_ClustersConfigDump_StaticCluster; +typedef struct envoy_admin_v3_ClustersConfigDump_DynamicCluster envoy_admin_v3_ClustersConfigDump_DynamicCluster; +typedef struct envoy_admin_v3_RoutesConfigDump envoy_admin_v3_RoutesConfigDump; +typedef struct envoy_admin_v3_RoutesConfigDump_StaticRouteConfig envoy_admin_v3_RoutesConfigDump_StaticRouteConfig; +typedef struct envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig; +typedef struct envoy_admin_v3_ScopedRoutesConfigDump envoy_admin_v3_ScopedRoutesConfigDump; +typedef struct envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs; +typedef struct envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs; +typedef struct envoy_admin_v3_SecretsConfigDump envoy_admin_v3_SecretsConfigDump; +typedef struct envoy_admin_v3_SecretsConfigDump_DynamicSecret envoy_admin_v3_SecretsConfigDump_DynamicSecret; +typedef struct envoy_admin_v3_SecretsConfigDump_StaticSecret envoy_admin_v3_SecretsConfigDump_StaticSecret; +typedef struct envoy_admin_v3_EndpointsConfigDump envoy_admin_v3_EndpointsConfigDump; +typedef struct envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig; +typedef struct envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig; +extern const upb_msglayout envoy_admin_v3_ConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_UpdateFailureState_msginit; +extern const upb_msglayout envoy_admin_v3_BootstrapConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_StaticListener_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit; +extern const upb_msglayout envoy_admin_v3_SecretsConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit; +extern const upb_msglayout envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit; +struct envoy_config_bootstrap_v3_Bootstrap; +struct google_protobuf_Any; +struct google_protobuf_Timestamp; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_msginit; +extern const upb_msglayout google_protobuf_Any_msginit; +extern const upb_msglayout google_protobuf_Timestamp_msginit; + +typedef enum { + envoy_admin_v3_UNKNOWN = 0, + envoy_admin_v3_REQUESTED = 1, + envoy_admin_v3_DOES_NOT_EXIST = 2, + envoy_admin_v3_ACKED = 3, + envoy_admin_v3_NACKED = 4 +} envoy_admin_v3_ClientResourceStatus; + + +/* envoy.admin.v3.ConfigDump */ + +UPB_INLINE envoy_admin_v3_ConfigDump *envoy_admin_v3_ConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_ConfigDump *)_upb_msg_new(&envoy_admin_v3_ConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ConfigDump *envoy_admin_v3_ConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ConfigDump *ret = envoy_admin_v3_ConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ConfigDump *envoy_admin_v3_ConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ConfigDump *ret = envoy_admin_v3_ConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ConfigDump_serialize(const envoy_admin_v3_ConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ConfigDump_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_ConfigDump_has_configs(const envoy_admin_v3_ConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const struct google_protobuf_Any* const* envoy_admin_v3_ConfigDump_configs(const envoy_admin_v3_ConfigDump *msg, size_t *len) { return (const struct google_protobuf_Any* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } + +UPB_INLINE struct google_protobuf_Any** envoy_admin_v3_ConfigDump_mutable_configs(envoy_admin_v3_ConfigDump *msg, size_t *len) { + return (struct google_protobuf_Any**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE struct google_protobuf_Any** envoy_admin_v3_ConfigDump_resize_configs(envoy_admin_v3_ConfigDump *msg, size_t len, upb_arena *arena) { + return (struct google_protobuf_Any**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ConfigDump_add_configs(envoy_admin_v3_ConfigDump *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.UpdateFailureState */ + +UPB_INLINE envoy_admin_v3_UpdateFailureState *envoy_admin_v3_UpdateFailureState_new(upb_arena *arena) { + return (envoy_admin_v3_UpdateFailureState *)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); +} +UPB_INLINE envoy_admin_v3_UpdateFailureState *envoy_admin_v3_UpdateFailureState_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_UpdateFailureState *ret = envoy_admin_v3_UpdateFailureState_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_UpdateFailureState_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_UpdateFailureState *envoy_admin_v3_UpdateFailureState_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_UpdateFailureState *ret = envoy_admin_v3_UpdateFailureState_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_UpdateFailureState_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_UpdateFailureState_serialize(const envoy_admin_v3_UpdateFailureState *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_UpdateFailureState_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_UpdateFailureState_has_failed_configuration(const envoy_admin_v3_UpdateFailureState *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_UpdateFailureState_failed_configuration(const envoy_admin_v3_UpdateFailureState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_UpdateFailureState_has_last_update_attempt(const envoy_admin_v3_UpdateFailureState *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_UpdateFailureState_last_update_attempt(const envoy_admin_v3_UpdateFailureState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 48), const struct google_protobuf_Timestamp*); } +UPB_INLINE upb_strview envoy_admin_v3_UpdateFailureState_details(const envoy_admin_v3_UpdateFailureState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE upb_strview envoy_admin_v3_UpdateFailureState_version_info(const envoy_admin_v3_UpdateFailureState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); } + +UPB_INLINE void envoy_admin_v3_UpdateFailureState_set_failed_configuration(envoy_admin_v3_UpdateFailureState *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_UpdateFailureState_mutable_failed_configuration(envoy_admin_v3_UpdateFailureState *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_UpdateFailureState_failed_configuration(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_UpdateFailureState_set_failed_configuration(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_UpdateFailureState_set_last_update_attempt(envoy_admin_v3_UpdateFailureState *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(24, 48), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_UpdateFailureState_mutable_last_update_attempt(envoy_admin_v3_UpdateFailureState *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_UpdateFailureState_last_update_attempt(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_UpdateFailureState_set_last_update_attempt(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_UpdateFailureState_set_details(envoy_admin_v3_UpdateFailureState *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_UpdateFailureState_set_version_info(envoy_admin_v3_UpdateFailureState *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value; +} + +/* envoy.admin.v3.BootstrapConfigDump */ + +UPB_INLINE envoy_admin_v3_BootstrapConfigDump *envoy_admin_v3_BootstrapConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_BootstrapConfigDump *)_upb_msg_new(&envoy_admin_v3_BootstrapConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_BootstrapConfigDump *envoy_admin_v3_BootstrapConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_BootstrapConfigDump *ret = envoy_admin_v3_BootstrapConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_BootstrapConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_BootstrapConfigDump *envoy_admin_v3_BootstrapConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_BootstrapConfigDump *ret = envoy_admin_v3_BootstrapConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_BootstrapConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_BootstrapConfigDump_serialize(const envoy_admin_v3_BootstrapConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_BootstrapConfigDump_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_BootstrapConfigDump_has_bootstrap(const envoy_admin_v3_BootstrapConfigDump *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_bootstrap_v3_Bootstrap* envoy_admin_v3_BootstrapConfigDump_bootstrap(const envoy_admin_v3_BootstrapConfigDump *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_bootstrap_v3_Bootstrap*); } +UPB_INLINE bool envoy_admin_v3_BootstrapConfigDump_has_last_updated(const envoy_admin_v3_BootstrapConfigDump *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_BootstrapConfigDump_last_updated(const envoy_admin_v3_BootstrapConfigDump *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_BootstrapConfigDump_set_bootstrap(envoy_admin_v3_BootstrapConfigDump *msg, struct envoy_config_bootstrap_v3_Bootstrap* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_bootstrap_v3_Bootstrap*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Bootstrap* envoy_admin_v3_BootstrapConfigDump_mutable_bootstrap(envoy_admin_v3_BootstrapConfigDump *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Bootstrap* sub = (struct envoy_config_bootstrap_v3_Bootstrap*)envoy_admin_v3_BootstrapConfigDump_bootstrap(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Bootstrap*)_upb_msg_new(&envoy_config_bootstrap_v3_Bootstrap_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_BootstrapConfigDump_set_bootstrap(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_BootstrapConfigDump_set_last_updated(envoy_admin_v3_BootstrapConfigDump *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_BootstrapConfigDump_mutable_last_updated(envoy_admin_v3_BootstrapConfigDump *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_BootstrapConfigDump_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_BootstrapConfigDump_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.ListenersConfigDump */ + +UPB_INLINE envoy_admin_v3_ListenersConfigDump *envoy_admin_v3_ListenersConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_ListenersConfigDump *)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump *envoy_admin_v3_ListenersConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ListenersConfigDump *ret = envoy_admin_v3_ListenersConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump *envoy_admin_v3_ListenersConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ListenersConfigDump *ret = envoy_admin_v3_ListenersConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ListenersConfigDump_serialize(const envoy_admin_v3_ListenersConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ListenersConfigDump_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ListenersConfigDump_version_info(const envoy_admin_v3_ListenersConfigDump *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_has_static_listeners(const envoy_admin_v3_ListenersConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const envoy_admin_v3_ListenersConfigDump_StaticListener* const* envoy_admin_v3_ListenersConfigDump_static_listeners(const envoy_admin_v3_ListenersConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ListenersConfigDump_StaticListener* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_has_dynamic_listeners(const envoy_admin_v3_ListenersConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); } +UPB_INLINE const envoy_admin_v3_ListenersConfigDump_DynamicListener* const* envoy_admin_v3_ListenersConfigDump_dynamic_listeners(const envoy_admin_v3_ListenersConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ListenersConfigDump_DynamicListener* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); } + +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_set_version_info(envoy_admin_v3_ListenersConfigDump *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_StaticListener** envoy_admin_v3_ListenersConfigDump_mutable_static_listeners(envoy_admin_v3_ListenersConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ListenersConfigDump_StaticListener**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_StaticListener** envoy_admin_v3_ListenersConfigDump_resize_static_listeners(envoy_admin_v3_ListenersConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ListenersConfigDump_StaticListener**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ListenersConfigDump_StaticListener* envoy_admin_v3_ListenersConfigDump_add_static_listeners(envoy_admin_v3_ListenersConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ListenersConfigDump_StaticListener* sub = (struct envoy_admin_v3_ListenersConfigDump_StaticListener*)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListener** envoy_admin_v3_ListenersConfigDump_mutable_dynamic_listeners(envoy_admin_v3_ListenersConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ListenersConfigDump_DynamicListener**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len); +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListener** envoy_admin_v3_ListenersConfigDump_resize_dynamic_listeners(envoy_admin_v3_ListenersConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ListenersConfigDump_DynamicListener**)_upb_array_resize_accessor2(msg, UPB_SIZE(12, 24), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ListenersConfigDump_DynamicListener* envoy_admin_v3_ListenersConfigDump_add_dynamic_listeners(envoy_admin_v3_ListenersConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ListenersConfigDump_DynamicListener* sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListener*)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(12, 24), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.ListenersConfigDump.StaticListener */ + +UPB_INLINE envoy_admin_v3_ListenersConfigDump_StaticListener *envoy_admin_v3_ListenersConfigDump_StaticListener_new(upb_arena *arena) { + return (envoy_admin_v3_ListenersConfigDump_StaticListener *)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_StaticListener *envoy_admin_v3_ListenersConfigDump_StaticListener_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ListenersConfigDump_StaticListener *ret = envoy_admin_v3_ListenersConfigDump_StaticListener_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_StaticListener *envoy_admin_v3_ListenersConfigDump_StaticListener_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ListenersConfigDump_StaticListener *ret = envoy_admin_v3_ListenersConfigDump_StaticListener_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ListenersConfigDump_StaticListener_serialize(const envoy_admin_v3_ListenersConfigDump_StaticListener *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_StaticListener_has_listener(const envoy_admin_v3_ListenersConfigDump_StaticListener *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_ListenersConfigDump_StaticListener_listener(const envoy_admin_v3_ListenersConfigDump_StaticListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_StaticListener_has_last_updated(const envoy_admin_v3_ListenersConfigDump_StaticListener *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_ListenersConfigDump_StaticListener_last_updated(const envoy_admin_v3_ListenersConfigDump_StaticListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_StaticListener_set_listener(envoy_admin_v3_ListenersConfigDump_StaticListener *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ListenersConfigDump_StaticListener_mutable_listener(envoy_admin_v3_ListenersConfigDump_StaticListener *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_ListenersConfigDump_StaticListener_listener(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_StaticListener_set_listener(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_StaticListener_set_last_updated(envoy_admin_v3_ListenersConfigDump_StaticListener *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_ListenersConfigDump_StaticListener_mutable_last_updated(envoy_admin_v3_ListenersConfigDump_StaticListener *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_ListenersConfigDump_StaticListener_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_StaticListener_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.ListenersConfigDump.DynamicListenerState */ + +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListenerState *envoy_admin_v3_ListenersConfigDump_DynamicListenerState_new(upb_arena *arena) { + return (envoy_admin_v3_ListenersConfigDump_DynamicListenerState *)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListenerState *envoy_admin_v3_ListenersConfigDump_DynamicListenerState_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ListenersConfigDump_DynamicListenerState *ret = envoy_admin_v3_ListenersConfigDump_DynamicListenerState_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListenerState *envoy_admin_v3_ListenersConfigDump_DynamicListenerState_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ListenersConfigDump_DynamicListenerState *ret = envoy_admin_v3_ListenersConfigDump_DynamicListenerState_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ListenersConfigDump_DynamicListenerState_serialize(const envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ListenersConfigDump_DynamicListenerState_version_info(const envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_DynamicListenerState_has_listener(const envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_ListenersConfigDump_DynamicListenerState_listener(const envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_DynamicListenerState_has_last_updated(const envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_ListenersConfigDump_DynamicListenerState_last_updated(const envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_version_info(envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_listener(envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ListenersConfigDump_DynamicListenerState_mutable_listener(envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_ListenersConfigDump_DynamicListenerState_listener(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_listener(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_last_updated(envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_ListenersConfigDump_DynamicListenerState_mutable_last_updated(envoy_admin_v3_ListenersConfigDump_DynamicListenerState *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_ListenersConfigDump_DynamicListenerState_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.ListenersConfigDump.DynamicListener */ + +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListener *envoy_admin_v3_ListenersConfigDump_DynamicListener_new(upb_arena *arena) { + return (envoy_admin_v3_ListenersConfigDump_DynamicListener *)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListener *envoy_admin_v3_ListenersConfigDump_DynamicListener_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ListenersConfigDump_DynamicListener *ret = envoy_admin_v3_ListenersConfigDump_DynamicListener_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ListenersConfigDump_DynamicListener *envoy_admin_v3_ListenersConfigDump_DynamicListener_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ListenersConfigDump_DynamicListener *ret = envoy_admin_v3_ListenersConfigDump_DynamicListener_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ListenersConfigDump_DynamicListener_serialize(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ListenersConfigDump_DynamicListener_name(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_DynamicListener_has_active_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const envoy_admin_v3_ListenersConfigDump_DynamicListenerState* envoy_admin_v3_ListenersConfigDump_DynamicListener_active_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const envoy_admin_v3_ListenersConfigDump_DynamicListenerState*); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_DynamicListener_has_warming_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const envoy_admin_v3_ListenersConfigDump_DynamicListenerState* envoy_admin_v3_ListenersConfigDump_DynamicListener_warming_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const envoy_admin_v3_ListenersConfigDump_DynamicListenerState*); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_DynamicListener_has_draining_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const envoy_admin_v3_ListenersConfigDump_DynamicListenerState* envoy_admin_v3_ListenersConfigDump_DynamicListener_draining_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const envoy_admin_v3_ListenersConfigDump_DynamicListenerState*); } +UPB_INLINE bool envoy_admin_v3_ListenersConfigDump_DynamicListener_has_error_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return _upb_hasbit(msg, 4); } +UPB_INLINE const envoy_admin_v3_UpdateFailureState* envoy_admin_v3_ListenersConfigDump_DynamicListener_error_state(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const envoy_admin_v3_UpdateFailureState*); } +UPB_INLINE int32_t envoy_admin_v3_ListenersConfigDump_DynamicListener_client_status(const envoy_admin_v3_ListenersConfigDump_DynamicListener *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListener_set_name(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListener_set_active_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, envoy_admin_v3_ListenersConfigDump_DynamicListenerState* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(16, 24), envoy_admin_v3_ListenersConfigDump_DynamicListenerState*) = value; +} +UPB_INLINE struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState* envoy_admin_v3_ListenersConfigDump_DynamicListener_mutable_active_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, upb_arena *arena) { + struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState* sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState*)envoy_admin_v3_ListenersConfigDump_DynamicListener_active_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState*)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_active_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListener_set_warming_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, envoy_admin_v3_ListenersConfigDump_DynamicListenerState* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(20, 32), envoy_admin_v3_ListenersConfigDump_DynamicListenerState*) = value; +} +UPB_INLINE struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState* envoy_admin_v3_ListenersConfigDump_DynamicListener_mutable_warming_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, upb_arena *arena) { + struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState* sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState*)envoy_admin_v3_ListenersConfigDump_DynamicListener_warming_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState*)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_warming_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListener_set_draining_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, envoy_admin_v3_ListenersConfigDump_DynamicListenerState* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(24, 40), envoy_admin_v3_ListenersConfigDump_DynamicListenerState*) = value; +} +UPB_INLINE struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState* envoy_admin_v3_ListenersConfigDump_DynamicListener_mutable_draining_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, upb_arena *arena) { + struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState* sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState*)envoy_admin_v3_ListenersConfigDump_DynamicListener_draining_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_ListenersConfigDump_DynamicListenerState*)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_draining_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListener_set_error_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, envoy_admin_v3_UpdateFailureState* value) { + _upb_sethas(msg, 4); + *UPB_PTR_AT(msg, UPB_SIZE(28, 48), envoy_admin_v3_UpdateFailureState*) = value; +} +UPB_INLINE struct envoy_admin_v3_UpdateFailureState* envoy_admin_v3_ListenersConfigDump_DynamicListener_mutable_error_state(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, upb_arena *arena) { + struct envoy_admin_v3_UpdateFailureState* sub = (struct envoy_admin_v3_UpdateFailureState*)envoy_admin_v3_ListenersConfigDump_DynamicListener_error_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_UpdateFailureState*)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_error_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ListenersConfigDump_DynamicListener_set_client_status(envoy_admin_v3_ListenersConfigDump_DynamicListener *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.admin.v3.ClustersConfigDump */ + +UPB_INLINE envoy_admin_v3_ClustersConfigDump *envoy_admin_v3_ClustersConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_ClustersConfigDump *)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump *envoy_admin_v3_ClustersConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ClustersConfigDump *ret = envoy_admin_v3_ClustersConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ClustersConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump *envoy_admin_v3_ClustersConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ClustersConfigDump *ret = envoy_admin_v3_ClustersConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ClustersConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ClustersConfigDump_serialize(const envoy_admin_v3_ClustersConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ClustersConfigDump_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ClustersConfigDump_version_info(const envoy_admin_v3_ClustersConfigDump *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_has_static_clusters(const envoy_admin_v3_ClustersConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const envoy_admin_v3_ClustersConfigDump_StaticCluster* const* envoy_admin_v3_ClustersConfigDump_static_clusters(const envoy_admin_v3_ClustersConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ClustersConfigDump_StaticCluster* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_has_dynamic_active_clusters(const envoy_admin_v3_ClustersConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); } +UPB_INLINE const envoy_admin_v3_ClustersConfigDump_DynamicCluster* const* envoy_admin_v3_ClustersConfigDump_dynamic_active_clusters(const envoy_admin_v3_ClustersConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ClustersConfigDump_DynamicCluster* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_has_dynamic_warming_clusters(const envoy_admin_v3_ClustersConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); } +UPB_INLINE const envoy_admin_v3_ClustersConfigDump_DynamicCluster* const* envoy_admin_v3_ClustersConfigDump_dynamic_warming_clusters(const envoy_admin_v3_ClustersConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ClustersConfigDump_DynamicCluster* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); } + +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_set_version_info(envoy_admin_v3_ClustersConfigDump *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_StaticCluster** envoy_admin_v3_ClustersConfigDump_mutable_static_clusters(envoy_admin_v3_ClustersConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ClustersConfigDump_StaticCluster**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_StaticCluster** envoy_admin_v3_ClustersConfigDump_resize_static_clusters(envoy_admin_v3_ClustersConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ClustersConfigDump_StaticCluster**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ClustersConfigDump_StaticCluster* envoy_admin_v3_ClustersConfigDump_add_static_clusters(envoy_admin_v3_ClustersConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ClustersConfigDump_StaticCluster* sub = (struct envoy_admin_v3_ClustersConfigDump_StaticCluster*)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster** envoy_admin_v3_ClustersConfigDump_mutable_dynamic_active_clusters(envoy_admin_v3_ClustersConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ClustersConfigDump_DynamicCluster**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len); +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster** envoy_admin_v3_ClustersConfigDump_resize_dynamic_active_clusters(envoy_admin_v3_ClustersConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ClustersConfigDump_DynamicCluster**)_upb_array_resize_accessor2(msg, UPB_SIZE(12, 24), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ClustersConfigDump_DynamicCluster* envoy_admin_v3_ClustersConfigDump_add_dynamic_active_clusters(envoy_admin_v3_ClustersConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ClustersConfigDump_DynamicCluster* sub = (struct envoy_admin_v3_ClustersConfigDump_DynamicCluster*)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(12, 24), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster** envoy_admin_v3_ClustersConfigDump_mutable_dynamic_warming_clusters(envoy_admin_v3_ClustersConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ClustersConfigDump_DynamicCluster**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len); +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster** envoy_admin_v3_ClustersConfigDump_resize_dynamic_warming_clusters(envoy_admin_v3_ClustersConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ClustersConfigDump_DynamicCluster**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ClustersConfigDump_DynamicCluster* envoy_admin_v3_ClustersConfigDump_add_dynamic_warming_clusters(envoy_admin_v3_ClustersConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ClustersConfigDump_DynamicCluster* sub = (struct envoy_admin_v3_ClustersConfigDump_DynamicCluster*)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.ClustersConfigDump.StaticCluster */ + +UPB_INLINE envoy_admin_v3_ClustersConfigDump_StaticCluster *envoy_admin_v3_ClustersConfigDump_StaticCluster_new(upb_arena *arena) { + return (envoy_admin_v3_ClustersConfigDump_StaticCluster *)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_StaticCluster *envoy_admin_v3_ClustersConfigDump_StaticCluster_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ClustersConfigDump_StaticCluster *ret = envoy_admin_v3_ClustersConfigDump_StaticCluster_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_StaticCluster *envoy_admin_v3_ClustersConfigDump_StaticCluster_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ClustersConfigDump_StaticCluster *ret = envoy_admin_v3_ClustersConfigDump_StaticCluster_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ClustersConfigDump_StaticCluster_serialize(const envoy_admin_v3_ClustersConfigDump_StaticCluster *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_StaticCluster_has_cluster(const envoy_admin_v3_ClustersConfigDump_StaticCluster *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_ClustersConfigDump_StaticCluster_cluster(const envoy_admin_v3_ClustersConfigDump_StaticCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_StaticCluster_has_last_updated(const envoy_admin_v3_ClustersConfigDump_StaticCluster *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_ClustersConfigDump_StaticCluster_last_updated(const envoy_admin_v3_ClustersConfigDump_StaticCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_StaticCluster_set_cluster(envoy_admin_v3_ClustersConfigDump_StaticCluster *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ClustersConfigDump_StaticCluster_mutable_cluster(envoy_admin_v3_ClustersConfigDump_StaticCluster *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_ClustersConfigDump_StaticCluster_cluster(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ClustersConfigDump_StaticCluster_set_cluster(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_StaticCluster_set_last_updated(envoy_admin_v3_ClustersConfigDump_StaticCluster *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_ClustersConfigDump_StaticCluster_mutable_last_updated(envoy_admin_v3_ClustersConfigDump_StaticCluster *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_ClustersConfigDump_StaticCluster_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ClustersConfigDump_StaticCluster_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.ClustersConfigDump.DynamicCluster */ + +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster *envoy_admin_v3_ClustersConfigDump_DynamicCluster_new(upb_arena *arena) { + return (envoy_admin_v3_ClustersConfigDump_DynamicCluster *)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster *envoy_admin_v3_ClustersConfigDump_DynamicCluster_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ClustersConfigDump_DynamicCluster *ret = envoy_admin_v3_ClustersConfigDump_DynamicCluster_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ClustersConfigDump_DynamicCluster *envoy_admin_v3_ClustersConfigDump_DynamicCluster_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ClustersConfigDump_DynamicCluster *ret = envoy_admin_v3_ClustersConfigDump_DynamicCluster_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ClustersConfigDump_DynamicCluster_serialize(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ClustersConfigDump_DynamicCluster_version_info(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_DynamicCluster_has_cluster(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_ClustersConfigDump_DynamicCluster_cluster(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_DynamicCluster_has_last_updated(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_ClustersConfigDump_DynamicCluster_last_updated(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_Timestamp*); } +UPB_INLINE bool envoy_admin_v3_ClustersConfigDump_DynamicCluster_has_error_state(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const envoy_admin_v3_UpdateFailureState* envoy_admin_v3_ClustersConfigDump_DynamicCluster_error_state(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const envoy_admin_v3_UpdateFailureState*); } +UPB_INLINE int32_t envoy_admin_v3_ClustersConfigDump_DynamicCluster_client_status(const envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_version_info(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_cluster(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ClustersConfigDump_DynamicCluster_mutable_cluster(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_ClustersConfigDump_DynamicCluster_cluster(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_cluster(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_last_updated(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_ClustersConfigDump_DynamicCluster_mutable_last_updated(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_ClustersConfigDump_DynamicCluster_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_last_updated(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_error_state(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, envoy_admin_v3_UpdateFailureState* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(24, 40), envoy_admin_v3_UpdateFailureState*) = value; +} +UPB_INLINE struct envoy_admin_v3_UpdateFailureState* envoy_admin_v3_ClustersConfigDump_DynamicCluster_mutable_error_state(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, upb_arena *arena) { + struct envoy_admin_v3_UpdateFailureState* sub = (struct envoy_admin_v3_UpdateFailureState*)envoy_admin_v3_ClustersConfigDump_DynamicCluster_error_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_UpdateFailureState*)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_error_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_client_status(envoy_admin_v3_ClustersConfigDump_DynamicCluster *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.admin.v3.RoutesConfigDump */ + +UPB_INLINE envoy_admin_v3_RoutesConfigDump *envoy_admin_v3_RoutesConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_RoutesConfigDump *)_upb_msg_new(&envoy_admin_v3_RoutesConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump *envoy_admin_v3_RoutesConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_RoutesConfigDump *ret = envoy_admin_v3_RoutesConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_RoutesConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump *envoy_admin_v3_RoutesConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_RoutesConfigDump *ret = envoy_admin_v3_RoutesConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_RoutesConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_RoutesConfigDump_serialize(const envoy_admin_v3_RoutesConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_RoutesConfigDump_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_has_static_route_configs(const envoy_admin_v3_RoutesConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig* const* envoy_admin_v3_RoutesConfigDump_static_route_configs(const envoy_admin_v3_RoutesConfigDump *msg, size_t *len) { return (const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_has_dynamic_route_configs(const envoy_admin_v3_RoutesConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); } +UPB_INLINE const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig* const* envoy_admin_v3_RoutesConfigDump_dynamic_route_configs(const envoy_admin_v3_RoutesConfigDump *msg, size_t *len) { return (const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); } + +UPB_INLINE envoy_admin_v3_RoutesConfigDump_StaticRouteConfig** envoy_admin_v3_RoutesConfigDump_mutable_static_route_configs(envoy_admin_v3_RoutesConfigDump *msg, size_t *len) { + return (envoy_admin_v3_RoutesConfigDump_StaticRouteConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_StaticRouteConfig** envoy_admin_v3_RoutesConfigDump_resize_static_route_configs(envoy_admin_v3_RoutesConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_RoutesConfigDump_StaticRouteConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_RoutesConfigDump_StaticRouteConfig* envoy_admin_v3_RoutesConfigDump_add_static_route_configs(envoy_admin_v3_RoutesConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_RoutesConfigDump_StaticRouteConfig* sub = (struct envoy_admin_v3_RoutesConfigDump_StaticRouteConfig*)_upb_msg_new(&envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig** envoy_admin_v3_RoutesConfigDump_mutable_dynamic_route_configs(envoy_admin_v3_RoutesConfigDump *msg, size_t *len) { + return (envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len); +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig** envoy_admin_v3_RoutesConfigDump_resize_dynamic_route_configs(envoy_admin_v3_RoutesConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig* envoy_admin_v3_RoutesConfigDump_add_dynamic_route_configs(envoy_admin_v3_RoutesConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig* sub = (struct envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig*)_upb_msg_new(&envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.RoutesConfigDump.StaticRouteConfig */ + +UPB_INLINE envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_new(upb_arena *arena) { + return (envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *)_upb_msg_new(&envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, arena); +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *ret = envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *ret = envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_serialize(const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_has_route_config(const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_route_config(const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_has_last_updated(const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_last_updated(const envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_set_route_config(envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_mutable_route_config(envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_route_config(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_set_route_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_set_last_updated(envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_mutable_last_updated(envoy_admin_v3_RoutesConfigDump_StaticRouteConfig *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig */ + +UPB_INLINE envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_new(upb_arena *arena) { + return (envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *)_upb_msg_new(&envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, arena); +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *ret = envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *ret = envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_serialize(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_version_info(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_has_route_config(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_route_config(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_has_last_updated(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_last_updated(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_Timestamp*); } +UPB_INLINE bool envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_has_error_state(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const envoy_admin_v3_UpdateFailureState* envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_error_state(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const envoy_admin_v3_UpdateFailureState*); } +UPB_INLINE int32_t envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_client_status(const envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_version_info(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_route_config(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_mutable_route_config(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_route_config(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_route_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_last_updated(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_mutable_last_updated(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_last_updated(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_error_state(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, envoy_admin_v3_UpdateFailureState* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(24, 40), envoy_admin_v3_UpdateFailureState*) = value; +} +UPB_INLINE struct envoy_admin_v3_UpdateFailureState* envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_mutable_error_state(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_UpdateFailureState* sub = (struct envoy_admin_v3_UpdateFailureState*)envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_error_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_UpdateFailureState*)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_error_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_client_status(envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.admin.v3.ScopedRoutesConfigDump */ + +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump *envoy_admin_v3_ScopedRoutesConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_ScopedRoutesConfigDump *)_upb_msg_new(&envoy_admin_v3_ScopedRoutesConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump *envoy_admin_v3_ScopedRoutesConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ScopedRoutesConfigDump *ret = envoy_admin_v3_ScopedRoutesConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ScopedRoutesConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump *envoy_admin_v3_ScopedRoutesConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ScopedRoutesConfigDump *ret = envoy_admin_v3_ScopedRoutesConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ScopedRoutesConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ScopedRoutesConfigDump_serialize(const envoy_admin_v3_ScopedRoutesConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ScopedRoutesConfigDump_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_has_inline_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs* const* envoy_admin_v3_ScopedRoutesConfigDump_inline_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_has_dynamic_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); } +UPB_INLINE const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs* const* envoy_admin_v3_ScopedRoutesConfigDump_dynamic_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump *msg, size_t *len) { return (const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); } + +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs** envoy_admin_v3_ScopedRoutesConfigDump_mutable_inline_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs** envoy_admin_v3_ScopedRoutesConfigDump_resize_inline_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs* envoy_admin_v3_ScopedRoutesConfigDump_add_inline_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs* sub = (struct envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs*)_upb_msg_new(&envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs** envoy_admin_v3_ScopedRoutesConfigDump_mutable_dynamic_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump *msg, size_t *len) { + return (envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len); +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs** envoy_admin_v3_ScopedRoutesConfigDump_resize_dynamic_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs* envoy_admin_v3_ScopedRoutesConfigDump_add_dynamic_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs* sub = (struct envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs*)_upb_msg_new(&envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs */ + +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_new(upb_arena *arena) { + return (envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *)_upb_msg_new(&envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *ret = envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *ret = envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_serialize(const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_name(const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_has_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); } +UPB_INLINE const struct google_protobuf_Any* const* envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, size_t *len) { return (const struct google_protobuf_Any* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); } +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_has_last_updated(const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_last_updated(const envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_set_name(envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE struct google_protobuf_Any** envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_mutable_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, size_t *len) { + return (struct google_protobuf_Any**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len); +} +UPB_INLINE struct google_protobuf_Any** envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_resize_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, size_t len, upb_arena *arena) { + return (struct google_protobuf_Any**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_add_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_set_last_updated(envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_mutable_last_updated(envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs */ + +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_new(upb_arena *arena) { + return (envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *)_upb_msg_new(&envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, arena); +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *ret = envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *ret = envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_serialize(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_name(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); } +UPB_INLINE upb_strview envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_version_info(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview); } +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_has_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 56)); } +UPB_INLINE const struct google_protobuf_Any* const* envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_scoped_route_configs(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, size_t *len) { return (const struct google_protobuf_Any* const*)_upb_array_accessor(msg, UPB_SIZE(32, 56), len); } +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_has_last_updated(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_last_updated(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct google_protobuf_Timestamp*); } +UPB_INLINE bool envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_has_error_state(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const envoy_admin_v3_UpdateFailureState* envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_error_state(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const envoy_admin_v3_UpdateFailureState*); } +UPB_INLINE int32_t envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_client_status(const envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_name(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_version_info(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview) = value; +} +UPB_INLINE struct google_protobuf_Any** envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_mutable_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, size_t *len) { + return (struct google_protobuf_Any**)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 56), len); +} +UPB_INLINE struct google_protobuf_Any** envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_resize_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, size_t len, upb_arena *arena) { + return (struct google_protobuf_Any**)_upb_array_resize_accessor2(msg, UPB_SIZE(32, 56), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_add_scoped_route_configs(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(32, 56), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_last_updated(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_mutable_last_updated(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_last_updated(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_error_state(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, envoy_admin_v3_UpdateFailureState* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(28, 48), envoy_admin_v3_UpdateFailureState*) = value; +} +UPB_INLINE struct envoy_admin_v3_UpdateFailureState* envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_mutable_error_state(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, upb_arena *arena) { + struct envoy_admin_v3_UpdateFailureState* sub = (struct envoy_admin_v3_UpdateFailureState*)envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_error_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_UpdateFailureState*)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_error_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_set_client_status(envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.admin.v3.SecretsConfigDump */ + +UPB_INLINE envoy_admin_v3_SecretsConfigDump *envoy_admin_v3_SecretsConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_SecretsConfigDump *)_upb_msg_new(&envoy_admin_v3_SecretsConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump *envoy_admin_v3_SecretsConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_SecretsConfigDump *ret = envoy_admin_v3_SecretsConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_SecretsConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump *envoy_admin_v3_SecretsConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_SecretsConfigDump *ret = envoy_admin_v3_SecretsConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_SecretsConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_SecretsConfigDump_serialize(const envoy_admin_v3_SecretsConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_SecretsConfigDump_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_has_static_secrets(const envoy_admin_v3_SecretsConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_admin_v3_SecretsConfigDump_StaticSecret* const* envoy_admin_v3_SecretsConfigDump_static_secrets(const envoy_admin_v3_SecretsConfigDump *msg, size_t *len) { return (const envoy_admin_v3_SecretsConfigDump_StaticSecret* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_has_dynamic_active_secrets(const envoy_admin_v3_SecretsConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); } +UPB_INLINE const envoy_admin_v3_SecretsConfigDump_DynamicSecret* const* envoy_admin_v3_SecretsConfigDump_dynamic_active_secrets(const envoy_admin_v3_SecretsConfigDump *msg, size_t *len) { return (const envoy_admin_v3_SecretsConfigDump_DynamicSecret* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_has_dynamic_warming_secrets(const envoy_admin_v3_SecretsConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const envoy_admin_v3_SecretsConfigDump_DynamicSecret* const* envoy_admin_v3_SecretsConfigDump_dynamic_warming_secrets(const envoy_admin_v3_SecretsConfigDump *msg, size_t *len) { return (const envoy_admin_v3_SecretsConfigDump_DynamicSecret* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } + +UPB_INLINE envoy_admin_v3_SecretsConfigDump_StaticSecret** envoy_admin_v3_SecretsConfigDump_mutable_static_secrets(envoy_admin_v3_SecretsConfigDump *msg, size_t *len) { + return (envoy_admin_v3_SecretsConfigDump_StaticSecret**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_StaticSecret** envoy_admin_v3_SecretsConfigDump_resize_static_secrets(envoy_admin_v3_SecretsConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_SecretsConfigDump_StaticSecret**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_SecretsConfigDump_StaticSecret* envoy_admin_v3_SecretsConfigDump_add_static_secrets(envoy_admin_v3_SecretsConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_SecretsConfigDump_StaticSecret* sub = (struct envoy_admin_v3_SecretsConfigDump_StaticSecret*)_upb_msg_new(&envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret** envoy_admin_v3_SecretsConfigDump_mutable_dynamic_active_secrets(envoy_admin_v3_SecretsConfigDump *msg, size_t *len) { + return (envoy_admin_v3_SecretsConfigDump_DynamicSecret**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len); +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret** envoy_admin_v3_SecretsConfigDump_resize_dynamic_active_secrets(envoy_admin_v3_SecretsConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_SecretsConfigDump_DynamicSecret**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_SecretsConfigDump_DynamicSecret* envoy_admin_v3_SecretsConfigDump_add_dynamic_active_secrets(envoy_admin_v3_SecretsConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_SecretsConfigDump_DynamicSecret* sub = (struct envoy_admin_v3_SecretsConfigDump_DynamicSecret*)_upb_msg_new(&envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret** envoy_admin_v3_SecretsConfigDump_mutable_dynamic_warming_secrets(envoy_admin_v3_SecretsConfigDump *msg, size_t *len) { + return (envoy_admin_v3_SecretsConfigDump_DynamicSecret**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret** envoy_admin_v3_SecretsConfigDump_resize_dynamic_warming_secrets(envoy_admin_v3_SecretsConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_SecretsConfigDump_DynamicSecret**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_SecretsConfigDump_DynamicSecret* envoy_admin_v3_SecretsConfigDump_add_dynamic_warming_secrets(envoy_admin_v3_SecretsConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_SecretsConfigDump_DynamicSecret* sub = (struct envoy_admin_v3_SecretsConfigDump_DynamicSecret*)_upb_msg_new(&envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.SecretsConfigDump.DynamicSecret */ + +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret *envoy_admin_v3_SecretsConfigDump_DynamicSecret_new(upb_arena *arena) { + return (envoy_admin_v3_SecretsConfigDump_DynamicSecret *)_upb_msg_new(&envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, arena); +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret *envoy_admin_v3_SecretsConfigDump_DynamicSecret_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_SecretsConfigDump_DynamicSecret *ret = envoy_admin_v3_SecretsConfigDump_DynamicSecret_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_DynamicSecret *envoy_admin_v3_SecretsConfigDump_DynamicSecret_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_SecretsConfigDump_DynamicSecret *ret = envoy_admin_v3_SecretsConfigDump_DynamicSecret_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_SecretsConfigDump_DynamicSecret_serialize(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_SecretsConfigDump_DynamicSecret_name(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); } +UPB_INLINE upb_strview envoy_admin_v3_SecretsConfigDump_DynamicSecret_version_info(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_DynamicSecret_has_last_updated(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_SecretsConfigDump_DynamicSecret_last_updated(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct google_protobuf_Timestamp*); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_DynamicSecret_has_secret(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_SecretsConfigDump_DynamicSecret_secret(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_DynamicSecret_has_error_state(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const envoy_admin_v3_UpdateFailureState* envoy_admin_v3_SecretsConfigDump_DynamicSecret_error_state(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 56), const envoy_admin_v3_UpdateFailureState*); } +UPB_INLINE int32_t envoy_admin_v3_SecretsConfigDump_DynamicSecret_client_status(const envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_name(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_version_info(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_last_updated(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_SecretsConfigDump_DynamicSecret_mutable_last_updated(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_SecretsConfigDump_DynamicSecret_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_last_updated(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_secret(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(28, 48), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_SecretsConfigDump_DynamicSecret_mutable_secret(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_SecretsConfigDump_DynamicSecret_secret(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_secret(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_error_state(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, envoy_admin_v3_UpdateFailureState* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(32, 56), envoy_admin_v3_UpdateFailureState*) = value; +} +UPB_INLINE struct envoy_admin_v3_UpdateFailureState* envoy_admin_v3_SecretsConfigDump_DynamicSecret_mutable_error_state(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, upb_arena *arena) { + struct envoy_admin_v3_UpdateFailureState* sub = (struct envoy_admin_v3_UpdateFailureState*)envoy_admin_v3_SecretsConfigDump_DynamicSecret_error_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_UpdateFailureState*)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_error_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_DynamicSecret_set_client_status(envoy_admin_v3_SecretsConfigDump_DynamicSecret *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.admin.v3.SecretsConfigDump.StaticSecret */ + +UPB_INLINE envoy_admin_v3_SecretsConfigDump_StaticSecret *envoy_admin_v3_SecretsConfigDump_StaticSecret_new(upb_arena *arena) { + return (envoy_admin_v3_SecretsConfigDump_StaticSecret *)_upb_msg_new(&envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, arena); +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_StaticSecret *envoy_admin_v3_SecretsConfigDump_StaticSecret_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_SecretsConfigDump_StaticSecret *ret = envoy_admin_v3_SecretsConfigDump_StaticSecret_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_SecretsConfigDump_StaticSecret *envoy_admin_v3_SecretsConfigDump_StaticSecret_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_SecretsConfigDump_StaticSecret *ret = envoy_admin_v3_SecretsConfigDump_StaticSecret_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_SecretsConfigDump_StaticSecret_serialize(const envoy_admin_v3_SecretsConfigDump_StaticSecret *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_SecretsConfigDump_StaticSecret_name(const envoy_admin_v3_SecretsConfigDump_StaticSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_StaticSecret_has_last_updated(const envoy_admin_v3_SecretsConfigDump_StaticSecret *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_SecretsConfigDump_StaticSecret_last_updated(const envoy_admin_v3_SecretsConfigDump_StaticSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Timestamp*); } +UPB_INLINE bool envoy_admin_v3_SecretsConfigDump_StaticSecret_has_secret(const envoy_admin_v3_SecretsConfigDump_StaticSecret *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_SecretsConfigDump_StaticSecret_secret(const envoy_admin_v3_SecretsConfigDump_StaticSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_Any*); } + +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_StaticSecret_set_name(envoy_admin_v3_SecretsConfigDump_StaticSecret *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_StaticSecret_set_last_updated(envoy_admin_v3_SecretsConfigDump_StaticSecret *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_SecretsConfigDump_StaticSecret_mutable_last_updated(envoy_admin_v3_SecretsConfigDump_StaticSecret *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_SecretsConfigDump_StaticSecret_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_SecretsConfigDump_StaticSecret_set_last_updated(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_SecretsConfigDump_StaticSecret_set_secret(envoy_admin_v3_SecretsConfigDump_StaticSecret *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_SecretsConfigDump_StaticSecret_mutable_secret(envoy_admin_v3_SecretsConfigDump_StaticSecret *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_SecretsConfigDump_StaticSecret_secret(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_SecretsConfigDump_StaticSecret_set_secret(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.EndpointsConfigDump */ + +UPB_INLINE envoy_admin_v3_EndpointsConfigDump *envoy_admin_v3_EndpointsConfigDump_new(upb_arena *arena) { + return (envoy_admin_v3_EndpointsConfigDump *)_upb_msg_new(&envoy_admin_v3_EndpointsConfigDump_msginit, arena); +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump *envoy_admin_v3_EndpointsConfigDump_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_EndpointsConfigDump *ret = envoy_admin_v3_EndpointsConfigDump_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_EndpointsConfigDump_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump *envoy_admin_v3_EndpointsConfigDump_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_EndpointsConfigDump *ret = envoy_admin_v3_EndpointsConfigDump_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_EndpointsConfigDump_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_EndpointsConfigDump_serialize(const envoy_admin_v3_EndpointsConfigDump *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_EndpointsConfigDump_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_has_static_endpoint_configs(const envoy_admin_v3_EndpointsConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig* const* envoy_admin_v3_EndpointsConfigDump_static_endpoint_configs(const envoy_admin_v3_EndpointsConfigDump *msg, size_t *len) { return (const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_has_dynamic_endpoint_configs(const envoy_admin_v3_EndpointsConfigDump *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); } +UPB_INLINE const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig* const* envoy_admin_v3_EndpointsConfigDump_dynamic_endpoint_configs(const envoy_admin_v3_EndpointsConfigDump *msg, size_t *len) { return (const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); } + +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig** envoy_admin_v3_EndpointsConfigDump_mutable_static_endpoint_configs(envoy_admin_v3_EndpointsConfigDump *msg, size_t *len) { + return (envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig** envoy_admin_v3_EndpointsConfigDump_resize_static_endpoint_configs(envoy_admin_v3_EndpointsConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig* envoy_admin_v3_EndpointsConfigDump_add_static_endpoint_configs(envoy_admin_v3_EndpointsConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig* sub = (struct envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig*)_upb_msg_new(&envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig** envoy_admin_v3_EndpointsConfigDump_mutable_dynamic_endpoint_configs(envoy_admin_v3_EndpointsConfigDump *msg, size_t *len) { + return (envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len); +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig** envoy_admin_v3_EndpointsConfigDump_resize_dynamic_endpoint_configs(envoy_admin_v3_EndpointsConfigDump *msg, size_t len, upb_arena *arena) { + return (envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig* envoy_admin_v3_EndpointsConfigDump_add_dynamic_endpoint_configs(envoy_admin_v3_EndpointsConfigDump *msg, upb_arena *arena) { + struct envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig* sub = (struct envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig*)_upb_msg_new(&envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig */ + +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_new(upb_arena *arena) { + return (envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *)_upb_msg_new(&envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, arena); +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *ret = envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *ret = envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_serialize(const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, arena, len); +} + +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_has_endpoint_config(const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_endpoint_config(const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_has_last_updated(const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_last_updated(const envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Timestamp*); } + +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_set_endpoint_config(envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_mutable_endpoint_config(envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_endpoint_config(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_set_endpoint_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_set_last_updated(envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_mutable_last_updated(envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_set_last_updated(msg, sub); + } + return sub; +} + +/* envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig */ + +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_new(upb_arena *arena) { + return (envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *)_upb_msg_new(&envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, arena); +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *ret = envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *ret = envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_serialize(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_version_info(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); } +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_has_endpoint_config(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_endpoint_config(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_Any*); } +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_has_last_updated(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Timestamp* envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_last_updated(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_Timestamp*); } +UPB_INLINE bool envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_has_error_state(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const envoy_admin_v3_UpdateFailureState* envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_error_state(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const envoy_admin_v3_UpdateFailureState*); } +UPB_INLINE int32_t envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_client_status(const envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_version_info(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value; +} +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_endpoint_config(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_mutable_endpoint_config(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_endpoint_config(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_endpoint_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_last_updated(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, struct google_protobuf_Timestamp* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_Timestamp*) = value; +} +UPB_INLINE struct google_protobuf_Timestamp* envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_mutable_last_updated(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, upb_arena *arena) { + struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_last_updated(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Timestamp*)_upb_msg_new(&google_protobuf_Timestamp_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_last_updated(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_error_state(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, envoy_admin_v3_UpdateFailureState* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(24, 40), envoy_admin_v3_UpdateFailureState*) = value; +} +UPB_INLINE struct envoy_admin_v3_UpdateFailureState* envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_mutable_error_state(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_UpdateFailureState* sub = (struct envoy_admin_v3_UpdateFailureState*)envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_error_state(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_UpdateFailureState*)_upb_msg_new(&envoy_admin_v3_UpdateFailureState_msginit, arena); + if (!sub) return NULL; + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_error_state(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_client_status(envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_ADMIN_V3_CONFIG_DUMP_PROTO_UPB_H_ */ diff --git a/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c b/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c new file mode 100644 index 00000000000..b7f9387b242 --- /dev/null +++ b/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c @@ -0,0 +1,350 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/bootstrap/v3/bootstrap.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/config/bootstrap/v3/bootstrap.upb.h" +#include "envoy/config/cluster/v3/cluster.upb.h" +#include "envoy/config/core/v3/address.upb.h" +#include "envoy/config/core/v3/base.upb.h" +#include "envoy/config/core/v3/config_source.upb.h" +#include "envoy/config/core/v3/event_service_config.upb.h" +#include "envoy/config/core/v3/extension.upb.h" +#include "envoy/config/core/v3/socket_option.upb.h" +#include "envoy/config/listener/v3/listener.upb.h" +#include "envoy/config/metrics/v3/stats.upb.h" +#include "envoy/config/overload/v3/overload.upb.h" +#include "envoy/config/trace/v3/http_tracer.upb.h" +#include "envoy/extensions/transport_sockets/tls/v3/secret.upb.h" +#include "envoy/type/v3/percent.upb.h" +#include "google/protobuf/duration.upb.h" +#include "google/protobuf/struct.upb.h" +#include "google/protobuf/wrappers.upb.h" +#include "udpa/annotations/migrate.upb.h" +#include "udpa/annotations/security.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" +#include "validate/validate.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_config_bootstrap_v3_Bootstrap_submsgs[19] = { + &envoy_config_bootstrap_v3_Admin_msginit, + &envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_msginit, + &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, + &envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, + &envoy_config_bootstrap_v3_ClusterManager_msginit, + &envoy_config_bootstrap_v3_FatalAction_msginit, + &envoy_config_bootstrap_v3_LayeredRuntime_msginit, + &envoy_config_bootstrap_v3_Watchdog_msginit, + &envoy_config_bootstrap_v3_Watchdogs_msginit, + &envoy_config_core_v3_ApiConfigSource_msginit, + &envoy_config_core_v3_ConfigSource_msginit, + &envoy_config_core_v3_Node_msginit, + &envoy_config_core_v3_TypedExtensionConfig_msginit, + &envoy_config_metrics_v3_StatsConfig_msginit, + &envoy_config_metrics_v3_StatsSink_msginit, + &envoy_config_overload_v3_OverloadManager_msginit, + &envoy_config_trace_v3_Tracing_msginit, + &google_protobuf_Duration_msginit, + &google_protobuf_UInt64Value_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Bootstrap__fields[27] = { + {1, UPB_SIZE(28, 56), 1, 11, 11, 1}, + {2, UPB_SIZE(32, 64), 2, 3, 11, 1}, + {3, UPB_SIZE(36, 72), 3, 2, 11, 1}, + {4, UPB_SIZE(40, 80), 4, 4, 11, 1}, + {5, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {6, UPB_SIZE(88, 176), 0, 14, 11, 3}, + {7, UPB_SIZE(44, 88), 5, 17, 11, 1}, + {8, UPB_SIZE(48, 96), 6, 7, 11, 1}, + {9, UPB_SIZE(52, 104), 7, 16, 11, 1}, + {12, UPB_SIZE(56, 112), 8, 0, 11, 1}, + {13, UPB_SIZE(60, 120), 9, 13, 11, 1}, + {14, UPB_SIZE(64, 128), 10, 9, 11, 1}, + {15, UPB_SIZE(68, 136), 11, 15, 11, 1}, + {16, UPB_SIZE(2, 2), 0, 0, 8, 1}, + {17, UPB_SIZE(72, 144), 12, 6, 11, 1}, + {18, UPB_SIZE(12, 24), 0, 0, 9, 1}, + {19, UPB_SIZE(76, 152), 13, 18, 11, 1}, + {20, UPB_SIZE(3, 3), 0, 0, 8, 1}, + {21, UPB_SIZE(92, 184), 0, 12, 11, 3}, + {22, UPB_SIZE(96, 192), 0, 10, 11, 3}, + {23, UPB_SIZE(80, 160), 14, 10, 11, 1}, + {24, UPB_SIZE(20, 40), 0, 0, 9, 1}, + {25, UPB_SIZE(100, 200), 0, 1, 11, _UPB_LABEL_MAP}, + {26, UPB_SIZE(104, 208), 0, 0, 9, 3}, + {27, UPB_SIZE(84, 168), 15, 8, 11, 1}, + {28, UPB_SIZE(108, 216), 0, 5, 11, 3}, + {29, UPB_SIZE(112, 224), UPB_SIZE(-117, -229), 0, 8, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_msginit = { + &envoy_config_bootstrap_v3_Bootstrap_submsgs[0], + &envoy_config_bootstrap_v3_Bootstrap__fields[0], + UPB_SIZE(120, 240), 27, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Bootstrap_StaticResources_submsgs[3] = { + &envoy_config_cluster_v3_Cluster_msginit, + &envoy_config_listener_v3_Listener_msginit, + &envoy_extensions_transport_sockets_tls_v3_Secret_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Bootstrap_StaticResources__fields[3] = { + {1, UPB_SIZE(0, 0), 0, 1, 11, 3}, + {2, UPB_SIZE(4, 8), 0, 0, 11, 3}, + {3, UPB_SIZE(8, 16), 0, 2, 11, 3}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit = { + &envoy_config_bootstrap_v3_Bootstrap_StaticResources_submsgs[0], + &envoy_config_bootstrap_v3_Bootstrap_StaticResources__fields[0], + UPB_SIZE(16, 24), 3, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Bootstrap_DynamicResources_submsgs[2] = { + &envoy_config_core_v3_ApiConfigSource_msginit, + &envoy_config_core_v3_ConfigSource_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Bootstrap_DynamicResources__fields[5] = { + {1, UPB_SIZE(20, 40), 1, 1, 11, 1}, + {2, UPB_SIZE(24, 48), 2, 1, 11, 1}, + {3, UPB_SIZE(28, 56), 3, 0, 11, 1}, + {5, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {6, UPB_SIZE(12, 24), 0, 0, 9, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit = { + &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_submsgs[0], + &envoy_config_bootstrap_v3_Bootstrap_DynamicResources__fields[0], + UPB_SIZE(32, 64), 5, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_submsgs[1] = { + &envoy_config_core_v3_TypedExtensionConfig_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry__fields[2] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {2, UPB_SIZE(8, 16), 0, 0, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_msginit = { + &envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_submsgs[0], + &envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry__fields[0], + UPB_SIZE(16, 32), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Admin_submsgs[2] = { + &envoy_config_core_v3_Address_msginit, + &envoy_config_core_v3_SocketOption_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Admin__fields[4] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 0, 0, 9, 1}, + {3, UPB_SIZE(20, 40), 1, 0, 11, 1}, + {4, UPB_SIZE(24, 48), 0, 1, 11, 3}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Admin_msginit = { + &envoy_config_bootstrap_v3_Admin_submsgs[0], + &envoy_config_bootstrap_v3_Admin__fields[0], + UPB_SIZE(32, 64), 4, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_ClusterManager_submsgs[3] = { + &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, + &envoy_config_core_v3_ApiConfigSource_msginit, + &envoy_config_core_v3_BindConfig_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_ClusterManager__fields[4] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 1, 0, 11, 1}, + {3, UPB_SIZE(16, 32), 2, 2, 11, 1}, + {4, UPB_SIZE(20, 40), 3, 1, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_ClusterManager_msginit = { + &envoy_config_bootstrap_v3_ClusterManager_submsgs[0], + &envoy_config_bootstrap_v3_ClusterManager__fields[0], + UPB_SIZE(24, 48), 4, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_submsgs[1] = { + &envoy_config_core_v3_EventServiceConfig_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_ClusterManager_OutlierDetection__fields[2] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 1, 0, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit = { + &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_submsgs[0], + &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection__fields[0], + UPB_SIZE(16, 32), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Watchdogs_submsgs[1] = { + &envoy_config_bootstrap_v3_Watchdog_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Watchdogs__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 0, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Watchdogs_msginit = { + &envoy_config_bootstrap_v3_Watchdogs_submsgs[0], + &envoy_config_bootstrap_v3_Watchdogs__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Watchdog_submsgs[3] = { + &envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, + &envoy_type_v3_Percent_msginit, + &google_protobuf_Duration_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Watchdog__fields[7] = { + {1, UPB_SIZE(4, 8), 1, 2, 11, 1}, + {2, UPB_SIZE(8, 16), 2, 2, 11, 1}, + {3, UPB_SIZE(12, 24), 3, 2, 11, 1}, + {4, UPB_SIZE(16, 32), 4, 2, 11, 1}, + {5, UPB_SIZE(20, 40), 5, 1, 11, 1}, + {6, UPB_SIZE(24, 48), 6, 2, 11, 1}, + {7, UPB_SIZE(28, 56), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Watchdog_msginit = { + &envoy_config_bootstrap_v3_Watchdog_submsgs[0], + &envoy_config_bootstrap_v3_Watchdog__fields[0], + UPB_SIZE(32, 64), 7, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Watchdog_WatchdogAction_submsgs[1] = { + &envoy_config_core_v3_TypedExtensionConfig_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Watchdog_WatchdogAction__fields[2] = { + {1, UPB_SIZE(8, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit = { + &envoy_config_bootstrap_v3_Watchdog_WatchdogAction_submsgs[0], + &envoy_config_bootstrap_v3_Watchdog_WatchdogAction__fields[0], + UPB_SIZE(16, 16), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_FatalAction_submsgs[1] = { + &envoy_config_core_v3_TypedExtensionConfig_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_FatalAction__fields[1] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_FatalAction_msginit = { + &envoy_config_bootstrap_v3_FatalAction_submsgs[0], + &envoy_config_bootstrap_v3_FatalAction__fields[0], + UPB_SIZE(8, 16), 1, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_Runtime_submsgs[1] = { + &google_protobuf_Struct_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_Runtime__fields[4] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 0, 0, 9, 1}, + {3, UPB_SIZE(20, 40), 0, 0, 9, 1}, + {4, UPB_SIZE(28, 56), 1, 0, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_Runtime_msginit = { + &envoy_config_bootstrap_v3_Runtime_submsgs[0], + &envoy_config_bootstrap_v3_Runtime__fields[0], + UPB_SIZE(32, 64), 4, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_RuntimeLayer_submsgs[4] = { + &envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, + &envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, + &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, + &google_protobuf_Struct_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_RuntimeLayer__fields[5] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {2, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 3, 11, 1}, + {3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 1, 11, 1}, + {4, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1}, + {5, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 2, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_msginit = { + &envoy_config_bootstrap_v3_RuntimeLayer_submsgs[0], + &envoy_config_bootstrap_v3_RuntimeLayer__fields[0], + UPB_SIZE(16, 32), 5, false, 255, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer__fields[3] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(0, 0), 0, 0, 8, 1}, + {3, UPB_SIZE(12, 24), 0, 0, 9, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit = { + NULL, + &envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit = { + NULL, + NULL, + UPB_SIZE(0, 0), 0, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_submsgs[1] = { + &envoy_config_core_v3_ConfigSource_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer__fields[2] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(12, 24), 1, 0, 11, 1}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit = { + &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_submsgs[0], + &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer__fields[0], + UPB_SIZE(16, 32), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_bootstrap_v3_LayeredRuntime_submsgs[1] = { + &envoy_config_bootstrap_v3_RuntimeLayer_msginit, +}; + +static const upb_msglayout_field envoy_config_bootstrap_v3_LayeredRuntime__fields[1] = { + {1, UPB_SIZE(0, 0), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_config_bootstrap_v3_LayeredRuntime_msginit = { + &envoy_config_bootstrap_v3_LayeredRuntime_submsgs[0], + &envoy_config_bootstrap_v3_LayeredRuntime__fields[0], + UPB_SIZE(8, 8), 1, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h b/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h new file mode 100644 index 00000000000..42e4c8583d9 --- /dev/null +++ b/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h @@ -0,0 +1,1348 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/bootstrap/v3/bootstrap.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_CONFIG_BOOTSTRAP_V3_BOOTSTRAP_PROTO_UPB_H_ +#define ENVOY_CONFIG_BOOTSTRAP_V3_BOOTSTRAP_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_config_bootstrap_v3_Bootstrap; +struct envoy_config_bootstrap_v3_Bootstrap_StaticResources; +struct envoy_config_bootstrap_v3_Bootstrap_DynamicResources; +struct envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry; +struct envoy_config_bootstrap_v3_Admin; +struct envoy_config_bootstrap_v3_ClusterManager; +struct envoy_config_bootstrap_v3_ClusterManager_OutlierDetection; +struct envoy_config_bootstrap_v3_Watchdogs; +struct envoy_config_bootstrap_v3_Watchdog; +struct envoy_config_bootstrap_v3_Watchdog_WatchdogAction; +struct envoy_config_bootstrap_v3_FatalAction; +struct envoy_config_bootstrap_v3_Runtime; +struct envoy_config_bootstrap_v3_RuntimeLayer; +struct envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer; +struct envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer; +struct envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer; +struct envoy_config_bootstrap_v3_LayeredRuntime; +typedef struct envoy_config_bootstrap_v3_Bootstrap envoy_config_bootstrap_v3_Bootstrap; +typedef struct envoy_config_bootstrap_v3_Bootstrap_StaticResources envoy_config_bootstrap_v3_Bootstrap_StaticResources; +typedef struct envoy_config_bootstrap_v3_Bootstrap_DynamicResources envoy_config_bootstrap_v3_Bootstrap_DynamicResources; +typedef struct envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry; +typedef struct envoy_config_bootstrap_v3_Admin envoy_config_bootstrap_v3_Admin; +typedef struct envoy_config_bootstrap_v3_ClusterManager envoy_config_bootstrap_v3_ClusterManager; +typedef struct envoy_config_bootstrap_v3_ClusterManager_OutlierDetection envoy_config_bootstrap_v3_ClusterManager_OutlierDetection; +typedef struct envoy_config_bootstrap_v3_Watchdogs envoy_config_bootstrap_v3_Watchdogs; +typedef struct envoy_config_bootstrap_v3_Watchdog envoy_config_bootstrap_v3_Watchdog; +typedef struct envoy_config_bootstrap_v3_Watchdog_WatchdogAction envoy_config_bootstrap_v3_Watchdog_WatchdogAction; +typedef struct envoy_config_bootstrap_v3_FatalAction envoy_config_bootstrap_v3_FatalAction; +typedef struct envoy_config_bootstrap_v3_Runtime envoy_config_bootstrap_v3_Runtime; +typedef struct envoy_config_bootstrap_v3_RuntimeLayer envoy_config_bootstrap_v3_RuntimeLayer; +typedef struct envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer; +typedef struct envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer; +typedef struct envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer; +typedef struct envoy_config_bootstrap_v3_LayeredRuntime envoy_config_bootstrap_v3_LayeredRuntime; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Admin_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_ClusterManager_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Watchdogs_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Watchdog_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_FatalAction_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Runtime_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_LayeredRuntime_msginit; +struct envoy_config_cluster_v3_Cluster; +struct envoy_config_core_v3_Address; +struct envoy_config_core_v3_ApiConfigSource; +struct envoy_config_core_v3_BindConfig; +struct envoy_config_core_v3_ConfigSource; +struct envoy_config_core_v3_EventServiceConfig; +struct envoy_config_core_v3_Node; +struct envoy_config_core_v3_SocketOption; +struct envoy_config_core_v3_TypedExtensionConfig; +struct envoy_config_listener_v3_Listener; +struct envoy_config_metrics_v3_StatsConfig; +struct envoy_config_metrics_v3_StatsSink; +struct envoy_config_overload_v3_OverloadManager; +struct envoy_config_trace_v3_Tracing; +struct envoy_extensions_transport_sockets_tls_v3_Secret; +struct envoy_type_v3_Percent; +struct google_protobuf_Duration; +struct google_protobuf_Struct; +struct google_protobuf_UInt64Value; +extern const upb_msglayout envoy_config_cluster_v3_Cluster_msginit; +extern const upb_msglayout envoy_config_core_v3_Address_msginit; +extern const upb_msglayout envoy_config_core_v3_ApiConfigSource_msginit; +extern const upb_msglayout envoy_config_core_v3_BindConfig_msginit; +extern const upb_msglayout envoy_config_core_v3_ConfigSource_msginit; +extern const upb_msglayout envoy_config_core_v3_EventServiceConfig_msginit; +extern const upb_msglayout envoy_config_core_v3_Node_msginit; +extern const upb_msglayout envoy_config_core_v3_SocketOption_msginit; +extern const upb_msglayout envoy_config_core_v3_TypedExtensionConfig_msginit; +extern const upb_msglayout envoy_config_listener_v3_Listener_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsConfig_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsSink_msginit; +extern const upb_msglayout envoy_config_overload_v3_OverloadManager_msginit; +extern const upb_msglayout envoy_config_trace_v3_Tracing_msginit; +extern const upb_msglayout envoy_extensions_transport_sockets_tls_v3_Secret_msginit; +extern const upb_msglayout envoy_type_v3_Percent_msginit; +extern const upb_msglayout google_protobuf_Duration_msginit; +extern const upb_msglayout google_protobuf_Struct_msginit; +extern const upb_msglayout google_protobuf_UInt64Value_msginit; + +typedef enum { + envoy_config_bootstrap_v3_Watchdog_WatchdogAction_UNKNOWN = 0, + envoy_config_bootstrap_v3_Watchdog_WatchdogAction_KILL = 1, + envoy_config_bootstrap_v3_Watchdog_WatchdogAction_MULTIKILL = 2, + envoy_config_bootstrap_v3_Watchdog_WatchdogAction_MEGAMISS = 3, + envoy_config_bootstrap_v3_Watchdog_WatchdogAction_MISS = 4 +} envoy_config_bootstrap_v3_Watchdog_WatchdogAction_WatchdogEvent; + + +/* envoy.config.bootstrap.v3.Bootstrap */ + +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap *envoy_config_bootstrap_v3_Bootstrap_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Bootstrap *)_upb_msg_new(&envoy_config_bootstrap_v3_Bootstrap_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap *envoy_config_bootstrap_v3_Bootstrap_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Bootstrap *ret = envoy_config_bootstrap_v3_Bootstrap_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Bootstrap_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap *envoy_config_bootstrap_v3_Bootstrap_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Bootstrap *ret = envoy_config_bootstrap_v3_Bootstrap_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Bootstrap_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Bootstrap_serialize(const envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Bootstrap_msginit, arena, len); +} + +typedef enum { + envoy_config_bootstrap_v3_Bootstrap_stats_flush_stats_flush_on_admin = 29, + envoy_config_bootstrap_v3_Bootstrap_stats_flush_NOT_SET = 0 +} envoy_config_bootstrap_v3_Bootstrap_stats_flush_oneofcases; +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_stats_flush_oneofcases envoy_config_bootstrap_v3_Bootstrap_stats_flush_case(const envoy_config_bootstrap_v3_Bootstrap* msg) { return (envoy_config_bootstrap_v3_Bootstrap_stats_flush_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(116, 228), int32_t); } + +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_node(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_Node* envoy_config_bootstrap_v3_Bootstrap_node(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 56), const struct envoy_config_core_v3_Node*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_static_resources(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const envoy_config_bootstrap_v3_Bootstrap_StaticResources* envoy_config_bootstrap_v3_Bootstrap_static_resources(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 64), const envoy_config_bootstrap_v3_Bootstrap_StaticResources*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_dynamic_resources(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const envoy_config_bootstrap_v3_Bootstrap_DynamicResources* envoy_config_bootstrap_v3_Bootstrap_dynamic_resources(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 72), const envoy_config_bootstrap_v3_Bootstrap_DynamicResources*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_cluster_manager(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 4); } +UPB_INLINE const envoy_config_bootstrap_v3_ClusterManager* envoy_config_bootstrap_v3_Bootstrap_cluster_manager(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(40, 80), const envoy_config_bootstrap_v3_ClusterManager*); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Bootstrap_flags_path(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_stats_sinks(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(88, 176)); } +UPB_INLINE const struct envoy_config_metrics_v3_StatsSink* const* envoy_config_bootstrap_v3_Bootstrap_stats_sinks(const envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { return (const struct envoy_config_metrics_v3_StatsSink* const*)_upb_array_accessor(msg, UPB_SIZE(88, 176), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_stats_flush_interval(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 5); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_bootstrap_v3_Bootstrap_stats_flush_interval(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(44, 88), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_watchdog(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 6); } +UPB_INLINE const envoy_config_bootstrap_v3_Watchdog* envoy_config_bootstrap_v3_Bootstrap_watchdog(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(48, 96), const envoy_config_bootstrap_v3_Watchdog*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_tracing(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 7); } +UPB_INLINE const struct envoy_config_trace_v3_Tracing* envoy_config_bootstrap_v3_Bootstrap_tracing(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(52, 104), const struct envoy_config_trace_v3_Tracing*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_admin(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 8); } +UPB_INLINE const envoy_config_bootstrap_v3_Admin* envoy_config_bootstrap_v3_Bootstrap_admin(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(56, 112), const envoy_config_bootstrap_v3_Admin*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_stats_config(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 9); } +UPB_INLINE const struct envoy_config_metrics_v3_StatsConfig* envoy_config_bootstrap_v3_Bootstrap_stats_config(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(60, 120), const struct envoy_config_metrics_v3_StatsConfig*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_hds_config(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 10); } +UPB_INLINE const struct envoy_config_core_v3_ApiConfigSource* envoy_config_bootstrap_v3_Bootstrap_hds_config(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(64, 128), const struct envoy_config_core_v3_ApiConfigSource*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_overload_manager(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 11); } +UPB_INLINE const struct envoy_config_overload_v3_OverloadManager* envoy_config_bootstrap_v3_Bootstrap_overload_manager(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(68, 136), const struct envoy_config_overload_v3_OverloadManager*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_enable_dispatcher_stats(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_layered_runtime(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 12); } +UPB_INLINE const envoy_config_bootstrap_v3_LayeredRuntime* envoy_config_bootstrap_v3_Bootstrap_layered_runtime(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(72, 144), const envoy_config_bootstrap_v3_LayeredRuntime*); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Bootstrap_header_prefix(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_stats_server_version_override(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 13); } +UPB_INLINE const struct google_protobuf_UInt64Value* envoy_config_bootstrap_v3_Bootstrap_stats_server_version_override(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(76, 152), const struct google_protobuf_UInt64Value*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_use_tcp_for_dns_lookups(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(3, 3), bool); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_bootstrap_extensions(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(92, 184)); } +UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* const* envoy_config_bootstrap_v3_Bootstrap_bootstrap_extensions(const envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { return (const struct envoy_config_core_v3_TypedExtensionConfig* const*)_upb_array_accessor(msg, UPB_SIZE(92, 184), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_config_sources(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(96, 192)); } +UPB_INLINE const struct envoy_config_core_v3_ConfigSource* const* envoy_config_bootstrap_v3_Bootstrap_config_sources(const envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { return (const struct envoy_config_core_v3_ConfigSource* const*)_upb_array_accessor(msg, UPB_SIZE(96, 192), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_default_config_source(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 14); } +UPB_INLINE const struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_default_config_source(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(80, 160), const struct envoy_config_core_v3_ConfigSource*); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Bootstrap_default_socket_interface(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_certificate_provider_instances(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(100, 200)); } +UPB_INLINE size_t envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_size(const envoy_config_bootstrap_v3_Bootstrap *msg) {return _upb_msg_map_size(msg, UPB_SIZE(100, 200)); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_get(const envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview key, struct envoy_config_core_v3_TypedExtensionConfig* *val) { return _upb_msg_map_get(msg, UPB_SIZE(100, 200), &key, 0, val, sizeof(*val)); } +UPB_INLINE const envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry* envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_next(const envoy_config_bootstrap_v3_Bootstrap *msg, size_t* iter) { return (const envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry*)_upb_msg_map_next(msg, UPB_SIZE(100, 200), iter); } +UPB_INLINE upb_strview const* envoy_config_bootstrap_v3_Bootstrap_node_context_params(const envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(104, 208), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_watchdogs(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_hasbit(msg, 15); } +UPB_INLINE const envoy_config_bootstrap_v3_Watchdogs* envoy_config_bootstrap_v3_Bootstrap_watchdogs(const envoy_config_bootstrap_v3_Bootstrap *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(84, 168), const envoy_config_bootstrap_v3_Watchdogs*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_fatal_actions(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(108, 216)); } +UPB_INLINE const envoy_config_bootstrap_v3_FatalAction* const* envoy_config_bootstrap_v3_Bootstrap_fatal_actions(const envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { return (const envoy_config_bootstrap_v3_FatalAction* const*)_upb_array_accessor(msg, UPB_SIZE(108, 216), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_has_stats_flush_on_admin(const envoy_config_bootstrap_v3_Bootstrap *msg) { return _upb_getoneofcase(msg, UPB_SIZE(116, 228)) == 29; } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_stats_flush_on_admin(const envoy_config_bootstrap_v3_Bootstrap *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(112, 224), UPB_SIZE(116, 228), 29, false); } + +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_node(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_core_v3_Node* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(28, 56), struct envoy_config_core_v3_Node*) = value; +} +UPB_INLINE struct envoy_config_core_v3_Node* envoy_config_bootstrap_v3_Bootstrap_mutable_node(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_core_v3_Node* sub = (struct envoy_config_core_v3_Node*)envoy_config_bootstrap_v3_Bootstrap_node(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_Node*)_upb_msg_new(&envoy_config_core_v3_Node_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_node(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_static_resources(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_Bootstrap_StaticResources* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(32, 64), envoy_config_bootstrap_v3_Bootstrap_StaticResources*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Bootstrap_StaticResources* envoy_config_bootstrap_v3_Bootstrap_mutable_static_resources(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Bootstrap_StaticResources* sub = (struct envoy_config_bootstrap_v3_Bootstrap_StaticResources*)envoy_config_bootstrap_v3_Bootstrap_static_resources(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Bootstrap_StaticResources*)_upb_msg_new(&envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_static_resources(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_dynamic_resources(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_Bootstrap_DynamicResources* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(36, 72), envoy_config_bootstrap_v3_Bootstrap_DynamicResources*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Bootstrap_DynamicResources* envoy_config_bootstrap_v3_Bootstrap_mutable_dynamic_resources(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Bootstrap_DynamicResources* sub = (struct envoy_config_bootstrap_v3_Bootstrap_DynamicResources*)envoy_config_bootstrap_v3_Bootstrap_dynamic_resources(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Bootstrap_DynamicResources*)_upb_msg_new(&envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_dynamic_resources(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_cluster_manager(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_ClusterManager* value) { + _upb_sethas(msg, 4); + *UPB_PTR_AT(msg, UPB_SIZE(40, 80), envoy_config_bootstrap_v3_ClusterManager*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_ClusterManager* envoy_config_bootstrap_v3_Bootstrap_mutable_cluster_manager(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_ClusterManager* sub = (struct envoy_config_bootstrap_v3_ClusterManager*)envoy_config_bootstrap_v3_Bootstrap_cluster_manager(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_ClusterManager*)_upb_msg_new(&envoy_config_bootstrap_v3_ClusterManager_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_cluster_manager(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_flags_path(envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE struct envoy_config_metrics_v3_StatsSink** envoy_config_bootstrap_v3_Bootstrap_mutable_stats_sinks(envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { + return (struct envoy_config_metrics_v3_StatsSink**)_upb_array_mutable_accessor(msg, UPB_SIZE(88, 176), len); +} +UPB_INLINE struct envoy_config_metrics_v3_StatsSink** envoy_config_bootstrap_v3_Bootstrap_resize_stats_sinks(envoy_config_bootstrap_v3_Bootstrap *msg, size_t len, upb_arena *arena) { + return (struct envoy_config_metrics_v3_StatsSink**)_upb_array_resize_accessor2(msg, UPB_SIZE(88, 176), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_metrics_v3_StatsSink* envoy_config_bootstrap_v3_Bootstrap_add_stats_sinks(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_metrics_v3_StatsSink* sub = (struct envoy_config_metrics_v3_StatsSink*)_upb_msg_new(&envoy_config_metrics_v3_StatsSink_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(88, 176), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_stats_flush_interval(envoy_config_bootstrap_v3_Bootstrap *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 5); + *UPB_PTR_AT(msg, UPB_SIZE(44, 88), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_bootstrap_v3_Bootstrap_mutable_stats_flush_interval(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_bootstrap_v3_Bootstrap_stats_flush_interval(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_stats_flush_interval(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_watchdog(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_Watchdog* value) { + _upb_sethas(msg, 6); + *UPB_PTR_AT(msg, UPB_SIZE(48, 96), envoy_config_bootstrap_v3_Watchdog*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Watchdog* envoy_config_bootstrap_v3_Bootstrap_mutable_watchdog(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Watchdog* sub = (struct envoy_config_bootstrap_v3_Watchdog*)envoy_config_bootstrap_v3_Bootstrap_watchdog(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Watchdog*)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdog_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_watchdog(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_tracing(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_trace_v3_Tracing* value) { + _upb_sethas(msg, 7); + *UPB_PTR_AT(msg, UPB_SIZE(52, 104), struct envoy_config_trace_v3_Tracing*) = value; +} +UPB_INLINE struct envoy_config_trace_v3_Tracing* envoy_config_bootstrap_v3_Bootstrap_mutable_tracing(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_trace_v3_Tracing* sub = (struct envoy_config_trace_v3_Tracing*)envoy_config_bootstrap_v3_Bootstrap_tracing(msg); + if (sub == NULL) { + sub = (struct envoy_config_trace_v3_Tracing*)_upb_msg_new(&envoy_config_trace_v3_Tracing_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_tracing(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_admin(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_Admin* value) { + _upb_sethas(msg, 8); + *UPB_PTR_AT(msg, UPB_SIZE(56, 112), envoy_config_bootstrap_v3_Admin*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Admin* envoy_config_bootstrap_v3_Bootstrap_mutable_admin(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Admin* sub = (struct envoy_config_bootstrap_v3_Admin*)envoy_config_bootstrap_v3_Bootstrap_admin(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Admin*)_upb_msg_new(&envoy_config_bootstrap_v3_Admin_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_admin(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_stats_config(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_metrics_v3_StatsConfig* value) { + _upb_sethas(msg, 9); + *UPB_PTR_AT(msg, UPB_SIZE(60, 120), struct envoy_config_metrics_v3_StatsConfig*) = value; +} +UPB_INLINE struct envoy_config_metrics_v3_StatsConfig* envoy_config_bootstrap_v3_Bootstrap_mutable_stats_config(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_metrics_v3_StatsConfig* sub = (struct envoy_config_metrics_v3_StatsConfig*)envoy_config_bootstrap_v3_Bootstrap_stats_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_metrics_v3_StatsConfig*)_upb_msg_new(&envoy_config_metrics_v3_StatsConfig_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_stats_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_hds_config(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_core_v3_ApiConfigSource* value) { + _upb_sethas(msg, 10); + *UPB_PTR_AT(msg, UPB_SIZE(64, 128), struct envoy_config_core_v3_ApiConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ApiConfigSource* envoy_config_bootstrap_v3_Bootstrap_mutable_hds_config(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_core_v3_ApiConfigSource* sub = (struct envoy_config_core_v3_ApiConfigSource*)envoy_config_bootstrap_v3_Bootstrap_hds_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ApiConfigSource*)_upb_msg_new(&envoy_config_core_v3_ApiConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_hds_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_overload_manager(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_overload_v3_OverloadManager* value) { + _upb_sethas(msg, 11); + *UPB_PTR_AT(msg, UPB_SIZE(68, 136), struct envoy_config_overload_v3_OverloadManager*) = value; +} +UPB_INLINE struct envoy_config_overload_v3_OverloadManager* envoy_config_bootstrap_v3_Bootstrap_mutable_overload_manager(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_overload_v3_OverloadManager* sub = (struct envoy_config_overload_v3_OverloadManager*)envoy_config_bootstrap_v3_Bootstrap_overload_manager(msg); + if (sub == NULL) { + sub = (struct envoy_config_overload_v3_OverloadManager*)_upb_msg_new(&envoy_config_overload_v3_OverloadManager_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_overload_manager(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_enable_dispatcher_stats(envoy_config_bootstrap_v3_Bootstrap *msg, bool value) { + *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_layered_runtime(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_LayeredRuntime* value) { + _upb_sethas(msg, 12); + *UPB_PTR_AT(msg, UPB_SIZE(72, 144), envoy_config_bootstrap_v3_LayeredRuntime*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_LayeredRuntime* envoy_config_bootstrap_v3_Bootstrap_mutable_layered_runtime(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_LayeredRuntime* sub = (struct envoy_config_bootstrap_v3_LayeredRuntime*)envoy_config_bootstrap_v3_Bootstrap_layered_runtime(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_LayeredRuntime*)_upb_msg_new(&envoy_config_bootstrap_v3_LayeredRuntime_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_layered_runtime(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_header_prefix(envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_stats_server_version_override(envoy_config_bootstrap_v3_Bootstrap *msg, struct google_protobuf_UInt64Value* value) { + _upb_sethas(msg, 13); + *UPB_PTR_AT(msg, UPB_SIZE(76, 152), struct google_protobuf_UInt64Value*) = value; +} +UPB_INLINE struct google_protobuf_UInt64Value* envoy_config_bootstrap_v3_Bootstrap_mutable_stats_server_version_override(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct google_protobuf_UInt64Value* sub = (struct google_protobuf_UInt64Value*)envoy_config_bootstrap_v3_Bootstrap_stats_server_version_override(msg); + if (sub == NULL) { + sub = (struct google_protobuf_UInt64Value*)_upb_msg_new(&google_protobuf_UInt64Value_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_stats_server_version_override(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_use_tcp_for_dns_lookups(envoy_config_bootstrap_v3_Bootstrap *msg, bool value) { + *UPB_PTR_AT(msg, UPB_SIZE(3, 3), bool) = value; +} +UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig** envoy_config_bootstrap_v3_Bootstrap_mutable_bootstrap_extensions(envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { + return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(92, 184), len); +} +UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig** envoy_config_bootstrap_v3_Bootstrap_resize_bootstrap_extensions(envoy_config_bootstrap_v3_Bootstrap *msg, size_t len, upb_arena *arena) { + return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(92, 184), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Bootstrap_add_bootstrap_extensions(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(92, 184), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource** envoy_config_bootstrap_v3_Bootstrap_mutable_config_sources(envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { + return (struct envoy_config_core_v3_ConfigSource**)_upb_array_mutable_accessor(msg, UPB_SIZE(96, 192), len); +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource** envoy_config_bootstrap_v3_Bootstrap_resize_config_sources(envoy_config_bootstrap_v3_Bootstrap *msg, size_t len, upb_arena *arena) { + return (struct envoy_config_core_v3_ConfigSource**)_upb_array_resize_accessor2(msg, UPB_SIZE(96, 192), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_add_config_sources(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_core_v3_ConfigSource* sub = (struct envoy_config_core_v3_ConfigSource*)_upb_msg_new(&envoy_config_core_v3_ConfigSource_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(96, 192), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_default_config_source(envoy_config_bootstrap_v3_Bootstrap *msg, struct envoy_config_core_v3_ConfigSource* value) { + _upb_sethas(msg, 14); + *UPB_PTR_AT(msg, UPB_SIZE(80, 160), struct envoy_config_core_v3_ConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_mutable_default_config_source(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_core_v3_ConfigSource* sub = (struct envoy_config_core_v3_ConfigSource*)envoy_config_bootstrap_v3_Bootstrap_default_config_source(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ConfigSource*)_upb_msg_new(&envoy_config_core_v3_ConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_default_config_source(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_default_socket_interface(envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_clear(envoy_config_bootstrap_v3_Bootstrap *msg) { _upb_msg_map_clear(msg, UPB_SIZE(100, 200)); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_set(envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview key, struct envoy_config_core_v3_TypedExtensionConfig* val, upb_arena *a) { return _upb_msg_map_set(msg, UPB_SIZE(100, 200), &key, 0, &val, sizeof(val), a); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_delete(envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(100, 200), &key, 0); } +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry* envoy_config_bootstrap_v3_Bootstrap_certificate_provider_instances_nextmutable(envoy_config_bootstrap_v3_Bootstrap *msg, size_t* iter) { return (envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry*)_upb_msg_map_next(msg, UPB_SIZE(100, 200), iter); } +UPB_INLINE upb_strview* envoy_config_bootstrap_v3_Bootstrap_mutable_node_context_params(envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { + return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(104, 208), len); +} +UPB_INLINE upb_strview* envoy_config_bootstrap_v3_Bootstrap_resize_node_context_params(envoy_config_bootstrap_v3_Bootstrap *msg, size_t len, upb_arena *arena) { + return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(104, 208), len, UPB_SIZE(3, 4), arena); +} +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_add_node_context_params(envoy_config_bootstrap_v3_Bootstrap *msg, upb_strview val, upb_arena *arena) { + return _upb_array_append_accessor2(msg, UPB_SIZE(104, 208), UPB_SIZE(3, 4), &val, + arena); +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_watchdogs(envoy_config_bootstrap_v3_Bootstrap *msg, envoy_config_bootstrap_v3_Watchdogs* value) { + _upb_sethas(msg, 15); + *UPB_PTR_AT(msg, UPB_SIZE(84, 168), envoy_config_bootstrap_v3_Watchdogs*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Watchdogs* envoy_config_bootstrap_v3_Bootstrap_mutable_watchdogs(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Watchdogs* sub = (struct envoy_config_bootstrap_v3_Watchdogs*)envoy_config_bootstrap_v3_Bootstrap_watchdogs(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Watchdogs*)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdogs_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_set_watchdogs(msg, sub); + } + return sub; +} +UPB_INLINE envoy_config_bootstrap_v3_FatalAction** envoy_config_bootstrap_v3_Bootstrap_mutable_fatal_actions(envoy_config_bootstrap_v3_Bootstrap *msg, size_t *len) { + return (envoy_config_bootstrap_v3_FatalAction**)_upb_array_mutable_accessor(msg, UPB_SIZE(108, 216), len); +} +UPB_INLINE envoy_config_bootstrap_v3_FatalAction** envoy_config_bootstrap_v3_Bootstrap_resize_fatal_actions(envoy_config_bootstrap_v3_Bootstrap *msg, size_t len, upb_arena *arena) { + return (envoy_config_bootstrap_v3_FatalAction**)_upb_array_resize_accessor2(msg, UPB_SIZE(108, 216), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_bootstrap_v3_FatalAction* envoy_config_bootstrap_v3_Bootstrap_add_fatal_actions(envoy_config_bootstrap_v3_Bootstrap *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_FatalAction* sub = (struct envoy_config_bootstrap_v3_FatalAction*)_upb_msg_new(&envoy_config_bootstrap_v3_FatalAction_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(108, 216), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_set_stats_flush_on_admin(envoy_config_bootstrap_v3_Bootstrap *msg, bool value) { + UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(112, 224), value, UPB_SIZE(116, 228), 29); +} + +/* envoy.config.bootstrap.v3.Bootstrap.StaticResources */ + +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_StaticResources *envoy_config_bootstrap_v3_Bootstrap_StaticResources_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Bootstrap_StaticResources *)_upb_msg_new(&envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_StaticResources *envoy_config_bootstrap_v3_Bootstrap_StaticResources_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Bootstrap_StaticResources *ret = envoy_config_bootstrap_v3_Bootstrap_StaticResources_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_StaticResources *envoy_config_bootstrap_v3_Bootstrap_StaticResources_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Bootstrap_StaticResources *ret = envoy_config_bootstrap_v3_Bootstrap_StaticResources_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Bootstrap_StaticResources_serialize(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_StaticResources_has_listeners(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const struct envoy_config_listener_v3_Listener* const* envoy_config_bootstrap_v3_Bootstrap_StaticResources_listeners(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t *len) { return (const struct envoy_config_listener_v3_Listener* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_StaticResources_has_clusters(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); } +UPB_INLINE const struct envoy_config_cluster_v3_Cluster* const* envoy_config_bootstrap_v3_Bootstrap_StaticResources_clusters(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t *len) { return (const struct envoy_config_cluster_v3_Cluster* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_StaticResources_has_secrets(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const struct envoy_extensions_transport_sockets_tls_v3_Secret* const* envoy_config_bootstrap_v3_Bootstrap_StaticResources_secrets(const envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t *len) { return (const struct envoy_extensions_transport_sockets_tls_v3_Secret* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } + +UPB_INLINE struct envoy_config_listener_v3_Listener** envoy_config_bootstrap_v3_Bootstrap_StaticResources_mutable_listeners(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t *len) { + return (struct envoy_config_listener_v3_Listener**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE struct envoy_config_listener_v3_Listener** envoy_config_bootstrap_v3_Bootstrap_StaticResources_resize_listeners(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t len, upb_arena *arena) { + return (struct envoy_config_listener_v3_Listener**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_listener_v3_Listener* envoy_config_bootstrap_v3_Bootstrap_StaticResources_add_listeners(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, upb_arena *arena) { + struct envoy_config_listener_v3_Listener* sub = (struct envoy_config_listener_v3_Listener*)_upb_msg_new(&envoy_config_listener_v3_Listener_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE struct envoy_config_cluster_v3_Cluster** envoy_config_bootstrap_v3_Bootstrap_StaticResources_mutable_clusters(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t *len) { + return (struct envoy_config_cluster_v3_Cluster**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len); +} +UPB_INLINE struct envoy_config_cluster_v3_Cluster** envoy_config_bootstrap_v3_Bootstrap_StaticResources_resize_clusters(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t len, upb_arena *arena) { + return (struct envoy_config_cluster_v3_Cluster**)_upb_array_resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_cluster_v3_Cluster* envoy_config_bootstrap_v3_Bootstrap_StaticResources_add_clusters(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, upb_arena *arena) { + struct envoy_config_cluster_v3_Cluster* sub = (struct envoy_config_cluster_v3_Cluster*)_upb_msg_new(&envoy_config_cluster_v3_Cluster_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(4, 8), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE struct envoy_extensions_transport_sockets_tls_v3_Secret** envoy_config_bootstrap_v3_Bootstrap_StaticResources_mutable_secrets(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t *len) { + return (struct envoy_extensions_transport_sockets_tls_v3_Secret**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE struct envoy_extensions_transport_sockets_tls_v3_Secret** envoy_config_bootstrap_v3_Bootstrap_StaticResources_resize_secrets(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, size_t len, upb_arena *arena) { + return (struct envoy_extensions_transport_sockets_tls_v3_Secret**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_extensions_transport_sockets_tls_v3_Secret* envoy_config_bootstrap_v3_Bootstrap_StaticResources_add_secrets(envoy_config_bootstrap_v3_Bootstrap_StaticResources *msg, upb_arena *arena) { + struct envoy_extensions_transport_sockets_tls_v3_Secret* sub = (struct envoy_extensions_transport_sockets_tls_v3_Secret*)_upb_msg_new(&envoy_extensions_transport_sockets_tls_v3_Secret_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.config.bootstrap.v3.Bootstrap.DynamicResources */ + +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_DynamicResources *envoy_config_bootstrap_v3_Bootstrap_DynamicResources_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Bootstrap_DynamicResources *)_upb_msg_new(&envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_DynamicResources *envoy_config_bootstrap_v3_Bootstrap_DynamicResources_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Bootstrap_DynamicResources *ret = envoy_config_bootstrap_v3_Bootstrap_DynamicResources_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Bootstrap_DynamicResources *envoy_config_bootstrap_v3_Bootstrap_DynamicResources_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Bootstrap_DynamicResources *ret = envoy_config_bootstrap_v3_Bootstrap_DynamicResources_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Bootstrap_DynamicResources_serialize(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_DynamicResources_has_lds_config(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_DynamicResources_lds_config(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct envoy_config_core_v3_ConfigSource*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_DynamicResources_has_cds_config(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_DynamicResources_cds_config(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 48), const struct envoy_config_core_v3_ConfigSource*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_DynamicResources_has_ads_config(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const struct envoy_config_core_v3_ApiConfigSource* envoy_config_bootstrap_v3_Bootstrap_DynamicResources_ads_config(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 56), const struct envoy_config_core_v3_ApiConfigSource*); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Bootstrap_DynamicResources_lds_resources_locator(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Bootstrap_DynamicResources_cds_resources_locator(const envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); } + +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_lds_config(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, struct envoy_config_core_v3_ConfigSource* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct envoy_config_core_v3_ConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_DynamicResources_mutable_lds_config(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, upb_arena *arena) { + struct envoy_config_core_v3_ConfigSource* sub = (struct envoy_config_core_v3_ConfigSource*)envoy_config_bootstrap_v3_Bootstrap_DynamicResources_lds_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ConfigSource*)_upb_msg_new(&envoy_config_core_v3_ConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_lds_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_cds_config(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, struct envoy_config_core_v3_ConfigSource* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(24, 48), struct envoy_config_core_v3_ConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_Bootstrap_DynamicResources_mutable_cds_config(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, upb_arena *arena) { + struct envoy_config_core_v3_ConfigSource* sub = (struct envoy_config_core_v3_ConfigSource*)envoy_config_bootstrap_v3_Bootstrap_DynamicResources_cds_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ConfigSource*)_upb_msg_new(&envoy_config_core_v3_ConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_cds_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_ads_config(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, struct envoy_config_core_v3_ApiConfigSource* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(28, 56), struct envoy_config_core_v3_ApiConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ApiConfigSource* envoy_config_bootstrap_v3_Bootstrap_DynamicResources_mutable_ads_config(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, upb_arena *arena) { + struct envoy_config_core_v3_ApiConfigSource* sub = (struct envoy_config_core_v3_ApiConfigSource*)envoy_config_bootstrap_v3_Bootstrap_DynamicResources_ads_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ApiConfigSource*)_upb_msg_new(&envoy_config_core_v3_ApiConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_ads_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_lds_resources_locator(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_DynamicResources_set_cds_resources_locator(envoy_config_bootstrap_v3_Bootstrap_DynamicResources *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value; +} + +/* envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry */ + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_key(const envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry *msg) { + upb_strview ret; + _upb_msg_map_key(msg, &ret, 0); + return ret; +} +UPB_INLINE bool envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_has_value(const envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_value(const envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry *msg) { + struct envoy_config_core_v3_TypedExtensionConfig* ret; + _upb_msg_map_value(msg, &ret, sizeof(ret)); + return ret; +} + +UPB_INLINE void envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_set_value(envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) { + _upb_msg_map_set_value(msg, &value, sizeof(struct envoy_config_core_v3_TypedExtensionConfig*)); +} + +/* envoy.config.bootstrap.v3.Admin */ + +UPB_INLINE envoy_config_bootstrap_v3_Admin *envoy_config_bootstrap_v3_Admin_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Admin *)_upb_msg_new(&envoy_config_bootstrap_v3_Admin_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Admin *envoy_config_bootstrap_v3_Admin_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Admin *ret = envoy_config_bootstrap_v3_Admin_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Admin_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Admin *envoy_config_bootstrap_v3_Admin_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Admin *ret = envoy_config_bootstrap_v3_Admin_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Admin_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Admin_serialize(const envoy_config_bootstrap_v3_Admin *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Admin_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Admin_access_log_path(const envoy_config_bootstrap_v3_Admin *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Admin_profile_path(const envoy_config_bootstrap_v3_Admin *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_Admin_has_address(const envoy_config_bootstrap_v3_Admin *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_Address* envoy_config_bootstrap_v3_Admin_address(const envoy_config_bootstrap_v3_Admin *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct envoy_config_core_v3_Address*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Admin_has_socket_options(const envoy_config_bootstrap_v3_Admin *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); } +UPB_INLINE const struct envoy_config_core_v3_SocketOption* const* envoy_config_bootstrap_v3_Admin_socket_options(const envoy_config_bootstrap_v3_Admin *msg, size_t *len) { return (const struct envoy_config_core_v3_SocketOption* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len); } + +UPB_INLINE void envoy_config_bootstrap_v3_Admin_set_access_log_path(envoy_config_bootstrap_v3_Admin *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Admin_set_profile_path(envoy_config_bootstrap_v3_Admin *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Admin_set_address(envoy_config_bootstrap_v3_Admin *msg, struct envoy_config_core_v3_Address* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct envoy_config_core_v3_Address*) = value; +} +UPB_INLINE struct envoy_config_core_v3_Address* envoy_config_bootstrap_v3_Admin_mutable_address(envoy_config_bootstrap_v3_Admin *msg, upb_arena *arena) { + struct envoy_config_core_v3_Address* sub = (struct envoy_config_core_v3_Address*)envoy_config_bootstrap_v3_Admin_address(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_Address*)_upb_msg_new(&envoy_config_core_v3_Address_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Admin_set_address(msg, sub); + } + return sub; +} +UPB_INLINE struct envoy_config_core_v3_SocketOption** envoy_config_bootstrap_v3_Admin_mutable_socket_options(envoy_config_bootstrap_v3_Admin *msg, size_t *len) { + return (struct envoy_config_core_v3_SocketOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len); +} +UPB_INLINE struct envoy_config_core_v3_SocketOption** envoy_config_bootstrap_v3_Admin_resize_socket_options(envoy_config_bootstrap_v3_Admin *msg, size_t len, upb_arena *arena) { + return (struct envoy_config_core_v3_SocketOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(24, 48), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_core_v3_SocketOption* envoy_config_bootstrap_v3_Admin_add_socket_options(envoy_config_bootstrap_v3_Admin *msg, upb_arena *arena) { + struct envoy_config_core_v3_SocketOption* sub = (struct envoy_config_core_v3_SocketOption*)_upb_msg_new(&envoy_config_core_v3_SocketOption_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.config.bootstrap.v3.ClusterManager */ + +UPB_INLINE envoy_config_bootstrap_v3_ClusterManager *envoy_config_bootstrap_v3_ClusterManager_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_ClusterManager *)_upb_msg_new(&envoy_config_bootstrap_v3_ClusterManager_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_ClusterManager *envoy_config_bootstrap_v3_ClusterManager_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_ClusterManager *ret = envoy_config_bootstrap_v3_ClusterManager_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_ClusterManager_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_ClusterManager *envoy_config_bootstrap_v3_ClusterManager_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_ClusterManager *ret = envoy_config_bootstrap_v3_ClusterManager_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_ClusterManager_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_ClusterManager_serialize(const envoy_config_bootstrap_v3_ClusterManager *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_ClusterManager_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_ClusterManager_local_cluster_name(const envoy_config_bootstrap_v3_ClusterManager *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_ClusterManager_has_outlier_detection(const envoy_config_bootstrap_v3_ClusterManager *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection* envoy_config_bootstrap_v3_ClusterManager_outlier_detection(const envoy_config_bootstrap_v3_ClusterManager *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection*); } +UPB_INLINE bool envoy_config_bootstrap_v3_ClusterManager_has_upstream_bind_config(const envoy_config_bootstrap_v3_ClusterManager *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct envoy_config_core_v3_BindConfig* envoy_config_bootstrap_v3_ClusterManager_upstream_bind_config(const envoy_config_bootstrap_v3_ClusterManager *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct envoy_config_core_v3_BindConfig*); } +UPB_INLINE bool envoy_config_bootstrap_v3_ClusterManager_has_load_stats_config(const envoy_config_bootstrap_v3_ClusterManager *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const struct envoy_config_core_v3_ApiConfigSource* envoy_config_bootstrap_v3_ClusterManager_load_stats_config(const envoy_config_bootstrap_v3_ClusterManager *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct envoy_config_core_v3_ApiConfigSource*); } + +UPB_INLINE void envoy_config_bootstrap_v3_ClusterManager_set_local_cluster_name(envoy_config_bootstrap_v3_ClusterManager *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_ClusterManager_set_outlier_detection(envoy_config_bootstrap_v3_ClusterManager *msg, envoy_config_bootstrap_v3_ClusterManager_OutlierDetection* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), envoy_config_bootstrap_v3_ClusterManager_OutlierDetection*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_ClusterManager_OutlierDetection* envoy_config_bootstrap_v3_ClusterManager_mutable_outlier_detection(envoy_config_bootstrap_v3_ClusterManager *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_ClusterManager_OutlierDetection* sub = (struct envoy_config_bootstrap_v3_ClusterManager_OutlierDetection*)envoy_config_bootstrap_v3_ClusterManager_outlier_detection(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_ClusterManager_OutlierDetection*)_upb_msg_new(&envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_ClusterManager_set_outlier_detection(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_ClusterManager_set_upstream_bind_config(envoy_config_bootstrap_v3_ClusterManager *msg, struct envoy_config_core_v3_BindConfig* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct envoy_config_core_v3_BindConfig*) = value; +} +UPB_INLINE struct envoy_config_core_v3_BindConfig* envoy_config_bootstrap_v3_ClusterManager_mutable_upstream_bind_config(envoy_config_bootstrap_v3_ClusterManager *msg, upb_arena *arena) { + struct envoy_config_core_v3_BindConfig* sub = (struct envoy_config_core_v3_BindConfig*)envoy_config_bootstrap_v3_ClusterManager_upstream_bind_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_BindConfig*)_upb_msg_new(&envoy_config_core_v3_BindConfig_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_ClusterManager_set_upstream_bind_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_ClusterManager_set_load_stats_config(envoy_config_bootstrap_v3_ClusterManager *msg, struct envoy_config_core_v3_ApiConfigSource* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct envoy_config_core_v3_ApiConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ApiConfigSource* envoy_config_bootstrap_v3_ClusterManager_mutable_load_stats_config(envoy_config_bootstrap_v3_ClusterManager *msg, upb_arena *arena) { + struct envoy_config_core_v3_ApiConfigSource* sub = (struct envoy_config_core_v3_ApiConfigSource*)envoy_config_bootstrap_v3_ClusterManager_load_stats_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ApiConfigSource*)_upb_msg_new(&envoy_config_core_v3_ApiConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_ClusterManager_set_load_stats_config(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.ClusterManager.OutlierDetection */ + +UPB_INLINE envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *)_upb_msg_new(&envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *ret = envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *ret = envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_serialize(const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_event_log_path(const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_has_event_service(const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_EventServiceConfig* envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_event_service(const envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_config_core_v3_EventServiceConfig*); } + +UPB_INLINE void envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_set_event_log_path(envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_set_event_service(envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg, struct envoy_config_core_v3_EventServiceConfig* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_config_core_v3_EventServiceConfig*) = value; +} +UPB_INLINE struct envoy_config_core_v3_EventServiceConfig* envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_mutable_event_service(envoy_config_bootstrap_v3_ClusterManager_OutlierDetection *msg, upb_arena *arena) { + struct envoy_config_core_v3_EventServiceConfig* sub = (struct envoy_config_core_v3_EventServiceConfig*)envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_event_service(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_EventServiceConfig*)_upb_msg_new(&envoy_config_core_v3_EventServiceConfig_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_set_event_service(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.Watchdogs */ + +UPB_INLINE envoy_config_bootstrap_v3_Watchdogs *envoy_config_bootstrap_v3_Watchdogs_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Watchdogs *)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdogs_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdogs *envoy_config_bootstrap_v3_Watchdogs_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Watchdogs *ret = envoy_config_bootstrap_v3_Watchdogs_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Watchdogs_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdogs *envoy_config_bootstrap_v3_Watchdogs_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Watchdogs *ret = envoy_config_bootstrap_v3_Watchdogs_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Watchdogs_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Watchdogs_serialize(const envoy_config_bootstrap_v3_Watchdogs *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Watchdogs_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdogs_has_main_thread_watchdog(const envoy_config_bootstrap_v3_Watchdogs *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const envoy_config_bootstrap_v3_Watchdog* envoy_config_bootstrap_v3_Watchdogs_main_thread_watchdog(const envoy_config_bootstrap_v3_Watchdogs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const envoy_config_bootstrap_v3_Watchdog*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdogs_has_worker_watchdog(const envoy_config_bootstrap_v3_Watchdogs *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const envoy_config_bootstrap_v3_Watchdog* envoy_config_bootstrap_v3_Watchdogs_worker_watchdog(const envoy_config_bootstrap_v3_Watchdogs *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_bootstrap_v3_Watchdog*); } + +UPB_INLINE void envoy_config_bootstrap_v3_Watchdogs_set_main_thread_watchdog(envoy_config_bootstrap_v3_Watchdogs *msg, envoy_config_bootstrap_v3_Watchdog* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), envoy_config_bootstrap_v3_Watchdog*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Watchdog* envoy_config_bootstrap_v3_Watchdogs_mutable_main_thread_watchdog(envoy_config_bootstrap_v3_Watchdogs *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Watchdog* sub = (struct envoy_config_bootstrap_v3_Watchdog*)envoy_config_bootstrap_v3_Watchdogs_main_thread_watchdog(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Watchdog*)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdog_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdogs_set_main_thread_watchdog(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdogs_set_worker_watchdog(envoy_config_bootstrap_v3_Watchdogs *msg, envoy_config_bootstrap_v3_Watchdog* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_bootstrap_v3_Watchdog*) = value; +} +UPB_INLINE struct envoy_config_bootstrap_v3_Watchdog* envoy_config_bootstrap_v3_Watchdogs_mutable_worker_watchdog(envoy_config_bootstrap_v3_Watchdogs *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Watchdog* sub = (struct envoy_config_bootstrap_v3_Watchdog*)envoy_config_bootstrap_v3_Watchdogs_worker_watchdog(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_Watchdog*)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdog_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdogs_set_worker_watchdog(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.Watchdog */ + +UPB_INLINE envoy_config_bootstrap_v3_Watchdog *envoy_config_bootstrap_v3_Watchdog_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Watchdog *)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdog_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdog *envoy_config_bootstrap_v3_Watchdog_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Watchdog *ret = envoy_config_bootstrap_v3_Watchdog_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Watchdog_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdog *envoy_config_bootstrap_v3_Watchdog_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Watchdog *ret = envoy_config_bootstrap_v3_Watchdog_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Watchdog_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Watchdog_serialize(const envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Watchdog_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_miss_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_miss_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_megamiss_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_megamiss_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_kill_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_hasbit(msg, 3); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_kill_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_multikill_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_hasbit(msg, 4); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_multikill_timeout(const envoy_config_bootstrap_v3_Watchdog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_multikill_threshold(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_hasbit(msg, 5); } +UPB_INLINE const struct envoy_type_v3_Percent* envoy_config_bootstrap_v3_Watchdog_multikill_threshold(const envoy_config_bootstrap_v3_Watchdog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct envoy_type_v3_Percent*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_max_kill_timeout_jitter(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_hasbit(msg, 6); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_max_kill_timeout_jitter(const envoy_config_bootstrap_v3_Watchdog *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 48), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_has_actions(const envoy_config_bootstrap_v3_Watchdog *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56)); } +UPB_INLINE const envoy_config_bootstrap_v3_Watchdog_WatchdogAction* const* envoy_config_bootstrap_v3_Watchdog_actions(const envoy_config_bootstrap_v3_Watchdog *msg, size_t *len) { return (const envoy_config_bootstrap_v3_Watchdog_WatchdogAction* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); } + +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_set_miss_timeout(envoy_config_bootstrap_v3_Watchdog *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_mutable_miss_timeout(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_bootstrap_v3_Watchdog_miss_timeout(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_set_miss_timeout(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_set_megamiss_timeout(envoy_config_bootstrap_v3_Watchdog *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_mutable_megamiss_timeout(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_bootstrap_v3_Watchdog_megamiss_timeout(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_set_megamiss_timeout(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_set_kill_timeout(envoy_config_bootstrap_v3_Watchdog *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 3); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_mutable_kill_timeout(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_bootstrap_v3_Watchdog_kill_timeout(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_set_kill_timeout(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_set_multikill_timeout(envoy_config_bootstrap_v3_Watchdog *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 4); + *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_mutable_multikill_timeout(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_bootstrap_v3_Watchdog_multikill_timeout(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_set_multikill_timeout(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_set_multikill_threshold(envoy_config_bootstrap_v3_Watchdog *msg, struct envoy_type_v3_Percent* value) { + _upb_sethas(msg, 5); + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct envoy_type_v3_Percent*) = value; +} +UPB_INLINE struct envoy_type_v3_Percent* envoy_config_bootstrap_v3_Watchdog_mutable_multikill_threshold(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct envoy_type_v3_Percent* sub = (struct envoy_type_v3_Percent*)envoy_config_bootstrap_v3_Watchdog_multikill_threshold(msg); + if (sub == NULL) { + sub = (struct envoy_type_v3_Percent*)_upb_msg_new(&envoy_type_v3_Percent_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_set_multikill_threshold(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_set_max_kill_timeout_jitter(envoy_config_bootstrap_v3_Watchdog *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 6); + *UPB_PTR_AT(msg, UPB_SIZE(24, 48), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_bootstrap_v3_Watchdog_mutable_max_kill_timeout_jitter(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_bootstrap_v3_Watchdog_max_kill_timeout_jitter(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_set_max_kill_timeout_jitter(msg, sub); + } + return sub; +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdog_WatchdogAction** envoy_config_bootstrap_v3_Watchdog_mutable_actions(envoy_config_bootstrap_v3_Watchdog *msg, size_t *len) { + return (envoy_config_bootstrap_v3_Watchdog_WatchdogAction**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len); +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdog_WatchdogAction** envoy_config_bootstrap_v3_Watchdog_resize_actions(envoy_config_bootstrap_v3_Watchdog *msg, size_t len, upb_arena *arena) { + return (envoy_config_bootstrap_v3_Watchdog_WatchdogAction**)_upb_array_resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_bootstrap_v3_Watchdog_WatchdogAction* envoy_config_bootstrap_v3_Watchdog_add_actions(envoy_config_bootstrap_v3_Watchdog *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_Watchdog_WatchdogAction* sub = (struct envoy_config_bootstrap_v3_Watchdog_WatchdogAction*)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.config.bootstrap.v3.Watchdog.WatchdogAction */ + +UPB_INLINE envoy_config_bootstrap_v3_Watchdog_WatchdogAction *envoy_config_bootstrap_v3_Watchdog_WatchdogAction_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Watchdog_WatchdogAction *)_upb_msg_new(&envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdog_WatchdogAction *envoy_config_bootstrap_v3_Watchdog_WatchdogAction_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Watchdog_WatchdogAction *ret = envoy_config_bootstrap_v3_Watchdog_WatchdogAction_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Watchdog_WatchdogAction *envoy_config_bootstrap_v3_Watchdog_WatchdogAction_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Watchdog_WatchdogAction *ret = envoy_config_bootstrap_v3_Watchdog_WatchdogAction_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Watchdog_WatchdogAction_serialize(const envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_Watchdog_WatchdogAction_has_config(const envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Watchdog_WatchdogAction_config(const envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const struct envoy_config_core_v3_TypedExtensionConfig*); } +UPB_INLINE int32_t envoy_config_bootstrap_v3_Watchdog_WatchdogAction_event(const envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_WatchdogAction_set_config(envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), struct envoy_config_core_v3_TypedExtensionConfig*) = value; +} +UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_Watchdog_WatchdogAction_mutable_config(envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg, upb_arena *arena) { + struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_config_bootstrap_v3_Watchdog_WatchdogAction_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Watchdog_WatchdogAction_set_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_Watchdog_WatchdogAction_set_event(envoy_config_bootstrap_v3_Watchdog_WatchdogAction *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.config.bootstrap.v3.FatalAction */ + +UPB_INLINE envoy_config_bootstrap_v3_FatalAction *envoy_config_bootstrap_v3_FatalAction_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_FatalAction *)_upb_msg_new(&envoy_config_bootstrap_v3_FatalAction_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_FatalAction *envoy_config_bootstrap_v3_FatalAction_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_FatalAction *ret = envoy_config_bootstrap_v3_FatalAction_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_FatalAction_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_FatalAction *envoy_config_bootstrap_v3_FatalAction_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_FatalAction *ret = envoy_config_bootstrap_v3_FatalAction_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_FatalAction_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_FatalAction_serialize(const envoy_config_bootstrap_v3_FatalAction *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_FatalAction_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_FatalAction_has_config(const envoy_config_bootstrap_v3_FatalAction *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_FatalAction_config(const envoy_config_bootstrap_v3_FatalAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_TypedExtensionConfig*); } + +UPB_INLINE void envoy_config_bootstrap_v3_FatalAction_set_config(envoy_config_bootstrap_v3_FatalAction *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_TypedExtensionConfig*) = value; +} +UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_bootstrap_v3_FatalAction_mutable_config(envoy_config_bootstrap_v3_FatalAction *msg, upb_arena *arena) { + struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_config_bootstrap_v3_FatalAction_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_FatalAction_set_config(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.Runtime */ + +UPB_INLINE envoy_config_bootstrap_v3_Runtime *envoy_config_bootstrap_v3_Runtime_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_Runtime *)_upb_msg_new(&envoy_config_bootstrap_v3_Runtime_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_Runtime *envoy_config_bootstrap_v3_Runtime_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_Runtime *ret = envoy_config_bootstrap_v3_Runtime_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Runtime_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_Runtime *envoy_config_bootstrap_v3_Runtime_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_Runtime *ret = envoy_config_bootstrap_v3_Runtime_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_Runtime_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_Runtime_serialize(const envoy_config_bootstrap_v3_Runtime *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_Runtime_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Runtime_symlink_root(const envoy_config_bootstrap_v3_Runtime *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Runtime_subdirectory(const envoy_config_bootstrap_v3_Runtime *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_Runtime_override_subdirectory(const envoy_config_bootstrap_v3_Runtime *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_Runtime_has_base(const envoy_config_bootstrap_v3_Runtime *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Struct* envoy_config_bootstrap_v3_Runtime_base(const envoy_config_bootstrap_v3_Runtime *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 56), const struct google_protobuf_Struct*); } + +UPB_INLINE void envoy_config_bootstrap_v3_Runtime_set_symlink_root(envoy_config_bootstrap_v3_Runtime *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Runtime_set_subdirectory(envoy_config_bootstrap_v3_Runtime *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Runtime_set_override_subdirectory(envoy_config_bootstrap_v3_Runtime *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(20, 40), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_Runtime_set_base(envoy_config_bootstrap_v3_Runtime *msg, struct google_protobuf_Struct* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(28, 56), struct google_protobuf_Struct*) = value; +} +UPB_INLINE struct google_protobuf_Struct* envoy_config_bootstrap_v3_Runtime_mutable_base(envoy_config_bootstrap_v3_Runtime *msg, upb_arena *arena) { + struct google_protobuf_Struct* sub = (struct google_protobuf_Struct*)envoy_config_bootstrap_v3_Runtime_base(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Struct*)_upb_msg_new(&google_protobuf_Struct_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_Runtime_set_base(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.RuntimeLayer */ + +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer *envoy_config_bootstrap_v3_RuntimeLayer_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_RuntimeLayer *)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer *envoy_config_bootstrap_v3_RuntimeLayer_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_RuntimeLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer *envoy_config_bootstrap_v3_RuntimeLayer_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_RuntimeLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_RuntimeLayer_serialize(const envoy_config_bootstrap_v3_RuntimeLayer *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_RuntimeLayer_msginit, arena, len); +} + +typedef enum { + envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_static_layer = 2, + envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_disk_layer = 3, + envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_admin_layer = 4, + envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_rtds_layer = 5, + envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_NOT_SET = 0 +} envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_oneofcases; +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_oneofcases envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_case(const envoy_config_bootstrap_v3_RuntimeLayer* msg) { return (envoy_config_bootstrap_v3_RuntimeLayer_layer_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); } + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_RuntimeLayer_name(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_RuntimeLayer_has_static_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 2; } +UPB_INLINE const struct google_protobuf_Struct* envoy_config_bootstrap_v3_RuntimeLayer_static_layer(const envoy_config_bootstrap_v3_RuntimeLayer *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_bootstrap_v3_RuntimeLayer_has_disk_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; } +UPB_INLINE const envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer* envoy_config_bootstrap_v3_RuntimeLayer_disk_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return UPB_READ_ONEOF(msg, const envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); } +UPB_INLINE bool envoy_config_bootstrap_v3_RuntimeLayer_has_admin_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 4; } +UPB_INLINE const envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer* envoy_config_bootstrap_v3_RuntimeLayer_admin_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return UPB_READ_ONEOF(msg, const envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 4, NULL); } +UPB_INLINE bool envoy_config_bootstrap_v3_RuntimeLayer_has_rtds_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 5; } +UPB_INLINE const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer* envoy_config_bootstrap_v3_RuntimeLayer_rtds_layer(const envoy_config_bootstrap_v3_RuntimeLayer *msg) { return UPB_READ_ONEOF(msg, const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 5, NULL); } + +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_set_name(envoy_config_bootstrap_v3_RuntimeLayer *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_set_static_layer(envoy_config_bootstrap_v3_RuntimeLayer *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_bootstrap_v3_RuntimeLayer_mutable_static_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, upb_arena *arena) { + struct google_protobuf_Struct* sub = (struct google_protobuf_Struct*)envoy_config_bootstrap_v3_RuntimeLayer_static_layer(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Struct*)_upb_msg_new(&google_protobuf_Struct_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_RuntimeLayer_set_static_layer(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_set_disk_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer* value) { + UPB_WRITE_ONEOF(msg, envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3); +} +UPB_INLINE struct envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer* envoy_config_bootstrap_v3_RuntimeLayer_mutable_disk_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer* sub = (struct envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer*)envoy_config_bootstrap_v3_RuntimeLayer_disk_layer(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer*)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_RuntimeLayer_set_disk_layer(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_set_admin_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer* value) { + UPB_WRITE_ONEOF(msg, envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 4); +} +UPB_INLINE struct envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer* envoy_config_bootstrap_v3_RuntimeLayer_mutable_admin_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer* sub = (struct envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer*)envoy_config_bootstrap_v3_RuntimeLayer_admin_layer(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer*)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_RuntimeLayer_set_admin_layer(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_set_rtds_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer* value) { + UPB_WRITE_ONEOF(msg, envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 5); +} +UPB_INLINE struct envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer* envoy_config_bootstrap_v3_RuntimeLayer_mutable_rtds_layer(envoy_config_bootstrap_v3_RuntimeLayer *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer* sub = (struct envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer*)envoy_config_bootstrap_v3_RuntimeLayer_rtds_layer(msg); + if (sub == NULL) { + sub = (struct envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer*)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_RuntimeLayer_set_rtds_layer(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer */ + +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_serialize(const envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_symlink_root(const envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_append_service_cluster(const envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool); } +UPB_INLINE upb_strview envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_subdirectory(const envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); } + +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_set_symlink_root(envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_set_append_service_cluster(envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg, bool value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_set_subdirectory(envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value; +} + +/* envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer */ + +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_serialize(const envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, arena, len); +} + + + +/* envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer */ + +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *ret = envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_serialize(const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_name(const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_has_rtds_config(const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_rtds_config(const envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_config_core_v3_ConfigSource*); } + +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_set_name(envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_set_rtds_config(envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg, struct envoy_config_core_v3_ConfigSource* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_config_core_v3_ConfigSource*) = value; +} +UPB_INLINE struct envoy_config_core_v3_ConfigSource* envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_mutable_rtds_config(envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer *msg, upb_arena *arena) { + struct envoy_config_core_v3_ConfigSource* sub = (struct envoy_config_core_v3_ConfigSource*)envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_rtds_config(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_ConfigSource*)_upb_msg_new(&envoy_config_core_v3_ConfigSource_msginit, arena); + if (!sub) return NULL; + envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_set_rtds_config(msg, sub); + } + return sub; +} + +/* envoy.config.bootstrap.v3.LayeredRuntime */ + +UPB_INLINE envoy_config_bootstrap_v3_LayeredRuntime *envoy_config_bootstrap_v3_LayeredRuntime_new(upb_arena *arena) { + return (envoy_config_bootstrap_v3_LayeredRuntime *)_upb_msg_new(&envoy_config_bootstrap_v3_LayeredRuntime_msginit, arena); +} +UPB_INLINE envoy_config_bootstrap_v3_LayeredRuntime *envoy_config_bootstrap_v3_LayeredRuntime_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_bootstrap_v3_LayeredRuntime *ret = envoy_config_bootstrap_v3_LayeredRuntime_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_LayeredRuntime_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_bootstrap_v3_LayeredRuntime *envoy_config_bootstrap_v3_LayeredRuntime_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_bootstrap_v3_LayeredRuntime *ret = envoy_config_bootstrap_v3_LayeredRuntime_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_bootstrap_v3_LayeredRuntime_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_bootstrap_v3_LayeredRuntime_serialize(const envoy_config_bootstrap_v3_LayeredRuntime *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_bootstrap_v3_LayeredRuntime_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_bootstrap_v3_LayeredRuntime_has_layers(const envoy_config_bootstrap_v3_LayeredRuntime *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_config_bootstrap_v3_RuntimeLayer* const* envoy_config_bootstrap_v3_LayeredRuntime_layers(const envoy_config_bootstrap_v3_LayeredRuntime *msg, size_t *len) { return (const envoy_config_bootstrap_v3_RuntimeLayer* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } + +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer** envoy_config_bootstrap_v3_LayeredRuntime_mutable_layers(envoy_config_bootstrap_v3_LayeredRuntime *msg, size_t *len) { + return (envoy_config_bootstrap_v3_RuntimeLayer**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_config_bootstrap_v3_RuntimeLayer** envoy_config_bootstrap_v3_LayeredRuntime_resize_layers(envoy_config_bootstrap_v3_LayeredRuntime *msg, size_t len, upb_arena *arena) { + return (envoy_config_bootstrap_v3_RuntimeLayer**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_bootstrap_v3_RuntimeLayer* envoy_config_bootstrap_v3_LayeredRuntime_add_layers(envoy_config_bootstrap_v3_LayeredRuntime *msg, upb_arena *arena) { + struct envoy_config_bootstrap_v3_RuntimeLayer* sub = (struct envoy_config_bootstrap_v3_RuntimeLayer*)_upb_msg_new(&envoy_config_bootstrap_v3_RuntimeLayer_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_CONFIG_BOOTSTRAP_V3_BOOTSTRAP_PROTO_UPB_H_ */ diff --git a/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c b/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c new file mode 100644 index 00000000000..26d00f14ea8 --- /dev/null +++ b/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c @@ -0,0 +1,144 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/metrics/v3/stats.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/config/metrics/v3/stats.upb.h" +#include "envoy/config/core/v3/address.upb.h" +#include "envoy/type/matcher/v3/string.upb.h" +#include "google/protobuf/any.upb.h" +#include "google/protobuf/wrappers.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" +#include "validate/validate.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_config_metrics_v3_StatsSink_submsgs[1] = { + &google_protobuf_Any_msginit, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_StatsSink__fields[2] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1}, +}; + +const upb_msglayout envoy_config_metrics_v3_StatsSink_msginit = { + &envoy_config_metrics_v3_StatsSink_submsgs[0], + &envoy_config_metrics_v3_StatsSink__fields[0], + UPB_SIZE(16, 32), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_metrics_v3_StatsConfig_submsgs[4] = { + &envoy_config_metrics_v3_HistogramBucketSettings_msginit, + &envoy_config_metrics_v3_StatsMatcher_msginit, + &envoy_config_metrics_v3_TagSpecifier_msginit, + &google_protobuf_BoolValue_msginit, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_StatsConfig__fields[4] = { + {1, UPB_SIZE(12, 24), 0, 2, 11, 3}, + {2, UPB_SIZE(4, 8), 1, 3, 11, 1}, + {3, UPB_SIZE(8, 16), 2, 1, 11, 1}, + {4, UPB_SIZE(16, 32), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_config_metrics_v3_StatsConfig_msginit = { + &envoy_config_metrics_v3_StatsConfig_submsgs[0], + &envoy_config_metrics_v3_StatsConfig__fields[0], + UPB_SIZE(24, 40), 4, false, 255, +}; + +static const upb_msglayout *const envoy_config_metrics_v3_StatsMatcher_submsgs[1] = { + &envoy_type_matcher_v3_ListStringMatcher_msginit, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_StatsMatcher__fields[3] = { + {1, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 0, 8, 1}, + {2, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 0, 11, 1}, + {3, UPB_SIZE(0, 0), UPB_SIZE(-5, -9), 0, 11, 1}, +}; + +const upb_msglayout envoy_config_metrics_v3_StatsMatcher_msginit = { + &envoy_config_metrics_v3_StatsMatcher_submsgs[0], + &envoy_config_metrics_v3_StatsMatcher__fields[0], + UPB_SIZE(8, 16), 3, false, 255, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_TagSpecifier__fields[3] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {2, UPB_SIZE(8, 16), UPB_SIZE(-17, -33), 0, 9, 1}, + {3, UPB_SIZE(8, 16), UPB_SIZE(-17, -33), 0, 9, 1}, +}; + +const upb_msglayout envoy_config_metrics_v3_TagSpecifier_msginit = { + NULL, + &envoy_config_metrics_v3_TagSpecifier__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout *const envoy_config_metrics_v3_HistogramBucketSettings_submsgs[1] = { + &envoy_type_matcher_v3_StringMatcher_msginit, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_HistogramBucketSettings__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 0, 0, 1, _UPB_LABEL_PACKED}, +}; + +const upb_msglayout envoy_config_metrics_v3_HistogramBucketSettings_msginit = { + &envoy_config_metrics_v3_HistogramBucketSettings_submsgs[0], + &envoy_config_metrics_v3_HistogramBucketSettings__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_metrics_v3_StatsdSink_submsgs[1] = { + &envoy_config_core_v3_Address_msginit, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_StatsdSink__fields[3] = { + {1, UPB_SIZE(8, 16), UPB_SIZE(-17, -33), 0, 11, 1}, + {2, UPB_SIZE(8, 16), UPB_SIZE(-17, -33), 0, 9, 1}, + {3, UPB_SIZE(0, 0), 0, 0, 9, 1}, +}; + +const upb_msglayout envoy_config_metrics_v3_StatsdSink_msginit = { + &envoy_config_metrics_v3_StatsdSink_submsgs[0], + &envoy_config_metrics_v3_StatsdSink__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout *const envoy_config_metrics_v3_DogStatsdSink_submsgs[2] = { + &envoy_config_core_v3_Address_msginit, + &google_protobuf_UInt64Value_msginit, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_DogStatsdSink__fields[3] = { + {1, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 0, 11, 1}, + {3, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {4, UPB_SIZE(12, 24), 1, 1, 11, 1}, +}; + +const upb_msglayout envoy_config_metrics_v3_DogStatsdSink_msginit = { + &envoy_config_metrics_v3_DogStatsdSink_submsgs[0], + &envoy_config_metrics_v3_DogStatsdSink__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout_field envoy_config_metrics_v3_HystrixSink__fields[1] = { + {1, UPB_SIZE(0, 0), 0, 0, 3, 1}, +}; + +const upb_msglayout envoy_config_metrics_v3_HystrixSink_msginit = { + NULL, + &envoy_config_metrics_v3_HystrixSink__fields[0], + UPB_SIZE(8, 8), 1, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h b/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h new file mode 100644 index 00000000000..dab0415ed60 --- /dev/null +++ b/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h @@ -0,0 +1,488 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/metrics/v3/stats.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_CONFIG_METRICS_V3_STATS_PROTO_UPB_H_ +#define ENVOY_CONFIG_METRICS_V3_STATS_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_config_metrics_v3_StatsSink; +struct envoy_config_metrics_v3_StatsConfig; +struct envoy_config_metrics_v3_StatsMatcher; +struct envoy_config_metrics_v3_TagSpecifier; +struct envoy_config_metrics_v3_HistogramBucketSettings; +struct envoy_config_metrics_v3_StatsdSink; +struct envoy_config_metrics_v3_DogStatsdSink; +struct envoy_config_metrics_v3_HystrixSink; +typedef struct envoy_config_metrics_v3_StatsSink envoy_config_metrics_v3_StatsSink; +typedef struct envoy_config_metrics_v3_StatsConfig envoy_config_metrics_v3_StatsConfig; +typedef struct envoy_config_metrics_v3_StatsMatcher envoy_config_metrics_v3_StatsMatcher; +typedef struct envoy_config_metrics_v3_TagSpecifier envoy_config_metrics_v3_TagSpecifier; +typedef struct envoy_config_metrics_v3_HistogramBucketSettings envoy_config_metrics_v3_HistogramBucketSettings; +typedef struct envoy_config_metrics_v3_StatsdSink envoy_config_metrics_v3_StatsdSink; +typedef struct envoy_config_metrics_v3_DogStatsdSink envoy_config_metrics_v3_DogStatsdSink; +typedef struct envoy_config_metrics_v3_HystrixSink envoy_config_metrics_v3_HystrixSink; +extern const upb_msglayout envoy_config_metrics_v3_StatsSink_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsConfig_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsMatcher_msginit; +extern const upb_msglayout envoy_config_metrics_v3_TagSpecifier_msginit; +extern const upb_msglayout envoy_config_metrics_v3_HistogramBucketSettings_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsdSink_msginit; +extern const upb_msglayout envoy_config_metrics_v3_DogStatsdSink_msginit; +extern const upb_msglayout envoy_config_metrics_v3_HystrixSink_msginit; +struct envoy_config_core_v3_Address; +struct envoy_type_matcher_v3_ListStringMatcher; +struct envoy_type_matcher_v3_StringMatcher; +struct google_protobuf_Any; +struct google_protobuf_BoolValue; +struct google_protobuf_UInt64Value; +extern const upb_msglayout envoy_config_core_v3_Address_msginit; +extern const upb_msglayout envoy_type_matcher_v3_ListStringMatcher_msginit; +extern const upb_msglayout envoy_type_matcher_v3_StringMatcher_msginit; +extern const upb_msglayout google_protobuf_Any_msginit; +extern const upb_msglayout google_protobuf_BoolValue_msginit; +extern const upb_msglayout google_protobuf_UInt64Value_msginit; + + +/* envoy.config.metrics.v3.StatsSink */ + +UPB_INLINE envoy_config_metrics_v3_StatsSink *envoy_config_metrics_v3_StatsSink_new(upb_arena *arena) { + return (envoy_config_metrics_v3_StatsSink *)_upb_msg_new(&envoy_config_metrics_v3_StatsSink_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_StatsSink *envoy_config_metrics_v3_StatsSink_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_StatsSink *ret = envoy_config_metrics_v3_StatsSink_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsSink_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_StatsSink *envoy_config_metrics_v3_StatsSink_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_StatsSink *ret = envoy_config_metrics_v3_StatsSink_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsSink_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_StatsSink_serialize(const envoy_config_metrics_v3_StatsSink *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_StatsSink_msginit, arena, len); +} + +typedef enum { + envoy_config_metrics_v3_StatsSink_config_type_typed_config = 3, + envoy_config_metrics_v3_StatsSink_config_type_NOT_SET = 0 +} envoy_config_metrics_v3_StatsSink_config_type_oneofcases; +UPB_INLINE envoy_config_metrics_v3_StatsSink_config_type_oneofcases envoy_config_metrics_v3_StatsSink_config_type_case(const envoy_config_metrics_v3_StatsSink* msg) { return (envoy_config_metrics_v3_StatsSink_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); } + +UPB_INLINE upb_strview envoy_config_metrics_v3_StatsSink_name(const envoy_config_metrics_v3_StatsSink *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_config_metrics_v3_StatsSink_has_typed_config(const envoy_config_metrics_v3_StatsSink *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; } +UPB_INLINE const struct google_protobuf_Any* envoy_config_metrics_v3_StatsSink_typed_config(const envoy_config_metrics_v3_StatsSink *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); } + +UPB_INLINE void envoy_config_metrics_v3_StatsSink_set_name(envoy_config_metrics_v3_StatsSink *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE void envoy_config_metrics_v3_StatsSink_set_typed_config(envoy_config_metrics_v3_StatsSink *msg, struct google_protobuf_Any* value) { + UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3); +} +UPB_INLINE struct google_protobuf_Any* envoy_config_metrics_v3_StatsSink_mutable_typed_config(envoy_config_metrics_v3_StatsSink *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_metrics_v3_StatsSink_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_metrics_v3_StatsSink_set_typed_config(msg, sub); + } + return sub; +} + +/* envoy.config.metrics.v3.StatsConfig */ + +UPB_INLINE envoy_config_metrics_v3_StatsConfig *envoy_config_metrics_v3_StatsConfig_new(upb_arena *arena) { + return (envoy_config_metrics_v3_StatsConfig *)_upb_msg_new(&envoy_config_metrics_v3_StatsConfig_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_StatsConfig *envoy_config_metrics_v3_StatsConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_StatsConfig *ret = envoy_config_metrics_v3_StatsConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_StatsConfig *envoy_config_metrics_v3_StatsConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_StatsConfig *ret = envoy_config_metrics_v3_StatsConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_StatsConfig_serialize(const envoy_config_metrics_v3_StatsConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_StatsConfig_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_metrics_v3_StatsConfig_has_stats_tags(const envoy_config_metrics_v3_StatsConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); } +UPB_INLINE const envoy_config_metrics_v3_TagSpecifier* const* envoy_config_metrics_v3_StatsConfig_stats_tags(const envoy_config_metrics_v3_StatsConfig *msg, size_t *len) { return (const envoy_config_metrics_v3_TagSpecifier* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); } +UPB_INLINE bool envoy_config_metrics_v3_StatsConfig_has_use_all_default_tags(const envoy_config_metrics_v3_StatsConfig *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_metrics_v3_StatsConfig_use_all_default_tags(const envoy_config_metrics_v3_StatsConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_BoolValue*); } +UPB_INLINE bool envoy_config_metrics_v3_StatsConfig_has_stats_matcher(const envoy_config_metrics_v3_StatsConfig *msg) { return _upb_hasbit(msg, 2); } +UPB_INLINE const envoy_config_metrics_v3_StatsMatcher* envoy_config_metrics_v3_StatsConfig_stats_matcher(const envoy_config_metrics_v3_StatsConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_metrics_v3_StatsMatcher*); } +UPB_INLINE bool envoy_config_metrics_v3_StatsConfig_has_histogram_bucket_settings(const envoy_config_metrics_v3_StatsConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); } +UPB_INLINE const envoy_config_metrics_v3_HistogramBucketSettings* const* envoy_config_metrics_v3_StatsConfig_histogram_bucket_settings(const envoy_config_metrics_v3_StatsConfig *msg, size_t *len) { return (const envoy_config_metrics_v3_HistogramBucketSettings* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); } + +UPB_INLINE envoy_config_metrics_v3_TagSpecifier** envoy_config_metrics_v3_StatsConfig_mutable_stats_tags(envoy_config_metrics_v3_StatsConfig *msg, size_t *len) { + return (envoy_config_metrics_v3_TagSpecifier**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len); +} +UPB_INLINE envoy_config_metrics_v3_TagSpecifier** envoy_config_metrics_v3_StatsConfig_resize_stats_tags(envoy_config_metrics_v3_StatsConfig *msg, size_t len, upb_arena *arena) { + return (envoy_config_metrics_v3_TagSpecifier**)_upb_array_resize_accessor2(msg, UPB_SIZE(12, 24), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_metrics_v3_TagSpecifier* envoy_config_metrics_v3_StatsConfig_add_stats_tags(envoy_config_metrics_v3_StatsConfig *msg, upb_arena *arena) { + struct envoy_config_metrics_v3_TagSpecifier* sub = (struct envoy_config_metrics_v3_TagSpecifier*)_upb_msg_new(&envoy_config_metrics_v3_TagSpecifier_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(12, 24), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_config_metrics_v3_StatsConfig_set_use_all_default_tags(envoy_config_metrics_v3_StatsConfig *msg, struct google_protobuf_BoolValue* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_BoolValue*) = value; +} +UPB_INLINE struct google_protobuf_BoolValue* envoy_config_metrics_v3_StatsConfig_mutable_use_all_default_tags(envoy_config_metrics_v3_StatsConfig *msg, upb_arena *arena) { + struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_metrics_v3_StatsConfig_use_all_default_tags(msg); + if (sub == NULL) { + sub = (struct google_protobuf_BoolValue*)_upb_msg_new(&google_protobuf_BoolValue_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_StatsConfig_set_use_all_default_tags(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_metrics_v3_StatsConfig_set_stats_matcher(envoy_config_metrics_v3_StatsConfig *msg, envoy_config_metrics_v3_StatsMatcher* value) { + _upb_sethas(msg, 2); + *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_metrics_v3_StatsMatcher*) = value; +} +UPB_INLINE struct envoy_config_metrics_v3_StatsMatcher* envoy_config_metrics_v3_StatsConfig_mutable_stats_matcher(envoy_config_metrics_v3_StatsConfig *msg, upb_arena *arena) { + struct envoy_config_metrics_v3_StatsMatcher* sub = (struct envoy_config_metrics_v3_StatsMatcher*)envoy_config_metrics_v3_StatsConfig_stats_matcher(msg); + if (sub == NULL) { + sub = (struct envoy_config_metrics_v3_StatsMatcher*)_upb_msg_new(&envoy_config_metrics_v3_StatsMatcher_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_StatsConfig_set_stats_matcher(msg, sub); + } + return sub; +} +UPB_INLINE envoy_config_metrics_v3_HistogramBucketSettings** envoy_config_metrics_v3_StatsConfig_mutable_histogram_bucket_settings(envoy_config_metrics_v3_StatsConfig *msg, size_t *len) { + return (envoy_config_metrics_v3_HistogramBucketSettings**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len); +} +UPB_INLINE envoy_config_metrics_v3_HistogramBucketSettings** envoy_config_metrics_v3_StatsConfig_resize_histogram_bucket_settings(envoy_config_metrics_v3_StatsConfig *msg, size_t len, upb_arena *arena) { + return (envoy_config_metrics_v3_HistogramBucketSettings**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_metrics_v3_HistogramBucketSettings* envoy_config_metrics_v3_StatsConfig_add_histogram_bucket_settings(envoy_config_metrics_v3_StatsConfig *msg, upb_arena *arena) { + struct envoy_config_metrics_v3_HistogramBucketSettings* sub = (struct envoy_config_metrics_v3_HistogramBucketSettings*)_upb_msg_new(&envoy_config_metrics_v3_HistogramBucketSettings_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.config.metrics.v3.StatsMatcher */ + +UPB_INLINE envoy_config_metrics_v3_StatsMatcher *envoy_config_metrics_v3_StatsMatcher_new(upb_arena *arena) { + return (envoy_config_metrics_v3_StatsMatcher *)_upb_msg_new(&envoy_config_metrics_v3_StatsMatcher_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_StatsMatcher *envoy_config_metrics_v3_StatsMatcher_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_StatsMatcher *ret = envoy_config_metrics_v3_StatsMatcher_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsMatcher_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_StatsMatcher *envoy_config_metrics_v3_StatsMatcher_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_StatsMatcher *ret = envoy_config_metrics_v3_StatsMatcher_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsMatcher_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_StatsMatcher_serialize(const envoy_config_metrics_v3_StatsMatcher *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_StatsMatcher_msginit, arena, len); +} + +typedef enum { + envoy_config_metrics_v3_StatsMatcher_stats_matcher_reject_all = 1, + envoy_config_metrics_v3_StatsMatcher_stats_matcher_exclusion_list = 2, + envoy_config_metrics_v3_StatsMatcher_stats_matcher_inclusion_list = 3, + envoy_config_metrics_v3_StatsMatcher_stats_matcher_NOT_SET = 0 +} envoy_config_metrics_v3_StatsMatcher_stats_matcher_oneofcases; +UPB_INLINE envoy_config_metrics_v3_StatsMatcher_stats_matcher_oneofcases envoy_config_metrics_v3_StatsMatcher_stats_matcher_case(const envoy_config_metrics_v3_StatsMatcher* msg) { return (envoy_config_metrics_v3_StatsMatcher_stats_matcher_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 8), int32_t); } + +UPB_INLINE bool envoy_config_metrics_v3_StatsMatcher_has_reject_all(const envoy_config_metrics_v3_StatsMatcher *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 1; } +UPB_INLINE bool envoy_config_metrics_v3_StatsMatcher_reject_all(const envoy_config_metrics_v3_StatsMatcher *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 1, false); } +UPB_INLINE bool envoy_config_metrics_v3_StatsMatcher_has_exclusion_list(const envoy_config_metrics_v3_StatsMatcher *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 2; } +UPB_INLINE const struct envoy_type_matcher_v3_ListStringMatcher* envoy_config_metrics_v3_StatsMatcher_exclusion_list(const envoy_config_metrics_v3_StatsMatcher *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_ListStringMatcher*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 2, NULL); } +UPB_INLINE bool envoy_config_metrics_v3_StatsMatcher_has_inclusion_list(const envoy_config_metrics_v3_StatsMatcher *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 3; } +UPB_INLINE const struct envoy_type_matcher_v3_ListStringMatcher* envoy_config_metrics_v3_StatsMatcher_inclusion_list(const envoy_config_metrics_v3_StatsMatcher *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_ListStringMatcher*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 3, NULL); } + +UPB_INLINE void envoy_config_metrics_v3_StatsMatcher_set_reject_all(envoy_config_metrics_v3_StatsMatcher *msg, bool value) { + UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 1); +} +UPB_INLINE void envoy_config_metrics_v3_StatsMatcher_set_exclusion_list(envoy_config_metrics_v3_StatsMatcher *msg, struct envoy_type_matcher_v3_ListStringMatcher* value) { + UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_ListStringMatcher*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 2); +} +UPB_INLINE struct envoy_type_matcher_v3_ListStringMatcher* envoy_config_metrics_v3_StatsMatcher_mutable_exclusion_list(envoy_config_metrics_v3_StatsMatcher *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_ListStringMatcher* sub = (struct envoy_type_matcher_v3_ListStringMatcher*)envoy_config_metrics_v3_StatsMatcher_exclusion_list(msg); + if (sub == NULL) { + sub = (struct envoy_type_matcher_v3_ListStringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_ListStringMatcher_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_StatsMatcher_set_exclusion_list(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_metrics_v3_StatsMatcher_set_inclusion_list(envoy_config_metrics_v3_StatsMatcher *msg, struct envoy_type_matcher_v3_ListStringMatcher* value) { + UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_ListStringMatcher*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 3); +} +UPB_INLINE struct envoy_type_matcher_v3_ListStringMatcher* envoy_config_metrics_v3_StatsMatcher_mutable_inclusion_list(envoy_config_metrics_v3_StatsMatcher *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_ListStringMatcher* sub = (struct envoy_type_matcher_v3_ListStringMatcher*)envoy_config_metrics_v3_StatsMatcher_inclusion_list(msg); + if (sub == NULL) { + sub = (struct envoy_type_matcher_v3_ListStringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_ListStringMatcher_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_StatsMatcher_set_inclusion_list(msg, sub); + } + return sub; +} + +/* envoy.config.metrics.v3.TagSpecifier */ + +UPB_INLINE envoy_config_metrics_v3_TagSpecifier *envoy_config_metrics_v3_TagSpecifier_new(upb_arena *arena) { + return (envoy_config_metrics_v3_TagSpecifier *)_upb_msg_new(&envoy_config_metrics_v3_TagSpecifier_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_TagSpecifier *envoy_config_metrics_v3_TagSpecifier_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_TagSpecifier *ret = envoy_config_metrics_v3_TagSpecifier_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_TagSpecifier_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_TagSpecifier *envoy_config_metrics_v3_TagSpecifier_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_TagSpecifier *ret = envoy_config_metrics_v3_TagSpecifier_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_TagSpecifier_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_TagSpecifier_serialize(const envoy_config_metrics_v3_TagSpecifier *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_TagSpecifier_msginit, arena, len); +} + +typedef enum { + envoy_config_metrics_v3_TagSpecifier_tag_value_regex = 2, + envoy_config_metrics_v3_TagSpecifier_tag_value_fixed_value = 3, + envoy_config_metrics_v3_TagSpecifier_tag_value_NOT_SET = 0 +} envoy_config_metrics_v3_TagSpecifier_tag_value_oneofcases; +UPB_INLINE envoy_config_metrics_v3_TagSpecifier_tag_value_oneofcases envoy_config_metrics_v3_TagSpecifier_tag_value_case(const envoy_config_metrics_v3_TagSpecifier* msg) { return (envoy_config_metrics_v3_TagSpecifier_tag_value_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(16, 32), int32_t); } + +UPB_INLINE upb_strview envoy_config_metrics_v3_TagSpecifier_tag_name(const envoy_config_metrics_v3_TagSpecifier *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_config_metrics_v3_TagSpecifier_has_regex(const envoy_config_metrics_v3_TagSpecifier *msg) { return _upb_getoneofcase(msg, UPB_SIZE(16, 32)) == 2; } +UPB_INLINE upb_strview envoy_config_metrics_v3_TagSpecifier_regex(const envoy_config_metrics_v3_TagSpecifier *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(8, 16), UPB_SIZE(16, 32), 2, upb_strview_make("", strlen(""))); } +UPB_INLINE bool envoy_config_metrics_v3_TagSpecifier_has_fixed_value(const envoy_config_metrics_v3_TagSpecifier *msg) { return _upb_getoneofcase(msg, UPB_SIZE(16, 32)) == 3; } +UPB_INLINE upb_strview envoy_config_metrics_v3_TagSpecifier_fixed_value(const envoy_config_metrics_v3_TagSpecifier *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(8, 16), UPB_SIZE(16, 32), 3, upb_strview_make("", strlen(""))); } + +UPB_INLINE void envoy_config_metrics_v3_TagSpecifier_set_tag_name(envoy_config_metrics_v3_TagSpecifier *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE void envoy_config_metrics_v3_TagSpecifier_set_regex(envoy_config_metrics_v3_TagSpecifier *msg, upb_strview value) { + UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(8, 16), value, UPB_SIZE(16, 32), 2); +} +UPB_INLINE void envoy_config_metrics_v3_TagSpecifier_set_fixed_value(envoy_config_metrics_v3_TagSpecifier *msg, upb_strview value) { + UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(8, 16), value, UPB_SIZE(16, 32), 3); +} + +/* envoy.config.metrics.v3.HistogramBucketSettings */ + +UPB_INLINE envoy_config_metrics_v3_HistogramBucketSettings *envoy_config_metrics_v3_HistogramBucketSettings_new(upb_arena *arena) { + return (envoy_config_metrics_v3_HistogramBucketSettings *)_upb_msg_new(&envoy_config_metrics_v3_HistogramBucketSettings_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_HistogramBucketSettings *envoy_config_metrics_v3_HistogramBucketSettings_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_HistogramBucketSettings *ret = envoy_config_metrics_v3_HistogramBucketSettings_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_HistogramBucketSettings_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_HistogramBucketSettings *envoy_config_metrics_v3_HistogramBucketSettings_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_HistogramBucketSettings *ret = envoy_config_metrics_v3_HistogramBucketSettings_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_HistogramBucketSettings_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_HistogramBucketSettings_serialize(const envoy_config_metrics_v3_HistogramBucketSettings *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_HistogramBucketSettings_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_metrics_v3_HistogramBucketSettings_has_match(const envoy_config_metrics_v3_HistogramBucketSettings *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_type_matcher_v3_StringMatcher* envoy_config_metrics_v3_HistogramBucketSettings_match(const envoy_config_metrics_v3_HistogramBucketSettings *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_matcher_v3_StringMatcher*); } +UPB_INLINE double const* envoy_config_metrics_v3_HistogramBucketSettings_buckets(const envoy_config_metrics_v3_HistogramBucketSettings *msg, size_t *len) { return (double const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } + +UPB_INLINE void envoy_config_metrics_v3_HistogramBucketSettings_set_match(envoy_config_metrics_v3_HistogramBucketSettings *msg, struct envoy_type_matcher_v3_StringMatcher* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_matcher_v3_StringMatcher*) = value; +} +UPB_INLINE struct envoy_type_matcher_v3_StringMatcher* envoy_config_metrics_v3_HistogramBucketSettings_mutable_match(envoy_config_metrics_v3_HistogramBucketSettings *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_StringMatcher* sub = (struct envoy_type_matcher_v3_StringMatcher*)envoy_config_metrics_v3_HistogramBucketSettings_match(msg); + if (sub == NULL) { + sub = (struct envoy_type_matcher_v3_StringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StringMatcher_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_HistogramBucketSettings_set_match(msg, sub); + } + return sub; +} +UPB_INLINE double* envoy_config_metrics_v3_HistogramBucketSettings_mutable_buckets(envoy_config_metrics_v3_HistogramBucketSettings *msg, size_t *len) { + return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE double* envoy_config_metrics_v3_HistogramBucketSettings_resize_buckets(envoy_config_metrics_v3_HistogramBucketSettings *msg, size_t len, upb_arena *arena) { + return (double*)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena); +} +UPB_INLINE bool envoy_config_metrics_v3_HistogramBucketSettings_add_buckets(envoy_config_metrics_v3_HistogramBucketSettings *msg, double val, upb_arena *arena) { + return _upb_array_append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, + arena); +} + +/* envoy.config.metrics.v3.StatsdSink */ + +UPB_INLINE envoy_config_metrics_v3_StatsdSink *envoy_config_metrics_v3_StatsdSink_new(upb_arena *arena) { + return (envoy_config_metrics_v3_StatsdSink *)_upb_msg_new(&envoy_config_metrics_v3_StatsdSink_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_StatsdSink *envoy_config_metrics_v3_StatsdSink_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_StatsdSink *ret = envoy_config_metrics_v3_StatsdSink_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsdSink_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_StatsdSink *envoy_config_metrics_v3_StatsdSink_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_StatsdSink *ret = envoy_config_metrics_v3_StatsdSink_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_StatsdSink_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_StatsdSink_serialize(const envoy_config_metrics_v3_StatsdSink *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_StatsdSink_msginit, arena, len); +} + +typedef enum { + envoy_config_metrics_v3_StatsdSink_statsd_specifier_address = 1, + envoy_config_metrics_v3_StatsdSink_statsd_specifier_tcp_cluster_name = 2, + envoy_config_metrics_v3_StatsdSink_statsd_specifier_NOT_SET = 0 +} envoy_config_metrics_v3_StatsdSink_statsd_specifier_oneofcases; +UPB_INLINE envoy_config_metrics_v3_StatsdSink_statsd_specifier_oneofcases envoy_config_metrics_v3_StatsdSink_statsd_specifier_case(const envoy_config_metrics_v3_StatsdSink* msg) { return (envoy_config_metrics_v3_StatsdSink_statsd_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(16, 32), int32_t); } + +UPB_INLINE bool envoy_config_metrics_v3_StatsdSink_has_address(const envoy_config_metrics_v3_StatsdSink *msg) { return _upb_getoneofcase(msg, UPB_SIZE(16, 32)) == 1; } +UPB_INLINE const struct envoy_config_core_v3_Address* envoy_config_metrics_v3_StatsdSink_address(const envoy_config_metrics_v3_StatsdSink *msg) { return UPB_READ_ONEOF(msg, const struct envoy_config_core_v3_Address*, UPB_SIZE(8, 16), UPB_SIZE(16, 32), 1, NULL); } +UPB_INLINE bool envoy_config_metrics_v3_StatsdSink_has_tcp_cluster_name(const envoy_config_metrics_v3_StatsdSink *msg) { return _upb_getoneofcase(msg, UPB_SIZE(16, 32)) == 2; } +UPB_INLINE upb_strview envoy_config_metrics_v3_StatsdSink_tcp_cluster_name(const envoy_config_metrics_v3_StatsdSink *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(8, 16), UPB_SIZE(16, 32), 2, upb_strview_make("", strlen(""))); } +UPB_INLINE upb_strview envoy_config_metrics_v3_StatsdSink_prefix(const envoy_config_metrics_v3_StatsdSink *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } + +UPB_INLINE void envoy_config_metrics_v3_StatsdSink_set_address(envoy_config_metrics_v3_StatsdSink *msg, struct envoy_config_core_v3_Address* value) { + UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_Address*, UPB_SIZE(8, 16), value, UPB_SIZE(16, 32), 1); +} +UPB_INLINE struct envoy_config_core_v3_Address* envoy_config_metrics_v3_StatsdSink_mutable_address(envoy_config_metrics_v3_StatsdSink *msg, upb_arena *arena) { + struct envoy_config_core_v3_Address* sub = (struct envoy_config_core_v3_Address*)envoy_config_metrics_v3_StatsdSink_address(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_Address*)_upb_msg_new(&envoy_config_core_v3_Address_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_StatsdSink_set_address(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_metrics_v3_StatsdSink_set_tcp_cluster_name(envoy_config_metrics_v3_StatsdSink *msg, upb_strview value) { + UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(8, 16), value, UPB_SIZE(16, 32), 2); +} +UPB_INLINE void envoy_config_metrics_v3_StatsdSink_set_prefix(envoy_config_metrics_v3_StatsdSink *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} + +/* envoy.config.metrics.v3.DogStatsdSink */ + +UPB_INLINE envoy_config_metrics_v3_DogStatsdSink *envoy_config_metrics_v3_DogStatsdSink_new(upb_arena *arena) { + return (envoy_config_metrics_v3_DogStatsdSink *)_upb_msg_new(&envoy_config_metrics_v3_DogStatsdSink_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_DogStatsdSink *envoy_config_metrics_v3_DogStatsdSink_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_DogStatsdSink *ret = envoy_config_metrics_v3_DogStatsdSink_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_DogStatsdSink_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_DogStatsdSink *envoy_config_metrics_v3_DogStatsdSink_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_DogStatsdSink *ret = envoy_config_metrics_v3_DogStatsdSink_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_DogStatsdSink_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_DogStatsdSink_serialize(const envoy_config_metrics_v3_DogStatsdSink *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_DogStatsdSink_msginit, arena, len); +} + +typedef enum { + envoy_config_metrics_v3_DogStatsdSink_dog_statsd_specifier_address = 1, + envoy_config_metrics_v3_DogStatsdSink_dog_statsd_specifier_NOT_SET = 0 +} envoy_config_metrics_v3_DogStatsdSink_dog_statsd_specifier_oneofcases; +UPB_INLINE envoy_config_metrics_v3_DogStatsdSink_dog_statsd_specifier_oneofcases envoy_config_metrics_v3_DogStatsdSink_dog_statsd_specifier_case(const envoy_config_metrics_v3_DogStatsdSink* msg) { return (envoy_config_metrics_v3_DogStatsdSink_dog_statsd_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(20, 40), int32_t); } + +UPB_INLINE bool envoy_config_metrics_v3_DogStatsdSink_has_address(const envoy_config_metrics_v3_DogStatsdSink *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 1; } +UPB_INLINE const struct envoy_config_core_v3_Address* envoy_config_metrics_v3_DogStatsdSink_address(const envoy_config_metrics_v3_DogStatsdSink *msg) { return UPB_READ_ONEOF(msg, const struct envoy_config_core_v3_Address*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 1, NULL); } +UPB_INLINE upb_strview envoy_config_metrics_v3_DogStatsdSink_prefix(const envoy_config_metrics_v3_DogStatsdSink *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_metrics_v3_DogStatsdSink_has_max_bytes_per_datagram(const envoy_config_metrics_v3_DogStatsdSink *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_UInt64Value* envoy_config_metrics_v3_DogStatsdSink_max_bytes_per_datagram(const envoy_config_metrics_v3_DogStatsdSink *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_UInt64Value*); } + +UPB_INLINE void envoy_config_metrics_v3_DogStatsdSink_set_address(envoy_config_metrics_v3_DogStatsdSink *msg, struct envoy_config_core_v3_Address* value) { + UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_Address*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 1); +} +UPB_INLINE struct envoy_config_core_v3_Address* envoy_config_metrics_v3_DogStatsdSink_mutable_address(envoy_config_metrics_v3_DogStatsdSink *msg, upb_arena *arena) { + struct envoy_config_core_v3_Address* sub = (struct envoy_config_core_v3_Address*)envoy_config_metrics_v3_DogStatsdSink_address(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_Address*)_upb_msg_new(&envoy_config_core_v3_Address_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_DogStatsdSink_set_address(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_metrics_v3_DogStatsdSink_set_prefix(envoy_config_metrics_v3_DogStatsdSink *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE void envoy_config_metrics_v3_DogStatsdSink_set_max_bytes_per_datagram(envoy_config_metrics_v3_DogStatsdSink *msg, struct google_protobuf_UInt64Value* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_UInt64Value*) = value; +} +UPB_INLINE struct google_protobuf_UInt64Value* envoy_config_metrics_v3_DogStatsdSink_mutable_max_bytes_per_datagram(envoy_config_metrics_v3_DogStatsdSink *msg, upb_arena *arena) { + struct google_protobuf_UInt64Value* sub = (struct google_protobuf_UInt64Value*)envoy_config_metrics_v3_DogStatsdSink_max_bytes_per_datagram(msg); + if (sub == NULL) { + sub = (struct google_protobuf_UInt64Value*)_upb_msg_new(&google_protobuf_UInt64Value_msginit, arena); + if (!sub) return NULL; + envoy_config_metrics_v3_DogStatsdSink_set_max_bytes_per_datagram(msg, sub); + } + return sub; +} + +/* envoy.config.metrics.v3.HystrixSink */ + +UPB_INLINE envoy_config_metrics_v3_HystrixSink *envoy_config_metrics_v3_HystrixSink_new(upb_arena *arena) { + return (envoy_config_metrics_v3_HystrixSink *)_upb_msg_new(&envoy_config_metrics_v3_HystrixSink_msginit, arena); +} +UPB_INLINE envoy_config_metrics_v3_HystrixSink *envoy_config_metrics_v3_HystrixSink_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_metrics_v3_HystrixSink *ret = envoy_config_metrics_v3_HystrixSink_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_metrics_v3_HystrixSink_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_metrics_v3_HystrixSink *envoy_config_metrics_v3_HystrixSink_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_metrics_v3_HystrixSink *ret = envoy_config_metrics_v3_HystrixSink_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_metrics_v3_HystrixSink_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_metrics_v3_HystrixSink_serialize(const envoy_config_metrics_v3_HystrixSink *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_metrics_v3_HystrixSink_msginit, arena, len); +} + +UPB_INLINE int64_t envoy_config_metrics_v3_HystrixSink_num_buckets(const envoy_config_metrics_v3_HystrixSink *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t); } + +UPB_INLINE void envoy_config_metrics_v3_HystrixSink_set_num_buckets(envoy_config_metrics_v3_HystrixSink *msg, int64_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t) = value; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_CONFIG_METRICS_V3_STATS_PROTO_UPB_H_ */ diff --git a/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c b/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c new file mode 100644 index 00000000000..a306e71e8ac --- /dev/null +++ b/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c @@ -0,0 +1,141 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/overload/v3/overload.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/config/overload/v3/overload.upb.h" +#include "envoy/type/v3/percent.upb.h" +#include "google/protobuf/any.upb.h" +#include "google/protobuf/duration.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" +#include "validate/validate.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_config_overload_v3_ResourceMonitor_submsgs[1] = { + &google_protobuf_Any_msginit, +}; + +static const upb_msglayout_field envoy_config_overload_v3_ResourceMonitor__fields[2] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1}, +}; + +const upb_msglayout envoy_config_overload_v3_ResourceMonitor_msginit = { + &envoy_config_overload_v3_ResourceMonitor_submsgs[0], + &envoy_config_overload_v3_ResourceMonitor__fields[0], + UPB_SIZE(16, 32), 2, false, 255, +}; + +static const upb_msglayout_field envoy_config_overload_v3_ThresholdTrigger__fields[1] = { + {1, UPB_SIZE(0, 0), 0, 0, 1, 1}, +}; + +const upb_msglayout envoy_config_overload_v3_ThresholdTrigger_msginit = { + NULL, + &envoy_config_overload_v3_ThresholdTrigger__fields[0], + UPB_SIZE(8, 8), 1, false, 255, +}; + +static const upb_msglayout_field envoy_config_overload_v3_ScaledTrigger__fields[2] = { + {1, UPB_SIZE(0, 0), 0, 0, 1, 1}, + {2, UPB_SIZE(8, 8), 0, 0, 1, 1}, +}; + +const upb_msglayout envoy_config_overload_v3_ScaledTrigger_msginit = { + NULL, + &envoy_config_overload_v3_ScaledTrigger__fields[0], + UPB_SIZE(16, 16), 2, false, 255, +}; + +static const upb_msglayout *const envoy_config_overload_v3_Trigger_submsgs[2] = { + &envoy_config_overload_v3_ScaledTrigger_msginit, + &envoy_config_overload_v3_ThresholdTrigger_msginit, +}; + +static const upb_msglayout_field envoy_config_overload_v3_Trigger__fields[3] = { + {1, UPB_SIZE(0, 0), 0, 0, 9, 1}, + {2, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 1, 11, 1}, + {3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1}, +}; + +const upb_msglayout envoy_config_overload_v3_Trigger_msginit = { + &envoy_config_overload_v3_Trigger_submsgs[0], + &envoy_config_overload_v3_Trigger__fields[0], + UPB_SIZE(16, 32), 3, false, 255, +}; + +static const upb_msglayout *const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_submsgs[1] = { + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, +}; + +static const upb_msglayout_field envoy_config_overload_v3_ScaleTimersOverloadActionConfig__fields[1] = { + {1, UPB_SIZE(0, 0), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit = { + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_submsgs[0], + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig__fields[0], + UPB_SIZE(8, 8), 1, false, 255, +}; + +static const upb_msglayout *const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_submsgs[2] = { + &envoy_type_v3_Percent_msginit, + &google_protobuf_Duration_msginit, +}; + +static const upb_msglayout_field envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer__fields[3] = { + {1, UPB_SIZE(0, 0), 0, 0, 14, 1}, + {2, UPB_SIZE(4, 8), UPB_SIZE(-9, -17), 1, 11, 1}, + {3, UPB_SIZE(4, 8), UPB_SIZE(-9, -17), 0, 11, 1}, +}; + +const upb_msglayout envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit = { + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_submsgs[0], + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer__fields[0], + UPB_SIZE(16, 24), 3, false, 255, +}; + +static const upb_msglayout *const envoy_config_overload_v3_OverloadAction_submsgs[2] = { + &envoy_config_overload_v3_Trigger_msginit, + &google_protobuf_Any_msginit, +}; + +static const upb_msglayout_field envoy_config_overload_v3_OverloadAction__fields[3] = { + {1, UPB_SIZE(4, 8), 0, 0, 9, 1}, + {2, UPB_SIZE(16, 32), 0, 0, 11, 3}, + {3, UPB_SIZE(12, 24), 1, 1, 11, 1}, +}; + +const upb_msglayout envoy_config_overload_v3_OverloadAction_msginit = { + &envoy_config_overload_v3_OverloadAction_submsgs[0], + &envoy_config_overload_v3_OverloadAction__fields[0], + UPB_SIZE(24, 48), 3, false, 255, +}; + +static const upb_msglayout *const envoy_config_overload_v3_OverloadManager_submsgs[3] = { + &envoy_config_overload_v3_OverloadAction_msginit, + &envoy_config_overload_v3_ResourceMonitor_msginit, + &google_protobuf_Duration_msginit, +}; + +static const upb_msglayout_field envoy_config_overload_v3_OverloadManager__fields[3] = { + {1, UPB_SIZE(4, 8), 1, 2, 11, 1}, + {2, UPB_SIZE(8, 16), 0, 1, 11, 3}, + {3, UPB_SIZE(12, 24), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_config_overload_v3_OverloadManager_msginit = { + &envoy_config_overload_v3_OverloadManager_submsgs[0], + &envoy_config_overload_v3_OverloadManager__fields[0], + UPB_SIZE(16, 32), 3, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h b/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h new file mode 100644 index 00000000000..d800aa9736f --- /dev/null +++ b/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h @@ -0,0 +1,452 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/overload/v3/overload.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_CONFIG_OVERLOAD_V3_OVERLOAD_PROTO_UPB_H_ +#define ENVOY_CONFIG_OVERLOAD_V3_OVERLOAD_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_config_overload_v3_ResourceMonitor; +struct envoy_config_overload_v3_ThresholdTrigger; +struct envoy_config_overload_v3_ScaledTrigger; +struct envoy_config_overload_v3_Trigger; +struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig; +struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer; +struct envoy_config_overload_v3_OverloadAction; +struct envoy_config_overload_v3_OverloadManager; +typedef struct envoy_config_overload_v3_ResourceMonitor envoy_config_overload_v3_ResourceMonitor; +typedef struct envoy_config_overload_v3_ThresholdTrigger envoy_config_overload_v3_ThresholdTrigger; +typedef struct envoy_config_overload_v3_ScaledTrigger envoy_config_overload_v3_ScaledTrigger; +typedef struct envoy_config_overload_v3_Trigger envoy_config_overload_v3_Trigger; +typedef struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig envoy_config_overload_v3_ScaleTimersOverloadActionConfig; +typedef struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer; +typedef struct envoy_config_overload_v3_OverloadAction envoy_config_overload_v3_OverloadAction; +typedef struct envoy_config_overload_v3_OverloadManager envoy_config_overload_v3_OverloadManager; +extern const upb_msglayout envoy_config_overload_v3_ResourceMonitor_msginit; +extern const upb_msglayout envoy_config_overload_v3_ThresholdTrigger_msginit; +extern const upb_msglayout envoy_config_overload_v3_ScaledTrigger_msginit; +extern const upb_msglayout envoy_config_overload_v3_Trigger_msginit; +extern const upb_msglayout envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit; +extern const upb_msglayout envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit; +extern const upb_msglayout envoy_config_overload_v3_OverloadAction_msginit; +extern const upb_msglayout envoy_config_overload_v3_OverloadManager_msginit; +struct envoy_type_v3_Percent; +struct google_protobuf_Any; +struct google_protobuf_Duration; +extern const upb_msglayout envoy_type_v3_Percent_msginit; +extern const upb_msglayout google_protobuf_Any_msginit; +extern const upb_msglayout google_protobuf_Duration_msginit; + +typedef enum { + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_UNSPECIFIED = 0, + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_HTTP_DOWNSTREAM_CONNECTION_IDLE = 1, + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_HTTP_DOWNSTREAM_STREAM_IDLE = 2, + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_TRANSPORT_SOCKET_CONNECT = 3 +} envoy_config_overload_v3_ScaleTimersOverloadActionConfig_TimerType; + + +/* envoy.config.overload.v3.ResourceMonitor */ + +UPB_INLINE envoy_config_overload_v3_ResourceMonitor *envoy_config_overload_v3_ResourceMonitor_new(upb_arena *arena) { + return (envoy_config_overload_v3_ResourceMonitor *)_upb_msg_new(&envoy_config_overload_v3_ResourceMonitor_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_ResourceMonitor *envoy_config_overload_v3_ResourceMonitor_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_ResourceMonitor *ret = envoy_config_overload_v3_ResourceMonitor_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_ResourceMonitor_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_ResourceMonitor *envoy_config_overload_v3_ResourceMonitor_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_ResourceMonitor *ret = envoy_config_overload_v3_ResourceMonitor_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_ResourceMonitor_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_ResourceMonitor_serialize(const envoy_config_overload_v3_ResourceMonitor *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_ResourceMonitor_msginit, arena, len); +} + +typedef enum { + envoy_config_overload_v3_ResourceMonitor_config_type_typed_config = 3, + envoy_config_overload_v3_ResourceMonitor_config_type_NOT_SET = 0 +} envoy_config_overload_v3_ResourceMonitor_config_type_oneofcases; +UPB_INLINE envoy_config_overload_v3_ResourceMonitor_config_type_oneofcases envoy_config_overload_v3_ResourceMonitor_config_type_case(const envoy_config_overload_v3_ResourceMonitor* msg) { return (envoy_config_overload_v3_ResourceMonitor_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); } + +UPB_INLINE upb_strview envoy_config_overload_v3_ResourceMonitor_name(const envoy_config_overload_v3_ResourceMonitor *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_config_overload_v3_ResourceMonitor_has_typed_config(const envoy_config_overload_v3_ResourceMonitor *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; } +UPB_INLINE const struct google_protobuf_Any* envoy_config_overload_v3_ResourceMonitor_typed_config(const envoy_config_overload_v3_ResourceMonitor *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); } + +UPB_INLINE void envoy_config_overload_v3_ResourceMonitor_set_name(envoy_config_overload_v3_ResourceMonitor *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE void envoy_config_overload_v3_ResourceMonitor_set_typed_config(envoy_config_overload_v3_ResourceMonitor *msg, struct google_protobuf_Any* value) { + UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3); +} +UPB_INLINE struct google_protobuf_Any* envoy_config_overload_v3_ResourceMonitor_mutable_typed_config(envoy_config_overload_v3_ResourceMonitor *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_overload_v3_ResourceMonitor_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_overload_v3_ResourceMonitor_set_typed_config(msg, sub); + } + return sub; +} + +/* envoy.config.overload.v3.ThresholdTrigger */ + +UPB_INLINE envoy_config_overload_v3_ThresholdTrigger *envoy_config_overload_v3_ThresholdTrigger_new(upb_arena *arena) { + return (envoy_config_overload_v3_ThresholdTrigger *)_upb_msg_new(&envoy_config_overload_v3_ThresholdTrigger_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_ThresholdTrigger *envoy_config_overload_v3_ThresholdTrigger_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_ThresholdTrigger *ret = envoy_config_overload_v3_ThresholdTrigger_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_ThresholdTrigger_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_ThresholdTrigger *envoy_config_overload_v3_ThresholdTrigger_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_ThresholdTrigger *ret = envoy_config_overload_v3_ThresholdTrigger_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_ThresholdTrigger_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_ThresholdTrigger_serialize(const envoy_config_overload_v3_ThresholdTrigger *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_ThresholdTrigger_msginit, arena, len); +} + +UPB_INLINE double envoy_config_overload_v3_ThresholdTrigger_value(const envoy_config_overload_v3_ThresholdTrigger *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), double); } + +UPB_INLINE void envoy_config_overload_v3_ThresholdTrigger_set_value(envoy_config_overload_v3_ThresholdTrigger *msg, double value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), double) = value; +} + +/* envoy.config.overload.v3.ScaledTrigger */ + +UPB_INLINE envoy_config_overload_v3_ScaledTrigger *envoy_config_overload_v3_ScaledTrigger_new(upb_arena *arena) { + return (envoy_config_overload_v3_ScaledTrigger *)_upb_msg_new(&envoy_config_overload_v3_ScaledTrigger_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_ScaledTrigger *envoy_config_overload_v3_ScaledTrigger_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_ScaledTrigger *ret = envoy_config_overload_v3_ScaledTrigger_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_ScaledTrigger_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_ScaledTrigger *envoy_config_overload_v3_ScaledTrigger_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_ScaledTrigger *ret = envoy_config_overload_v3_ScaledTrigger_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_ScaledTrigger_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_ScaledTrigger_serialize(const envoy_config_overload_v3_ScaledTrigger *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_ScaledTrigger_msginit, arena, len); +} + +UPB_INLINE double envoy_config_overload_v3_ScaledTrigger_scaling_threshold(const envoy_config_overload_v3_ScaledTrigger *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), double); } +UPB_INLINE double envoy_config_overload_v3_ScaledTrigger_saturation_threshold(const envoy_config_overload_v3_ScaledTrigger *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), double); } + +UPB_INLINE void envoy_config_overload_v3_ScaledTrigger_set_scaling_threshold(envoy_config_overload_v3_ScaledTrigger *msg, double value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), double) = value; +} +UPB_INLINE void envoy_config_overload_v3_ScaledTrigger_set_saturation_threshold(envoy_config_overload_v3_ScaledTrigger *msg, double value) { + *UPB_PTR_AT(msg, UPB_SIZE(8, 8), double) = value; +} + +/* envoy.config.overload.v3.Trigger */ + +UPB_INLINE envoy_config_overload_v3_Trigger *envoy_config_overload_v3_Trigger_new(upb_arena *arena) { + return (envoy_config_overload_v3_Trigger *)_upb_msg_new(&envoy_config_overload_v3_Trigger_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_Trigger *envoy_config_overload_v3_Trigger_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_Trigger *ret = envoy_config_overload_v3_Trigger_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_Trigger_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_Trigger *envoy_config_overload_v3_Trigger_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_Trigger *ret = envoy_config_overload_v3_Trigger_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_Trigger_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_Trigger_serialize(const envoy_config_overload_v3_Trigger *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_Trigger_msginit, arena, len); +} + +typedef enum { + envoy_config_overload_v3_Trigger_trigger_oneof_threshold = 2, + envoy_config_overload_v3_Trigger_trigger_oneof_scaled = 3, + envoy_config_overload_v3_Trigger_trigger_oneof_NOT_SET = 0 +} envoy_config_overload_v3_Trigger_trigger_oneof_oneofcases; +UPB_INLINE envoy_config_overload_v3_Trigger_trigger_oneof_oneofcases envoy_config_overload_v3_Trigger_trigger_oneof_case(const envoy_config_overload_v3_Trigger* msg) { return (envoy_config_overload_v3_Trigger_trigger_oneof_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); } + +UPB_INLINE upb_strview envoy_config_overload_v3_Trigger_name(const envoy_config_overload_v3_Trigger *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); } +UPB_INLINE bool envoy_config_overload_v3_Trigger_has_threshold(const envoy_config_overload_v3_Trigger *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 2; } +UPB_INLINE const envoy_config_overload_v3_ThresholdTrigger* envoy_config_overload_v3_Trigger_threshold(const envoy_config_overload_v3_Trigger *msg) { return UPB_READ_ONEOF(msg, const envoy_config_overload_v3_ThresholdTrigger*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 2, NULL); } +UPB_INLINE bool envoy_config_overload_v3_Trigger_has_scaled(const envoy_config_overload_v3_Trigger *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; } +UPB_INLINE const envoy_config_overload_v3_ScaledTrigger* envoy_config_overload_v3_Trigger_scaled(const envoy_config_overload_v3_Trigger *msg) { return UPB_READ_ONEOF(msg, const envoy_config_overload_v3_ScaledTrigger*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); } + +UPB_INLINE void envoy_config_overload_v3_Trigger_set_name(envoy_config_overload_v3_Trigger *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value; +} +UPB_INLINE void envoy_config_overload_v3_Trigger_set_threshold(envoy_config_overload_v3_Trigger *msg, envoy_config_overload_v3_ThresholdTrigger* value) { + UPB_WRITE_ONEOF(msg, envoy_config_overload_v3_ThresholdTrigger*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 2); +} +UPB_INLINE struct envoy_config_overload_v3_ThresholdTrigger* envoy_config_overload_v3_Trigger_mutable_threshold(envoy_config_overload_v3_Trigger *msg, upb_arena *arena) { + struct envoy_config_overload_v3_ThresholdTrigger* sub = (struct envoy_config_overload_v3_ThresholdTrigger*)envoy_config_overload_v3_Trigger_threshold(msg); + if (sub == NULL) { + sub = (struct envoy_config_overload_v3_ThresholdTrigger*)_upb_msg_new(&envoy_config_overload_v3_ThresholdTrigger_msginit, arena); + if (!sub) return NULL; + envoy_config_overload_v3_Trigger_set_threshold(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_overload_v3_Trigger_set_scaled(envoy_config_overload_v3_Trigger *msg, envoy_config_overload_v3_ScaledTrigger* value) { + UPB_WRITE_ONEOF(msg, envoy_config_overload_v3_ScaledTrigger*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3); +} +UPB_INLINE struct envoy_config_overload_v3_ScaledTrigger* envoy_config_overload_v3_Trigger_mutable_scaled(envoy_config_overload_v3_Trigger *msg, upb_arena *arena) { + struct envoy_config_overload_v3_ScaledTrigger* sub = (struct envoy_config_overload_v3_ScaledTrigger*)envoy_config_overload_v3_Trigger_scaled(msg); + if (sub == NULL) { + sub = (struct envoy_config_overload_v3_ScaledTrigger*)_upb_msg_new(&envoy_config_overload_v3_ScaledTrigger_msginit, arena); + if (!sub) return NULL; + envoy_config_overload_v3_Trigger_set_scaled(msg, sub); + } + return sub; +} + +/* envoy.config.overload.v3.ScaleTimersOverloadActionConfig */ + +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_new(upb_arena *arena) { + return (envoy_config_overload_v3_ScaleTimersOverloadActionConfig *)_upb_msg_new(&envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_ScaleTimersOverloadActionConfig *ret = envoy_config_overload_v3_ScaleTimersOverloadActionConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_ScaleTimersOverloadActionConfig *ret = envoy_config_overload_v3_ScaleTimersOverloadActionConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_serialize(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_overload_v3_ScaleTimersOverloadActionConfig_has_timer_scale_factors(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer* const* envoy_config_overload_v3_ScaleTimersOverloadActionConfig_timer_scale_factors(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig *msg, size_t *len) { return (const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } + +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer** envoy_config_overload_v3_ScaleTimersOverloadActionConfig_mutable_timer_scale_factors(envoy_config_overload_v3_ScaleTimersOverloadActionConfig *msg, size_t *len) { + return (envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer** envoy_config_overload_v3_ScaleTimersOverloadActionConfig_resize_timer_scale_factors(envoy_config_overload_v3_ScaleTimersOverloadActionConfig *msg, size_t len, upb_arena *arena) { + return (envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer* envoy_config_overload_v3_ScaleTimersOverloadActionConfig_add_timer_scale_factors(envoy_config_overload_v3_ScaleTimersOverloadActionConfig *msg, upb_arena *arena) { + struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer* sub = (struct envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer*)_upb_msg_new(&envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer */ + +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_new(upb_arena *arena) { + return (envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *)_upb_msg_new(&envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *ret = envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *ret = envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_serialize(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, arena, len); +} + +typedef enum { + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_min_timeout = 2, + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_min_scale = 3, + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_NOT_SET = 0 +} envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_oneofcases; +UPB_INLINE envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_oneofcases envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_case(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer* msg) { return (envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_overload_adjust_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(8, 16), int32_t); } + +UPB_INLINE int32_t envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_timer(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); } +UPB_INLINE bool envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_has_min_timeout(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg) { return _upb_getoneofcase(msg, UPB_SIZE(8, 16)) == 2; } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_min_timeout(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Duration*, UPB_SIZE(4, 8), UPB_SIZE(8, 16), 2, NULL); } +UPB_INLINE bool envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_has_min_scale(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg) { return _upb_getoneofcase(msg, UPB_SIZE(8, 16)) == 3; } +UPB_INLINE const struct envoy_type_v3_Percent* envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_min_scale(const envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_v3_Percent*, UPB_SIZE(4, 8), UPB_SIZE(8, 16), 3, NULL); } + +UPB_INLINE void envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_set_timer(envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value; +} +UPB_INLINE void envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_set_min_timeout(envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg, struct google_protobuf_Duration* value) { + UPB_WRITE_ONEOF(msg, struct google_protobuf_Duration*, UPB_SIZE(4, 8), value, UPB_SIZE(8, 16), 2); +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_mutable_min_timeout(envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_min_timeout(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_set_min_timeout(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_set_min_scale(envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg, struct envoy_type_v3_Percent* value) { + UPB_WRITE_ONEOF(msg, struct envoy_type_v3_Percent*, UPB_SIZE(4, 8), value, UPB_SIZE(8, 16), 3); +} +UPB_INLINE struct envoy_type_v3_Percent* envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_mutable_min_scale(envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer *msg, upb_arena *arena) { + struct envoy_type_v3_Percent* sub = (struct envoy_type_v3_Percent*)envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_min_scale(msg); + if (sub == NULL) { + sub = (struct envoy_type_v3_Percent*)_upb_msg_new(&envoy_type_v3_Percent_msginit, arena); + if (!sub) return NULL; + envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_set_min_scale(msg, sub); + } + return sub; +} + +/* envoy.config.overload.v3.OverloadAction */ + +UPB_INLINE envoy_config_overload_v3_OverloadAction *envoy_config_overload_v3_OverloadAction_new(upb_arena *arena) { + return (envoy_config_overload_v3_OverloadAction *)_upb_msg_new(&envoy_config_overload_v3_OverloadAction_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_OverloadAction *envoy_config_overload_v3_OverloadAction_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_OverloadAction *ret = envoy_config_overload_v3_OverloadAction_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_OverloadAction_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_OverloadAction *envoy_config_overload_v3_OverloadAction_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_OverloadAction *ret = envoy_config_overload_v3_OverloadAction_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_OverloadAction_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_OverloadAction_serialize(const envoy_config_overload_v3_OverloadAction *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_OverloadAction_msginit, arena, len); +} + +UPB_INLINE upb_strview envoy_config_overload_v3_OverloadAction_name(const envoy_config_overload_v3_OverloadAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); } +UPB_INLINE bool envoy_config_overload_v3_OverloadAction_has_triggers(const envoy_config_overload_v3_OverloadAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); } +UPB_INLINE const envoy_config_overload_v3_Trigger* const* envoy_config_overload_v3_OverloadAction_triggers(const envoy_config_overload_v3_OverloadAction *msg, size_t *len) { return (const envoy_config_overload_v3_Trigger* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); } +UPB_INLINE bool envoy_config_overload_v3_OverloadAction_has_typed_config(const envoy_config_overload_v3_OverloadAction *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Any* envoy_config_overload_v3_OverloadAction_typed_config(const envoy_config_overload_v3_OverloadAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Any*); } + +UPB_INLINE void envoy_config_overload_v3_OverloadAction_set_name(envoy_config_overload_v3_OverloadAction *msg, upb_strview value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value; +} +UPB_INLINE envoy_config_overload_v3_Trigger** envoy_config_overload_v3_OverloadAction_mutable_triggers(envoy_config_overload_v3_OverloadAction *msg, size_t *len) { + return (envoy_config_overload_v3_Trigger**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len); +} +UPB_INLINE envoy_config_overload_v3_Trigger** envoy_config_overload_v3_OverloadAction_resize_triggers(envoy_config_overload_v3_OverloadAction *msg, size_t len, upb_arena *arena) { + return (envoy_config_overload_v3_Trigger**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_overload_v3_Trigger* envoy_config_overload_v3_OverloadAction_add_triggers(envoy_config_overload_v3_OverloadAction *msg, upb_arena *arena) { + struct envoy_config_overload_v3_Trigger* sub = (struct envoy_config_overload_v3_Trigger*)_upb_msg_new(&envoy_config_overload_v3_Trigger_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_config_overload_v3_OverloadAction_set_typed_config(envoy_config_overload_v3_OverloadAction *msg, struct google_protobuf_Any* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Any*) = value; +} +UPB_INLINE struct google_protobuf_Any* envoy_config_overload_v3_OverloadAction_mutable_typed_config(envoy_config_overload_v3_OverloadAction *msg, upb_arena *arena) { + struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_overload_v3_OverloadAction_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_overload_v3_OverloadAction_set_typed_config(msg, sub); + } + return sub; +} + +/* envoy.config.overload.v3.OverloadManager */ + +UPB_INLINE envoy_config_overload_v3_OverloadManager *envoy_config_overload_v3_OverloadManager_new(upb_arena *arena) { + return (envoy_config_overload_v3_OverloadManager *)_upb_msg_new(&envoy_config_overload_v3_OverloadManager_msginit, arena); +} +UPB_INLINE envoy_config_overload_v3_OverloadManager *envoy_config_overload_v3_OverloadManager_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_config_overload_v3_OverloadManager *ret = envoy_config_overload_v3_OverloadManager_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_config_overload_v3_OverloadManager_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_config_overload_v3_OverloadManager *envoy_config_overload_v3_OverloadManager_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_config_overload_v3_OverloadManager *ret = envoy_config_overload_v3_OverloadManager_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_config_overload_v3_OverloadManager_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_config_overload_v3_OverloadManager_serialize(const envoy_config_overload_v3_OverloadManager *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_config_overload_v3_OverloadManager_msginit, arena, len); +} + +UPB_INLINE bool envoy_config_overload_v3_OverloadManager_has_refresh_interval(const envoy_config_overload_v3_OverloadManager *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct google_protobuf_Duration* envoy_config_overload_v3_OverloadManager_refresh_interval(const envoy_config_overload_v3_OverloadManager *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); } +UPB_INLINE bool envoy_config_overload_v3_OverloadManager_has_resource_monitors(const envoy_config_overload_v3_OverloadManager *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const envoy_config_overload_v3_ResourceMonitor* const* envoy_config_overload_v3_OverloadManager_resource_monitors(const envoy_config_overload_v3_OverloadManager *msg, size_t *len) { return (const envoy_config_overload_v3_ResourceMonitor* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } +UPB_INLINE bool envoy_config_overload_v3_OverloadManager_has_actions(const envoy_config_overload_v3_OverloadManager *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); } +UPB_INLINE const envoy_config_overload_v3_OverloadAction* const* envoy_config_overload_v3_OverloadManager_actions(const envoy_config_overload_v3_OverloadManager *msg, size_t *len) { return (const envoy_config_overload_v3_OverloadAction* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); } + +UPB_INLINE void envoy_config_overload_v3_OverloadManager_set_refresh_interval(envoy_config_overload_v3_OverloadManager *msg, struct google_protobuf_Duration* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value; +} +UPB_INLINE struct google_protobuf_Duration* envoy_config_overload_v3_OverloadManager_mutable_refresh_interval(envoy_config_overload_v3_OverloadManager *msg, upb_arena *arena) { + struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_overload_v3_OverloadManager_refresh_interval(msg); + if (sub == NULL) { + sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena); + if (!sub) return NULL; + envoy_config_overload_v3_OverloadManager_set_refresh_interval(msg, sub); + } + return sub; +} +UPB_INLINE envoy_config_overload_v3_ResourceMonitor** envoy_config_overload_v3_OverloadManager_mutable_resource_monitors(envoy_config_overload_v3_OverloadManager *msg, size_t *len) { + return (envoy_config_overload_v3_ResourceMonitor**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE envoy_config_overload_v3_ResourceMonitor** envoy_config_overload_v3_OverloadManager_resize_resource_monitors(envoy_config_overload_v3_OverloadManager *msg, size_t len, upb_arena *arena) { + return (envoy_config_overload_v3_ResourceMonitor**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_overload_v3_ResourceMonitor* envoy_config_overload_v3_OverloadManager_add_resource_monitors(envoy_config_overload_v3_OverloadManager *msg, upb_arena *arena) { + struct envoy_config_overload_v3_ResourceMonitor* sub = (struct envoy_config_overload_v3_ResourceMonitor*)_upb_msg_new(&envoy_config_overload_v3_ResourceMonitor_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE envoy_config_overload_v3_OverloadAction** envoy_config_overload_v3_OverloadManager_mutable_actions(envoy_config_overload_v3_OverloadManager *msg, size_t *len) { + return (envoy_config_overload_v3_OverloadAction**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len); +} +UPB_INLINE envoy_config_overload_v3_OverloadAction** envoy_config_overload_v3_OverloadManager_resize_actions(envoy_config_overload_v3_OverloadManager *msg, size_t len, upb_arena *arena) { + return (envoy_config_overload_v3_OverloadAction**)_upb_array_resize_accessor2(msg, UPB_SIZE(12, 24), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_config_overload_v3_OverloadAction* envoy_config_overload_v3_OverloadManager_add_actions(envoy_config_overload_v3_OverloadManager *msg, upb_arena *arena) { + struct envoy_config_overload_v3_OverloadAction* sub = (struct envoy_config_overload_v3_OverloadAction*)_upb_msg_new(&envoy_config_overload_v3_OverloadAction_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(12, 24), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_CONFIG_OVERLOAD_V3_OVERLOAD_PROTO_UPB_H_ */ diff --git a/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c b/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c new file mode 100644 index 00000000000..40e086cba51 --- /dev/null +++ b/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c @@ -0,0 +1,93 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/service/status/v3/csds.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/service/status/v3/csds.upb.h" +#include "envoy/admin/v3/config_dump.upb.h" +#include "envoy/config/core/v3/base.upb.h" +#include "envoy/type/matcher/v3/node.upb.h" +#include "google/api/annotations.upb.h" +#include "udpa/annotations/migrate.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_service_status_v3_ClientStatusRequest_submsgs[2] = { + &envoy_config_core_v3_Node_msginit, + &envoy_type_matcher_v3_NodeMatcher_msginit, +}; + +static const upb_msglayout_field envoy_service_status_v3_ClientStatusRequest__fields[2] = { + {1, UPB_SIZE(8, 16), 0, 1, 11, 3}, + {2, UPB_SIZE(4, 8), 1, 0, 11, 1}, +}; + +const upb_msglayout envoy_service_status_v3_ClientStatusRequest_msginit = { + &envoy_service_status_v3_ClientStatusRequest_submsgs[0], + &envoy_service_status_v3_ClientStatusRequest__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_service_status_v3_PerXdsConfig_submsgs[5] = { + &envoy_admin_v3_ClustersConfigDump_msginit, + &envoy_admin_v3_EndpointsConfigDump_msginit, + &envoy_admin_v3_ListenersConfigDump_msginit, + &envoy_admin_v3_RoutesConfigDump_msginit, + &envoy_admin_v3_ScopedRoutesConfigDump_msginit, +}; + +static const upb_msglayout_field envoy_service_status_v3_PerXdsConfig__fields[7] = { + {1, UPB_SIZE(0, 0), 0, 0, 14, 1}, + {2, UPB_SIZE(8, 8), UPB_SIZE(-13, -17), 2, 11, 1}, + {3, UPB_SIZE(8, 8), UPB_SIZE(-13, -17), 0, 11, 1}, + {4, UPB_SIZE(8, 8), UPB_SIZE(-13, -17), 3, 11, 1}, + {5, UPB_SIZE(8, 8), UPB_SIZE(-13, -17), 4, 11, 1}, + {6, UPB_SIZE(8, 8), UPB_SIZE(-13, -17), 1, 11, 1}, + {7, UPB_SIZE(4, 4), 0, 0, 14, 1}, +}; + +const upb_msglayout envoy_service_status_v3_PerXdsConfig_msginit = { + &envoy_service_status_v3_PerXdsConfig_submsgs[0], + &envoy_service_status_v3_PerXdsConfig__fields[0], + UPB_SIZE(16, 24), 7, false, 255, +}; + +static const upb_msglayout *const envoy_service_status_v3_ClientConfig_submsgs[2] = { + &envoy_config_core_v3_Node_msginit, + &envoy_service_status_v3_PerXdsConfig_msginit, +}; + +static const upb_msglayout_field envoy_service_status_v3_ClientConfig__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 0, 1, 11, 3}, +}; + +const upb_msglayout envoy_service_status_v3_ClientConfig_msginit = { + &envoy_service_status_v3_ClientConfig_submsgs[0], + &envoy_service_status_v3_ClientConfig__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout *const envoy_service_status_v3_ClientStatusResponse_submsgs[1] = { + &envoy_service_status_v3_ClientConfig_msginit, +}; + +static const upb_msglayout_field envoy_service_status_v3_ClientStatusResponse__fields[1] = { + {1, UPB_SIZE(0, 0), 0, 0, 11, 3}, +}; + +const upb_msglayout envoy_service_status_v3_ClientStatusResponse_msginit = { + &envoy_service_status_v3_ClientStatusResponse_submsgs[0], + &envoy_service_status_v3_ClientStatusResponse__fields[0], + UPB_SIZE(8, 8), 1, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h b/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h new file mode 100644 index 00000000000..87f807cdf1a --- /dev/null +++ b/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h @@ -0,0 +1,323 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/service/status/v3/csds.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_SERVICE_STATUS_V3_CSDS_PROTO_UPB_H_ +#define ENVOY_SERVICE_STATUS_V3_CSDS_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_service_status_v3_ClientStatusRequest; +struct envoy_service_status_v3_PerXdsConfig; +struct envoy_service_status_v3_ClientConfig; +struct envoy_service_status_v3_ClientStatusResponse; +typedef struct envoy_service_status_v3_ClientStatusRequest envoy_service_status_v3_ClientStatusRequest; +typedef struct envoy_service_status_v3_PerXdsConfig envoy_service_status_v3_PerXdsConfig; +typedef struct envoy_service_status_v3_ClientConfig envoy_service_status_v3_ClientConfig; +typedef struct envoy_service_status_v3_ClientStatusResponse envoy_service_status_v3_ClientStatusResponse; +extern const upb_msglayout envoy_service_status_v3_ClientStatusRequest_msginit; +extern const upb_msglayout envoy_service_status_v3_PerXdsConfig_msginit; +extern const upb_msglayout envoy_service_status_v3_ClientConfig_msginit; +extern const upb_msglayout envoy_service_status_v3_ClientStatusResponse_msginit; +struct envoy_admin_v3_ClustersConfigDump; +struct envoy_admin_v3_EndpointsConfigDump; +struct envoy_admin_v3_ListenersConfigDump; +struct envoy_admin_v3_RoutesConfigDump; +struct envoy_admin_v3_ScopedRoutesConfigDump; +struct envoy_config_core_v3_Node; +struct envoy_type_matcher_v3_NodeMatcher; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_msginit; +extern const upb_msglayout envoy_config_core_v3_Node_msginit; +extern const upb_msglayout envoy_type_matcher_v3_NodeMatcher_msginit; + +typedef enum { + envoy_service_status_v3_CLIENT_UNKNOWN = 0, + envoy_service_status_v3_CLIENT_REQUESTED = 1, + envoy_service_status_v3_CLIENT_ACKED = 2, + envoy_service_status_v3_CLIENT_NACKED = 3 +} envoy_service_status_v3_ClientConfigStatus; + +typedef enum { + envoy_service_status_v3_UNKNOWN = 0, + envoy_service_status_v3_SYNCED = 1, + envoy_service_status_v3_NOT_SENT = 2, + envoy_service_status_v3_STALE = 3, + envoy_service_status_v3_ERROR = 4 +} envoy_service_status_v3_ConfigStatus; + + +/* envoy.service.status.v3.ClientStatusRequest */ + +UPB_INLINE envoy_service_status_v3_ClientStatusRequest *envoy_service_status_v3_ClientStatusRequest_new(upb_arena *arena) { + return (envoy_service_status_v3_ClientStatusRequest *)_upb_msg_new(&envoy_service_status_v3_ClientStatusRequest_msginit, arena); +} +UPB_INLINE envoy_service_status_v3_ClientStatusRequest *envoy_service_status_v3_ClientStatusRequest_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_service_status_v3_ClientStatusRequest *ret = envoy_service_status_v3_ClientStatusRequest_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_service_status_v3_ClientStatusRequest_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_service_status_v3_ClientStatusRequest *envoy_service_status_v3_ClientStatusRequest_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_service_status_v3_ClientStatusRequest *ret = envoy_service_status_v3_ClientStatusRequest_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_service_status_v3_ClientStatusRequest_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_service_status_v3_ClientStatusRequest_serialize(const envoy_service_status_v3_ClientStatusRequest *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_service_status_v3_ClientStatusRequest_msginit, arena, len); +} + +UPB_INLINE bool envoy_service_status_v3_ClientStatusRequest_has_node_matchers(const envoy_service_status_v3_ClientStatusRequest *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const struct envoy_type_matcher_v3_NodeMatcher* const* envoy_service_status_v3_ClientStatusRequest_node_matchers(const envoy_service_status_v3_ClientStatusRequest *msg, size_t *len) { return (const struct envoy_type_matcher_v3_NodeMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } +UPB_INLINE bool envoy_service_status_v3_ClientStatusRequest_has_node(const envoy_service_status_v3_ClientStatusRequest *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_Node* envoy_service_status_v3_ClientStatusRequest_node(const envoy_service_status_v3_ClientStatusRequest *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_Node*); } + +UPB_INLINE struct envoy_type_matcher_v3_NodeMatcher** envoy_service_status_v3_ClientStatusRequest_mutable_node_matchers(envoy_service_status_v3_ClientStatusRequest *msg, size_t *len) { + return (struct envoy_type_matcher_v3_NodeMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE struct envoy_type_matcher_v3_NodeMatcher** envoy_service_status_v3_ClientStatusRequest_resize_node_matchers(envoy_service_status_v3_ClientStatusRequest *msg, size_t len, upb_arena *arena) { + return (struct envoy_type_matcher_v3_NodeMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_type_matcher_v3_NodeMatcher* envoy_service_status_v3_ClientStatusRequest_add_node_matchers(envoy_service_status_v3_ClientStatusRequest *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_NodeMatcher* sub = (struct envoy_type_matcher_v3_NodeMatcher*)_upb_msg_new(&envoy_type_matcher_v3_NodeMatcher_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_service_status_v3_ClientStatusRequest_set_node(envoy_service_status_v3_ClientStatusRequest *msg, struct envoy_config_core_v3_Node* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_Node*) = value; +} +UPB_INLINE struct envoy_config_core_v3_Node* envoy_service_status_v3_ClientStatusRequest_mutable_node(envoy_service_status_v3_ClientStatusRequest *msg, upb_arena *arena) { + struct envoy_config_core_v3_Node* sub = (struct envoy_config_core_v3_Node*)envoy_service_status_v3_ClientStatusRequest_node(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_Node*)_upb_msg_new(&envoy_config_core_v3_Node_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_ClientStatusRequest_set_node(msg, sub); + } + return sub; +} + +/* envoy.service.status.v3.PerXdsConfig */ + +UPB_INLINE envoy_service_status_v3_PerXdsConfig *envoy_service_status_v3_PerXdsConfig_new(upb_arena *arena) { + return (envoy_service_status_v3_PerXdsConfig *)_upb_msg_new(&envoy_service_status_v3_PerXdsConfig_msginit, arena); +} +UPB_INLINE envoy_service_status_v3_PerXdsConfig *envoy_service_status_v3_PerXdsConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_service_status_v3_PerXdsConfig *ret = envoy_service_status_v3_PerXdsConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_service_status_v3_PerXdsConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_service_status_v3_PerXdsConfig *envoy_service_status_v3_PerXdsConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_service_status_v3_PerXdsConfig *ret = envoy_service_status_v3_PerXdsConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_service_status_v3_PerXdsConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_service_status_v3_PerXdsConfig_serialize(const envoy_service_status_v3_PerXdsConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_service_status_v3_PerXdsConfig_msginit, arena, len); +} + +typedef enum { + envoy_service_status_v3_PerXdsConfig_per_xds_config_listener_config = 2, + envoy_service_status_v3_PerXdsConfig_per_xds_config_cluster_config = 3, + envoy_service_status_v3_PerXdsConfig_per_xds_config_route_config = 4, + envoy_service_status_v3_PerXdsConfig_per_xds_config_scoped_route_config = 5, + envoy_service_status_v3_PerXdsConfig_per_xds_config_endpoint_config = 6, + envoy_service_status_v3_PerXdsConfig_per_xds_config_NOT_SET = 0 +} envoy_service_status_v3_PerXdsConfig_per_xds_config_oneofcases; +UPB_INLINE envoy_service_status_v3_PerXdsConfig_per_xds_config_oneofcases envoy_service_status_v3_PerXdsConfig_per_xds_config_case(const envoy_service_status_v3_PerXdsConfig* msg) { return (envoy_service_status_v3_PerXdsConfig_per_xds_config_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 16), int32_t); } + +UPB_INLINE int32_t envoy_service_status_v3_PerXdsConfig_status(const envoy_service_status_v3_PerXdsConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); } +UPB_INLINE bool envoy_service_status_v3_PerXdsConfig_has_listener_config(const envoy_service_status_v3_PerXdsConfig *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 16)) == 2; } +UPB_INLINE const struct envoy_admin_v3_ListenersConfigDump* envoy_service_status_v3_PerXdsConfig_listener_config(const envoy_service_status_v3_PerXdsConfig *msg) { return UPB_READ_ONEOF(msg, const struct envoy_admin_v3_ListenersConfigDump*, UPB_SIZE(8, 8), UPB_SIZE(12, 16), 2, NULL); } +UPB_INLINE bool envoy_service_status_v3_PerXdsConfig_has_cluster_config(const envoy_service_status_v3_PerXdsConfig *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 16)) == 3; } +UPB_INLINE const struct envoy_admin_v3_ClustersConfigDump* envoy_service_status_v3_PerXdsConfig_cluster_config(const envoy_service_status_v3_PerXdsConfig *msg) { return UPB_READ_ONEOF(msg, const struct envoy_admin_v3_ClustersConfigDump*, UPB_SIZE(8, 8), UPB_SIZE(12, 16), 3, NULL); } +UPB_INLINE bool envoy_service_status_v3_PerXdsConfig_has_route_config(const envoy_service_status_v3_PerXdsConfig *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 16)) == 4; } +UPB_INLINE const struct envoy_admin_v3_RoutesConfigDump* envoy_service_status_v3_PerXdsConfig_route_config(const envoy_service_status_v3_PerXdsConfig *msg) { return UPB_READ_ONEOF(msg, const struct envoy_admin_v3_RoutesConfigDump*, UPB_SIZE(8, 8), UPB_SIZE(12, 16), 4, NULL); } +UPB_INLINE bool envoy_service_status_v3_PerXdsConfig_has_scoped_route_config(const envoy_service_status_v3_PerXdsConfig *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 16)) == 5; } +UPB_INLINE const struct envoy_admin_v3_ScopedRoutesConfigDump* envoy_service_status_v3_PerXdsConfig_scoped_route_config(const envoy_service_status_v3_PerXdsConfig *msg) { return UPB_READ_ONEOF(msg, const struct envoy_admin_v3_ScopedRoutesConfigDump*, UPB_SIZE(8, 8), UPB_SIZE(12, 16), 5, NULL); } +UPB_INLINE bool envoy_service_status_v3_PerXdsConfig_has_endpoint_config(const envoy_service_status_v3_PerXdsConfig *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 16)) == 6; } +UPB_INLINE const struct envoy_admin_v3_EndpointsConfigDump* envoy_service_status_v3_PerXdsConfig_endpoint_config(const envoy_service_status_v3_PerXdsConfig *msg) { return UPB_READ_ONEOF(msg, const struct envoy_admin_v3_EndpointsConfigDump*, UPB_SIZE(8, 8), UPB_SIZE(12, 16), 6, NULL); } +UPB_INLINE int32_t envoy_service_status_v3_PerXdsConfig_client_status(const envoy_service_status_v3_PerXdsConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); } + +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_status(envoy_service_status_v3_PerXdsConfig *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value; +} +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_listener_config(envoy_service_status_v3_PerXdsConfig *msg, struct envoy_admin_v3_ListenersConfigDump* value) { + UPB_WRITE_ONEOF(msg, struct envoy_admin_v3_ListenersConfigDump*, UPB_SIZE(8, 8), value, UPB_SIZE(12, 16), 2); +} +UPB_INLINE struct envoy_admin_v3_ListenersConfigDump* envoy_service_status_v3_PerXdsConfig_mutable_listener_config(envoy_service_status_v3_PerXdsConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_ListenersConfigDump* sub = (struct envoy_admin_v3_ListenersConfigDump*)envoy_service_status_v3_PerXdsConfig_listener_config(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_ListenersConfigDump*)_upb_msg_new(&envoy_admin_v3_ListenersConfigDump_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_PerXdsConfig_set_listener_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_cluster_config(envoy_service_status_v3_PerXdsConfig *msg, struct envoy_admin_v3_ClustersConfigDump* value) { + UPB_WRITE_ONEOF(msg, struct envoy_admin_v3_ClustersConfigDump*, UPB_SIZE(8, 8), value, UPB_SIZE(12, 16), 3); +} +UPB_INLINE struct envoy_admin_v3_ClustersConfigDump* envoy_service_status_v3_PerXdsConfig_mutable_cluster_config(envoy_service_status_v3_PerXdsConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_ClustersConfigDump* sub = (struct envoy_admin_v3_ClustersConfigDump*)envoy_service_status_v3_PerXdsConfig_cluster_config(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_ClustersConfigDump*)_upb_msg_new(&envoy_admin_v3_ClustersConfigDump_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_PerXdsConfig_set_cluster_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_route_config(envoy_service_status_v3_PerXdsConfig *msg, struct envoy_admin_v3_RoutesConfigDump* value) { + UPB_WRITE_ONEOF(msg, struct envoy_admin_v3_RoutesConfigDump*, UPB_SIZE(8, 8), value, UPB_SIZE(12, 16), 4); +} +UPB_INLINE struct envoy_admin_v3_RoutesConfigDump* envoy_service_status_v3_PerXdsConfig_mutable_route_config(envoy_service_status_v3_PerXdsConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_RoutesConfigDump* sub = (struct envoy_admin_v3_RoutesConfigDump*)envoy_service_status_v3_PerXdsConfig_route_config(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_RoutesConfigDump*)_upb_msg_new(&envoy_admin_v3_RoutesConfigDump_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_PerXdsConfig_set_route_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_scoped_route_config(envoy_service_status_v3_PerXdsConfig *msg, struct envoy_admin_v3_ScopedRoutesConfigDump* value) { + UPB_WRITE_ONEOF(msg, struct envoy_admin_v3_ScopedRoutesConfigDump*, UPB_SIZE(8, 8), value, UPB_SIZE(12, 16), 5); +} +UPB_INLINE struct envoy_admin_v3_ScopedRoutesConfigDump* envoy_service_status_v3_PerXdsConfig_mutable_scoped_route_config(envoy_service_status_v3_PerXdsConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_ScopedRoutesConfigDump* sub = (struct envoy_admin_v3_ScopedRoutesConfigDump*)envoy_service_status_v3_PerXdsConfig_scoped_route_config(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_ScopedRoutesConfigDump*)_upb_msg_new(&envoy_admin_v3_ScopedRoutesConfigDump_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_PerXdsConfig_set_scoped_route_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_endpoint_config(envoy_service_status_v3_PerXdsConfig *msg, struct envoy_admin_v3_EndpointsConfigDump* value) { + UPB_WRITE_ONEOF(msg, struct envoy_admin_v3_EndpointsConfigDump*, UPB_SIZE(8, 8), value, UPB_SIZE(12, 16), 6); +} +UPB_INLINE struct envoy_admin_v3_EndpointsConfigDump* envoy_service_status_v3_PerXdsConfig_mutable_endpoint_config(envoy_service_status_v3_PerXdsConfig *msg, upb_arena *arena) { + struct envoy_admin_v3_EndpointsConfigDump* sub = (struct envoy_admin_v3_EndpointsConfigDump*)envoy_service_status_v3_PerXdsConfig_endpoint_config(msg); + if (sub == NULL) { + sub = (struct envoy_admin_v3_EndpointsConfigDump*)_upb_msg_new(&envoy_admin_v3_EndpointsConfigDump_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_PerXdsConfig_set_endpoint_config(msg, sub); + } + return sub; +} +UPB_INLINE void envoy_service_status_v3_PerXdsConfig_set_client_status(envoy_service_status_v3_PerXdsConfig *msg, int32_t value) { + *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value; +} + +/* envoy.service.status.v3.ClientConfig */ + +UPB_INLINE envoy_service_status_v3_ClientConfig *envoy_service_status_v3_ClientConfig_new(upb_arena *arena) { + return (envoy_service_status_v3_ClientConfig *)_upb_msg_new(&envoy_service_status_v3_ClientConfig_msginit, arena); +} +UPB_INLINE envoy_service_status_v3_ClientConfig *envoy_service_status_v3_ClientConfig_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_service_status_v3_ClientConfig *ret = envoy_service_status_v3_ClientConfig_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_service_status_v3_ClientConfig_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_service_status_v3_ClientConfig *envoy_service_status_v3_ClientConfig_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_service_status_v3_ClientConfig *ret = envoy_service_status_v3_ClientConfig_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_service_status_v3_ClientConfig_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_service_status_v3_ClientConfig_serialize(const envoy_service_status_v3_ClientConfig *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_service_status_v3_ClientConfig_msginit, arena, len); +} + +UPB_INLINE bool envoy_service_status_v3_ClientConfig_has_node(const envoy_service_status_v3_ClientConfig *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_config_core_v3_Node* envoy_service_status_v3_ClientConfig_node(const envoy_service_status_v3_ClientConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_Node*); } +UPB_INLINE bool envoy_service_status_v3_ClientConfig_has_xds_config(const envoy_service_status_v3_ClientConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const envoy_service_status_v3_PerXdsConfig* const* envoy_service_status_v3_ClientConfig_xds_config(const envoy_service_status_v3_ClientConfig *msg, size_t *len) { return (const envoy_service_status_v3_PerXdsConfig* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } + +UPB_INLINE void envoy_service_status_v3_ClientConfig_set_node(envoy_service_status_v3_ClientConfig *msg, struct envoy_config_core_v3_Node* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_Node*) = value; +} +UPB_INLINE struct envoy_config_core_v3_Node* envoy_service_status_v3_ClientConfig_mutable_node(envoy_service_status_v3_ClientConfig *msg, upb_arena *arena) { + struct envoy_config_core_v3_Node* sub = (struct envoy_config_core_v3_Node*)envoy_service_status_v3_ClientConfig_node(msg); + if (sub == NULL) { + sub = (struct envoy_config_core_v3_Node*)_upb_msg_new(&envoy_config_core_v3_Node_msginit, arena); + if (!sub) return NULL; + envoy_service_status_v3_ClientConfig_set_node(msg, sub); + } + return sub; +} +UPB_INLINE envoy_service_status_v3_PerXdsConfig** envoy_service_status_v3_ClientConfig_mutable_xds_config(envoy_service_status_v3_ClientConfig *msg, size_t *len) { + return (envoy_service_status_v3_PerXdsConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE envoy_service_status_v3_PerXdsConfig** envoy_service_status_v3_ClientConfig_resize_xds_config(envoy_service_status_v3_ClientConfig *msg, size_t len, upb_arena *arena) { + return (envoy_service_status_v3_PerXdsConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_service_status_v3_PerXdsConfig* envoy_service_status_v3_ClientConfig_add_xds_config(envoy_service_status_v3_ClientConfig *msg, upb_arena *arena) { + struct envoy_service_status_v3_PerXdsConfig* sub = (struct envoy_service_status_v3_PerXdsConfig*)_upb_msg_new(&envoy_service_status_v3_PerXdsConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +/* envoy.service.status.v3.ClientStatusResponse */ + +UPB_INLINE envoy_service_status_v3_ClientStatusResponse *envoy_service_status_v3_ClientStatusResponse_new(upb_arena *arena) { + return (envoy_service_status_v3_ClientStatusResponse *)_upb_msg_new(&envoy_service_status_v3_ClientStatusResponse_msginit, arena); +} +UPB_INLINE envoy_service_status_v3_ClientStatusResponse *envoy_service_status_v3_ClientStatusResponse_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_service_status_v3_ClientStatusResponse *ret = envoy_service_status_v3_ClientStatusResponse_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_service_status_v3_ClientStatusResponse_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_service_status_v3_ClientStatusResponse *envoy_service_status_v3_ClientStatusResponse_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_service_status_v3_ClientStatusResponse *ret = envoy_service_status_v3_ClientStatusResponse_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_service_status_v3_ClientStatusResponse_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_service_status_v3_ClientStatusResponse_serialize(const envoy_service_status_v3_ClientStatusResponse *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_service_status_v3_ClientStatusResponse_msginit, arena, len); +} + +UPB_INLINE bool envoy_service_status_v3_ClientStatusResponse_has_config(const envoy_service_status_v3_ClientStatusResponse *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); } +UPB_INLINE const envoy_service_status_v3_ClientConfig* const* envoy_service_status_v3_ClientStatusResponse_config(const envoy_service_status_v3_ClientStatusResponse *msg, size_t *len) { return (const envoy_service_status_v3_ClientConfig* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); } + +UPB_INLINE envoy_service_status_v3_ClientConfig** envoy_service_status_v3_ClientStatusResponse_mutable_config(envoy_service_status_v3_ClientStatusResponse *msg, size_t *len) { + return (envoy_service_status_v3_ClientConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len); +} +UPB_INLINE envoy_service_status_v3_ClientConfig** envoy_service_status_v3_ClientStatusResponse_resize_config(envoy_service_status_v3_ClientStatusResponse *msg, size_t len, upb_arena *arena) { + return (envoy_service_status_v3_ClientConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(0, 0), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_service_status_v3_ClientConfig* envoy_service_status_v3_ClientStatusResponse_add_config(envoy_service_status_v3_ClientStatusResponse *msg, upb_arena *arena) { + struct envoy_service_status_v3_ClientConfig* sub = (struct envoy_service_status_v3_ClientConfig*)_upb_msg_new(&envoy_service_status_v3_ClientConfig_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(0, 0), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_SERVICE_STATUS_V3_CSDS_PROTO_UPB_H_ */ diff --git a/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c b/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c new file mode 100644 index 00000000000..8ef51fb91ec --- /dev/null +++ b/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c @@ -0,0 +1,36 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/node.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/type/matcher/v3/node.upb.h" +#include "envoy/type/matcher/v3/string.upb.h" +#include "envoy/type/matcher/v3/struct.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_type_matcher_v3_NodeMatcher_submsgs[2] = { + &envoy_type_matcher_v3_StringMatcher_msginit, + &envoy_type_matcher_v3_StructMatcher_msginit, +}; + +static const upb_msglayout_field envoy_type_matcher_v3_NodeMatcher__fields[2] = { + {1, UPB_SIZE(4, 8), 1, 0, 11, 1}, + {2, UPB_SIZE(8, 16), 0, 1, 11, 3}, +}; + +const upb_msglayout envoy_type_matcher_v3_NodeMatcher_msginit = { + &envoy_type_matcher_v3_NodeMatcher_submsgs[0], + &envoy_type_matcher_v3_NodeMatcher__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h b/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h new file mode 100644 index 00000000000..94e2257fdfc --- /dev/null +++ b/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h @@ -0,0 +1,90 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/node.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_TYPE_MATCHER_V3_NODE_PROTO_UPB_H_ +#define ENVOY_TYPE_MATCHER_V3_NODE_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_type_matcher_v3_NodeMatcher; +typedef struct envoy_type_matcher_v3_NodeMatcher envoy_type_matcher_v3_NodeMatcher; +extern const upb_msglayout envoy_type_matcher_v3_NodeMatcher_msginit; +struct envoy_type_matcher_v3_StringMatcher; +struct envoy_type_matcher_v3_StructMatcher; +extern const upb_msglayout envoy_type_matcher_v3_StringMatcher_msginit; +extern const upb_msglayout envoy_type_matcher_v3_StructMatcher_msginit; + + +/* envoy.type.matcher.v3.NodeMatcher */ + +UPB_INLINE envoy_type_matcher_v3_NodeMatcher *envoy_type_matcher_v3_NodeMatcher_new(upb_arena *arena) { + return (envoy_type_matcher_v3_NodeMatcher *)_upb_msg_new(&envoy_type_matcher_v3_NodeMatcher_msginit, arena); +} +UPB_INLINE envoy_type_matcher_v3_NodeMatcher *envoy_type_matcher_v3_NodeMatcher_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_type_matcher_v3_NodeMatcher *ret = envoy_type_matcher_v3_NodeMatcher_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_type_matcher_v3_NodeMatcher_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_type_matcher_v3_NodeMatcher *envoy_type_matcher_v3_NodeMatcher_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_type_matcher_v3_NodeMatcher *ret = envoy_type_matcher_v3_NodeMatcher_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_type_matcher_v3_NodeMatcher_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_type_matcher_v3_NodeMatcher_serialize(const envoy_type_matcher_v3_NodeMatcher *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_type_matcher_v3_NodeMatcher_msginit, arena, len); +} + +UPB_INLINE bool envoy_type_matcher_v3_NodeMatcher_has_node_id(const envoy_type_matcher_v3_NodeMatcher *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_type_matcher_v3_StringMatcher* envoy_type_matcher_v3_NodeMatcher_node_id(const envoy_type_matcher_v3_NodeMatcher *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_matcher_v3_StringMatcher*); } +UPB_INLINE bool envoy_type_matcher_v3_NodeMatcher_has_node_metadatas(const envoy_type_matcher_v3_NodeMatcher *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const struct envoy_type_matcher_v3_StructMatcher* const* envoy_type_matcher_v3_NodeMatcher_node_metadatas(const envoy_type_matcher_v3_NodeMatcher *msg, size_t *len) { return (const struct envoy_type_matcher_v3_StructMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } + +UPB_INLINE void envoy_type_matcher_v3_NodeMatcher_set_node_id(envoy_type_matcher_v3_NodeMatcher *msg, struct envoy_type_matcher_v3_StringMatcher* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_matcher_v3_StringMatcher*) = value; +} +UPB_INLINE struct envoy_type_matcher_v3_StringMatcher* envoy_type_matcher_v3_NodeMatcher_mutable_node_id(envoy_type_matcher_v3_NodeMatcher *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_StringMatcher* sub = (struct envoy_type_matcher_v3_StringMatcher*)envoy_type_matcher_v3_NodeMatcher_node_id(msg); + if (sub == NULL) { + sub = (struct envoy_type_matcher_v3_StringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StringMatcher_msginit, arena); + if (!sub) return NULL; + envoy_type_matcher_v3_NodeMatcher_set_node_id(msg, sub); + } + return sub; +} +UPB_INLINE struct envoy_type_matcher_v3_StructMatcher** envoy_type_matcher_v3_NodeMatcher_mutable_node_metadatas(envoy_type_matcher_v3_NodeMatcher *msg, size_t *len) { + return (struct envoy_type_matcher_v3_StructMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE struct envoy_type_matcher_v3_StructMatcher** envoy_type_matcher_v3_NodeMatcher_resize_node_metadatas(envoy_type_matcher_v3_NodeMatcher *msg, size_t len, upb_arena *arena) { + return (struct envoy_type_matcher_v3_StructMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_type_matcher_v3_StructMatcher* envoy_type_matcher_v3_NodeMatcher_add_node_metadatas(envoy_type_matcher_v3_NodeMatcher *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_StructMatcher* sub = (struct envoy_type_matcher_v3_StructMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StructMatcher_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_TYPE_MATCHER_V3_NODE_PROTO_UPB_H_ */ diff --git a/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c b/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c new file mode 100644 index 00000000000..05ea6a3ffcb --- /dev/null +++ b/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c @@ -0,0 +1,46 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/struct.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include +#include "upb/msg.h" +#include "envoy/type/matcher/v3/struct.upb.h" +#include "envoy/type/matcher/v3/value.upb.h" +#include "udpa/annotations/status.upb.h" +#include "udpa/annotations/versioning.upb.h" +#include "validate/validate.upb.h" + +#include "upb/port_def.inc" + +static const upb_msglayout *const envoy_type_matcher_v3_StructMatcher_submsgs[2] = { + &envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, + &envoy_type_matcher_v3_ValueMatcher_msginit, +}; + +static const upb_msglayout_field envoy_type_matcher_v3_StructMatcher__fields[2] = { + {2, UPB_SIZE(8, 16), 0, 0, 11, 3}, + {3, UPB_SIZE(4, 8), 1, 1, 11, 1}, +}; + +const upb_msglayout envoy_type_matcher_v3_StructMatcher_msginit = { + &envoy_type_matcher_v3_StructMatcher_submsgs[0], + &envoy_type_matcher_v3_StructMatcher__fields[0], + UPB_SIZE(16, 24), 2, false, 255, +}; + +static const upb_msglayout_field envoy_type_matcher_v3_StructMatcher_PathSegment__fields[1] = { + {1, UPB_SIZE(0, 0), UPB_SIZE(-9, -17), 0, 9, 1}, +}; + +const upb_msglayout envoy_type_matcher_v3_StructMatcher_PathSegment_msginit = { + NULL, + &envoy_type_matcher_v3_StructMatcher_PathSegment__fields[0], + UPB_SIZE(16, 32), 1, false, 255, +}; + +#include "upb/port_undef.inc" + diff --git a/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h b/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h new file mode 100644 index 00000000000..53e521385de --- /dev/null +++ b/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h @@ -0,0 +1,124 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/struct.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_TYPE_MATCHER_V3_STRUCT_PROTO_UPB_H_ +#define ENVOY_TYPE_MATCHER_V3_STRUCT_PROTO_UPB_H_ + +#include "upb/msg.h" +#include "upb/decode.h" +#include "upb/decode_fast.h" +#include "upb/encode.h" + +#include "upb/port_def.inc" + +#ifdef __cplusplus +extern "C" { +#endif + +struct envoy_type_matcher_v3_StructMatcher; +struct envoy_type_matcher_v3_StructMatcher_PathSegment; +typedef struct envoy_type_matcher_v3_StructMatcher envoy_type_matcher_v3_StructMatcher; +typedef struct envoy_type_matcher_v3_StructMatcher_PathSegment envoy_type_matcher_v3_StructMatcher_PathSegment; +extern const upb_msglayout envoy_type_matcher_v3_StructMatcher_msginit; +extern const upb_msglayout envoy_type_matcher_v3_StructMatcher_PathSegment_msginit; +struct envoy_type_matcher_v3_ValueMatcher; +extern const upb_msglayout envoy_type_matcher_v3_ValueMatcher_msginit; + + +/* envoy.type.matcher.v3.StructMatcher */ + +UPB_INLINE envoy_type_matcher_v3_StructMatcher *envoy_type_matcher_v3_StructMatcher_new(upb_arena *arena) { + return (envoy_type_matcher_v3_StructMatcher *)_upb_msg_new(&envoy_type_matcher_v3_StructMatcher_msginit, arena); +} +UPB_INLINE envoy_type_matcher_v3_StructMatcher *envoy_type_matcher_v3_StructMatcher_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_type_matcher_v3_StructMatcher *ret = envoy_type_matcher_v3_StructMatcher_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_type_matcher_v3_StructMatcher_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_type_matcher_v3_StructMatcher *envoy_type_matcher_v3_StructMatcher_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_type_matcher_v3_StructMatcher *ret = envoy_type_matcher_v3_StructMatcher_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_type_matcher_v3_StructMatcher_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_type_matcher_v3_StructMatcher_serialize(const envoy_type_matcher_v3_StructMatcher *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_type_matcher_v3_StructMatcher_msginit, arena, len); +} + +UPB_INLINE bool envoy_type_matcher_v3_StructMatcher_has_path(const envoy_type_matcher_v3_StructMatcher *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); } +UPB_INLINE const envoy_type_matcher_v3_StructMatcher_PathSegment* const* envoy_type_matcher_v3_StructMatcher_path(const envoy_type_matcher_v3_StructMatcher *msg, size_t *len) { return (const envoy_type_matcher_v3_StructMatcher_PathSegment* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); } +UPB_INLINE bool envoy_type_matcher_v3_StructMatcher_has_value(const envoy_type_matcher_v3_StructMatcher *msg) { return _upb_hasbit(msg, 1); } +UPB_INLINE const struct envoy_type_matcher_v3_ValueMatcher* envoy_type_matcher_v3_StructMatcher_value(const envoy_type_matcher_v3_StructMatcher *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_matcher_v3_ValueMatcher*); } + +UPB_INLINE envoy_type_matcher_v3_StructMatcher_PathSegment** envoy_type_matcher_v3_StructMatcher_mutable_path(envoy_type_matcher_v3_StructMatcher *msg, size_t *len) { + return (envoy_type_matcher_v3_StructMatcher_PathSegment**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len); +} +UPB_INLINE envoy_type_matcher_v3_StructMatcher_PathSegment** envoy_type_matcher_v3_StructMatcher_resize_path(envoy_type_matcher_v3_StructMatcher *msg, size_t len, upb_arena *arena) { + return (envoy_type_matcher_v3_StructMatcher_PathSegment**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena); +} +UPB_INLINE struct envoy_type_matcher_v3_StructMatcher_PathSegment* envoy_type_matcher_v3_StructMatcher_add_path(envoy_type_matcher_v3_StructMatcher *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_StructMatcher_PathSegment* sub = (struct envoy_type_matcher_v3_StructMatcher_PathSegment*)_upb_msg_new(&envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, arena); + bool ok = _upb_array_append_accessor2( + msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena); + if (!ok) return NULL; + return sub; +} +UPB_INLINE void envoy_type_matcher_v3_StructMatcher_set_value(envoy_type_matcher_v3_StructMatcher *msg, struct envoy_type_matcher_v3_ValueMatcher* value) { + _upb_sethas(msg, 1); + *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_matcher_v3_ValueMatcher*) = value; +} +UPB_INLINE struct envoy_type_matcher_v3_ValueMatcher* envoy_type_matcher_v3_StructMatcher_mutable_value(envoy_type_matcher_v3_StructMatcher *msg, upb_arena *arena) { + struct envoy_type_matcher_v3_ValueMatcher* sub = (struct envoy_type_matcher_v3_ValueMatcher*)envoy_type_matcher_v3_StructMatcher_value(msg); + if (sub == NULL) { + sub = (struct envoy_type_matcher_v3_ValueMatcher*)_upb_msg_new(&envoy_type_matcher_v3_ValueMatcher_msginit, arena); + if (!sub) return NULL; + envoy_type_matcher_v3_StructMatcher_set_value(msg, sub); + } + return sub; +} + +/* envoy.type.matcher.v3.StructMatcher.PathSegment */ + +UPB_INLINE envoy_type_matcher_v3_StructMatcher_PathSegment *envoy_type_matcher_v3_StructMatcher_PathSegment_new(upb_arena *arena) { + return (envoy_type_matcher_v3_StructMatcher_PathSegment *)_upb_msg_new(&envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, arena); +} +UPB_INLINE envoy_type_matcher_v3_StructMatcher_PathSegment *envoy_type_matcher_v3_StructMatcher_PathSegment_parse(const char *buf, size_t size, + upb_arena *arena) { + envoy_type_matcher_v3_StructMatcher_PathSegment *ret = envoy_type_matcher_v3_StructMatcher_PathSegment_new(arena); + return (ret && upb_decode(buf, size, ret, &envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, arena)) ? ret : NULL; +} +UPB_INLINE envoy_type_matcher_v3_StructMatcher_PathSegment *envoy_type_matcher_v3_StructMatcher_PathSegment_parse_ex(const char *buf, size_t size, + upb_arena *arena, int options) { + envoy_type_matcher_v3_StructMatcher_PathSegment *ret = envoy_type_matcher_v3_StructMatcher_PathSegment_new(arena); + return (ret && _upb_decode(buf, size, ret, &envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, arena, options)) + ? ret : NULL; +} +UPB_INLINE char *envoy_type_matcher_v3_StructMatcher_PathSegment_serialize(const envoy_type_matcher_v3_StructMatcher_PathSegment *msg, upb_arena *arena, size_t *len) { + return upb_encode(msg, &envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, arena, len); +} + +typedef enum { + envoy_type_matcher_v3_StructMatcher_PathSegment_segment_key = 1, + envoy_type_matcher_v3_StructMatcher_PathSegment_segment_NOT_SET = 0 +} envoy_type_matcher_v3_StructMatcher_PathSegment_segment_oneofcases; +UPB_INLINE envoy_type_matcher_v3_StructMatcher_PathSegment_segment_oneofcases envoy_type_matcher_v3_StructMatcher_PathSegment_segment_case(const envoy_type_matcher_v3_StructMatcher_PathSegment* msg) { return (envoy_type_matcher_v3_StructMatcher_PathSegment_segment_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(8, 16), int32_t); } + +UPB_INLINE bool envoy_type_matcher_v3_StructMatcher_PathSegment_has_key(const envoy_type_matcher_v3_StructMatcher_PathSegment *msg) { return _upb_getoneofcase(msg, UPB_SIZE(8, 16)) == 1; } +UPB_INLINE upb_strview envoy_type_matcher_v3_StructMatcher_PathSegment_key(const envoy_type_matcher_v3_StructMatcher_PathSegment *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(0, 0), UPB_SIZE(8, 16), 1, upb_strview_make("", strlen(""))); } + +UPB_INLINE void envoy_type_matcher_v3_StructMatcher_PathSegment_set_key(envoy_type_matcher_v3_StructMatcher_PathSegment *msg, upb_strview value) { + UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(0, 0), value, UPB_SIZE(8, 16), 1); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_TYPE_MATCHER_V3_STRUCT_PROTO_UPB_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c new file mode 100644 index 00000000000..8418d1e9284 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c @@ -0,0 +1,354 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/admin/v3/config_dump.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/admin/v3/config_dump.upbdefs.h" + +extern upb_def_init envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit; +extern upb_def_init google_protobuf_any_proto_upbdefinit; +extern upb_def_init google_protobuf_timestamp_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern const upb_msglayout envoy_admin_v3_ConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_UpdateFailureState_msginit; +extern const upb_msglayout envoy_admin_v3_BootstrapConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_StaticListener_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit; +extern const upb_msglayout envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit; +extern const upb_msglayout envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit; +extern const upb_msglayout envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit; +extern const upb_msglayout envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit; +extern const upb_msglayout envoy_admin_v3_SecretsConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit; +extern const upb_msglayout envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit; +extern const upb_msglayout envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit; + +static const upb_msglayout *layouts[22] = { + &envoy_admin_v3_ConfigDump_msginit, + &envoy_admin_v3_UpdateFailureState_msginit, + &envoy_admin_v3_BootstrapConfigDump_msginit, + &envoy_admin_v3_ListenersConfigDump_msginit, + &envoy_admin_v3_ListenersConfigDump_StaticListener_msginit, + &envoy_admin_v3_ListenersConfigDump_DynamicListenerState_msginit, + &envoy_admin_v3_ListenersConfigDump_DynamicListener_msginit, + &envoy_admin_v3_ClustersConfigDump_msginit, + &envoy_admin_v3_ClustersConfigDump_StaticCluster_msginit, + &envoy_admin_v3_ClustersConfigDump_DynamicCluster_msginit, + &envoy_admin_v3_RoutesConfigDump_msginit, + &envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_msginit, + &envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_msginit, + &envoy_admin_v3_ScopedRoutesConfigDump_msginit, + &envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_msginit, + &envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_msginit, + &envoy_admin_v3_SecretsConfigDump_msginit, + &envoy_admin_v3_SecretsConfigDump_DynamicSecret_msginit, + &envoy_admin_v3_SecretsConfigDump_StaticSecret_msginit, + &envoy_admin_v3_EndpointsConfigDump_msginit, + &envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_msginit, + &envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_msginit, +}; + +static const char descriptor[6802] = {'\n', ' ', 'e', 'n', 'v', 'o', 'y', '/', 'a', 'd', 'm', 'i', 'n', '/', 'v', '3', '/', 'c', 'o', 'n', 'f', 'i', 'g', '_', 'd', +'u', 'm', 'p', '.', 'p', 'r', 'o', 't', 'o', '\022', '\016', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', +'\032', ')', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '/', +'v', '3', '/', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'p', 'r', 'o', 't', 'o', '\032', '\031', 'g', 'o', 'o', 'g', 'l', +'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'a', 'n', 'y', '.', 'p', 'r', 'o', 't', 'o', '\032', '\037', 'g', 'o', 'o', +'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 't', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', '.', 'p', 'r', +'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', +'t', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', +'n', 's', '/', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\"', 'c', '\n', '\n', 'C', 'o', +'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\022', '.', '\n', '\007', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\001', ' ', '\003', '(', '\013', +'2', '\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\007', 'c', +'o', 'n', 'f', 'i', 'g', 's', ':', '%', '\232', '\305', '\210', '\036', ' ', '\n', '\036', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', +'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\"', '\225', '\002', '\n', '\022', +'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', 'S', 't', 'a', 't', 'e', '\022', 'G', '\n', '\024', 'f', 'a', 'i', +'l', 'e', 'd', '_', 'c', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', +'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\023', 'f', 'a', 'i', +'l', 'e', 'd', 'C', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', '\022', 'J', '\n', '\023', 'l', 'a', 's', 't', '_', +'u', 'p', 'd', 'a', 't', 'e', '_', 'a', 't', 't', 'e', 'm', 'p', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', +'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\021', +'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'A', 't', 't', 'e', 'm', 'p', 't', '\022', '\030', '\n', '\007', 'd', 'e', 't', 'a', +'i', 'l', 's', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'd', 'e', 't', 'a', 'i', 'l', 's', '\022', '!', '\n', '\014', 'v', 'e', 'r', +'s', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\013', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'I', +'n', 'f', 'o', ':', '-', '\232', '\305', '\210', '\036', '(', '\n', '&', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', +'2', 'a', 'l', 'p', 'h', 'a', '.', 'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', 'S', 't', 'a', 't', 'e', +'\"', '\310', '\001', '\n', '\023', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\022', +'B', '\n', '\t', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '\030', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'B', 'o', 'o', +'t', 's', 't', 'r', 'a', 'p', 'R', '\t', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', +'_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', +'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', +'d', 'a', 't', 'e', 'd', ':', '.', '\232', '\305', '\210', '\036', ')', '\n', '\'', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', +'.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', 'C', 'o', 'n', 'f', 'i', 'g', 'D', +'u', 'm', 'p', '\"', '\363', '\t', '\n', '\023', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', +'m', 'p', '\022', '!', '\n', '\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\001', ' ', '\001', '(', '\t', 'R', +'\013', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', ']', '\n', '\020', 's', 't', 'a', 't', 'i', 'c', '_', 'l', 'i', +'s', 't', 'e', 'n', 'e', 'r', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '2', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', +'i', 'n', '.', 'v', '3', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', +'.', 'S', 't', 'a', 't', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 'R', '\017', 's', 't', 'a', 't', 'i', 'c', 'L', 'i', +'s', 't', 'e', 'n', 'e', 'r', 's', '\022', '`', '\n', '\021', 'd', 'y', 'n', 'a', 'm', 'i', 'c', '_', 'l', 'i', 's', 't', 'e', 'n', +'e', 'r', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '3', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', +'3', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', +'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 'R', '\020', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'L', 'i', 's', 't', +'e', 'n', 'e', 'r', 's', '\032', '\300', '\001', '\n', '\016', 'S', 't', 'a', 't', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', '\022', +'0', '\n', '\010', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', +'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\010', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '\022', +'=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', +'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', +'\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', ':', '=', '\232', '\305', '\210', '\036', '8', '\n', '6', 'e', 'n', 'v', 'o', +'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', +'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', +'\032', '\357', '\001', '\n', '\024', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 'S', 't', 'a', 't', 'e', +'\022', '!', '\n', '\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'v', +'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', '0', '\n', '\010', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '\030', '\002', ' ', +'\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', +'R', '\010', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', +'d', '\030', '\003', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', +'.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', ':', 'C', +'\232', '\305', '\210', '\036', '>', '\n', '<', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', +'a', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', +'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 'S', 't', 'a', 't', 'e', '\032', '\222', '\004', '\n', '\017', 'D', 'y', 'n', +'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', +'\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '[', '\n', '\014', 'a', 'c', 't', 'i', 'v', 'e', '_', 's', 't', 'a', 't', 'e', '\030', '\002', +' ', '\001', '(', '\013', '2', '8', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'L', 'i', 's', +'t', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'L', +'i', 's', 't', 'e', 'n', 'e', 'r', 'S', 't', 'a', 't', 'e', 'R', '\013', 'a', 'c', 't', 'i', 'v', 'e', 'S', 't', 'a', 't', 'e', +'\022', ']', '\n', '\r', 'w', 'a', 'r', 'm', 'i', 'n', 'g', '_', 's', 't', 'a', 't', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '8', +'.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', +'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', +'r', 'S', 't', 'a', 't', 'e', 'R', '\014', 'w', 'a', 'r', 'm', 'i', 'n', 'g', 'S', 't', 'a', 't', 'e', '\022', '_', '\n', '\016', 'd', +'r', 'a', 'i', 'n', 'i', 'n', 'g', '_', 's', 't', 'a', 't', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '8', '.', 'e', 'n', 'v', +'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', +'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 'S', 't', 'a', +'t', 'e', 'R', '\r', 'd', 'r', 'a', 'i', 'n', 'i', 'n', 'g', 'S', 't', 'a', 't', 'e', '\022', 'C', '\n', '\013', 'e', 'r', 'r', 'o', +'r', '_', 's', 't', 'a', 't', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', +'i', 'n', '.', 'v', '3', '.', 'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', 'S', 't', 'a', 't', 'e', 'R', +'\n', 'e', 'r', 'r', 'o', 'r', 'S', 't', 'a', 't', 'e', '\022', 'I', '\n', '\r', 'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', 'a', +'t', 'u', 's', '\030', '\006', ' ', '\001', '(', '\016', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', +'3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'S', 't', 'a', 't', 'u', 's', 'R', '\014', 'c', +'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', ':', '>', '\232', '\305', '\210', '\036', '9', '\n', '7', 'e', 'n', 'v', 'o', 'y', +'.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', +'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', +':', '.', '\232', '\305', '\210', '\036', ')', '\n', '\'', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', +'p', 'h', 'a', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\"', '\312', +'\007', '\n', '\022', 'C', 'l', 'u', 's', 't', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\022', '!', '\n', '\014', +'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'v', 'e', 'r', 's', 'i', +'o', 'n', 'I', 'n', 'f', 'o', '\022', 'Y', '\n', '\017', 's', 't', 'a', 't', 'i', 'c', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 's', +'\030', '\002', ' ', '\003', '(', '\013', '2', '0', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'C', +'l', 'u', 's', 't', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', 'C', +'l', 'u', 's', 't', 'e', 'r', 'R', '\016', 's', 't', 'a', 't', 'i', 'c', 'C', 'l', 'u', 's', 't', 'e', 'r', 's', '\022', 'i', '\n', +'\027', 'd', 'y', 'n', 'a', 'm', 'i', 'c', '_', 'a', 'c', 't', 'i', 'v', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', 's', '\030', +'\003', ' ', '\003', '(', '\013', '2', '1', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'C', 'l', +'u', 's', 't', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'C', +'l', 'u', 's', 't', 'e', 'r', 'R', '\025', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'A', 'c', 't', 'i', 'v', 'e', 'C', 'l', 'u', 's', +'t', 'e', 'r', 's', '\022', 'k', '\n', '\030', 'd', 'y', 'n', 'a', 'm', 'i', 'c', '_', 'w', 'a', 'r', 'm', 'i', 'n', 'g', '_', 'c', +'l', 'u', 's', 't', 'e', 'r', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '1', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', +'i', 'n', '.', 'v', '3', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', +'D', 'y', 'n', 'a', 'm', 'i', 'c', 'C', 'l', 'u', 's', 't', 'e', 'r', 'R', '\026', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'W', 'a', +'r', 'm', 'i', 'n', 'g', 'C', 'l', 'u', 's', 't', 'e', 'r', 's', '\032', '\273', '\001', '\n', '\r', 'S', 't', 'a', 't', 'i', 'c', 'C', +'l', 'u', 's', 't', 'e', 'r', '\022', '.', '\n', '\007', 'c', 'l', 'u', 's', 't', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', +'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\007', 'c', 'l', 'u', +'s', 't', 'e', 'r', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\002', ' ', '\001', '(', +'\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', +'t', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', ':', ';', '\232', '\305', '\210', '\036', '6', '\n', +'4', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'C', 'l', 'u', 's', +'t', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', 'C', 'l', 'u', 's', +'t', 'e', 'r', '\032', '\360', '\002', '\n', '\016', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'C', 'l', 'u', 's', 't', 'e', 'r', '\022', '!', '\n', +'\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'v', 'e', 'r', 's', +'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', '.', '\n', '\007', 'c', 'l', 'u', 's', 't', 'e', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', +'\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\007', 'c', 'l', +'u', 's', 't', 'e', 'r', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\003', ' ', '\001', +'(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', +'s', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', '\022', 'C', '\n', '\013', 'e', 'r', 'r', +'o', 'r', '_', 's', 't', 'a', 't', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', +'m', 'i', 'n', '.', 'v', '3', '.', 'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', 'S', 't', 'a', 't', 'e', +'R', '\n', 'e', 'r', 'r', 'o', 'r', 'S', 't', 'a', 't', 'e', '\022', 'I', '\n', '\r', 'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', +'a', 't', 'u', 's', '\030', '\005', ' ', '\001', '(', '\016', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', +'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'S', 't', 'a', 't', 'u', 's', 'R', '\014', +'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', ':', '<', '\232', '\305', '\210', '\036', '7', '\n', '5', 'e', 'n', 'v', 'o', +'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 's', 'C', +'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'C', 'l', 'u', 's', 't', 'e', 'r', ':', +'-', '\232', '\305', '\210', '\036', '(', '\n', '&', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', +'h', 'a', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\"', '\335', '\006', '\n', +'\020', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\022', 'd', '\n', '\024', 's', 't', 'a', 't', +'i', 'c', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '2', '.', +'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', +'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 'R', +'\022', 's', 't', 'a', 't', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\022', 'g', '\n', '\025', 'd', 'y', +'n', 'a', 'm', 'i', 'c', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', +'2', '3', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'R', 'o', 'u', 't', 'e', 's', 'C', +'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', +'f', 'i', 'g', 'R', '\023', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\032', +'\312', '\001', '\n', '\021', 'S', 't', 'a', 't', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '7', '\n', '\014', +'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', +'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\013', 'r', 'o', 'u', 't', 'e', 'C', 'o', 'n', +'f', 'i', 'g', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\013', +'2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', +'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', ':', '=', '\232', '\305', '\210', '\036', '8', '\n', '6', +'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'R', 'o', 'u', 't', 'e', +'s', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', +'n', 'f', 'i', 'g', '\032', '\377', '\002', '\n', '\022', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', +'i', 'g', '\022', '!', '\n', '\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\001', ' ', '\001', '(', '\t', 'R', +'\013', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', '7', '\n', '\014', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', +'f', 'i', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', +'u', 'f', '.', 'A', 'n', 'y', 'R', '\013', 'r', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '=', '\n', '\014', 'l', 'a', +'s', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\003', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', +'.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', +'U', 'p', 'd', 'a', 't', 'e', 'd', '\022', 'C', '\n', '\013', 'e', 'r', 'r', 'o', 'r', '_', 's', 't', 'a', 't', 'e', '\030', '\004', ' ', +'\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'U', 'p', 'd', 'a', +'t', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', 'S', 't', 'a', 't', 'e', 'R', '\n', 'e', 'r', 'r', 'o', 'r', 'S', 't', 'a', 't', +'e', '\022', 'I', '\n', '\r', 'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', 'a', 't', 'u', 's', '\030', '\005', ' ', '\001', '(', '\016', '2', +'$', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'R', 'e', +'s', 'o', 'u', 'r', 'c', 'e', 'S', 't', 'a', 't', 'u', 's', 'R', '\014', 'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', +'s', ':', '>', '\232', '\305', '\210', '\036', '9', '\n', '7', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', +'l', 'p', 'h', 'a', '.', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', +'a', 'm', 'i', 'c', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', ':', '+', '\232', '\305', '\210', '\036', '&', '\n', '$', 'e', +'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'R', 'o', 'u', 't', 'e', 's', +'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\"', '\214', '\010', '\n', '\026', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', +'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\022', '~', '\n', '\033', 'i', 'n', 'l', 'i', 'n', 'e', '_', 's', 'c', +'o', 'p', 'e', 'd', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', +'?', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', +'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'I', 'n', 'l', 'i', 'n', 'e', 'S', 'c', 'o', 'p', +'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', 'R', '\030', 'i', 'n', 'l', 'i', 'n', 'e', 'S', 'c', 'o', +'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\022', '\201', '\001', '\n', '\034', 'd', 'y', 'n', 'a', 'm', +'i', 'c', '_', 's', 'c', 'o', 'p', 'e', 'd', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\002', +' ', '\003', '(', '\013', '2', '@', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'S', 'c', 'o', +'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', +'i', 'c', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', 'R', '\031', 'd', 'y', 'n', +'a', 'm', 'i', 'c', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\032', '\201', '\002', +'\n', '\030', 'I', 'n', 'l', 'i', 'n', 'e', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', +'s', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', 'F', '\n', '\024', +'s', 'c', 'o', 'p', 'e', 'd', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\002', ' ', '\003', '(', +'\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\022', +'s', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\022', '=', '\n', '\014', 'l', 'a', 's', +'t', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\003', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', +'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', +'p', 'd', 'a', 't', 'e', 'd', ':', 'J', '\232', '\305', '\210', '\036', 'E', '\n', 'C', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', +'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', +'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'I', 'n', 'l', 'i', 'n', 'e', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', +'C', 'o', 'n', 'f', 'i', 'g', 's', '\032', '\266', '\003', '\n', '\031', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'S', 'c', 'o', 'p', 'e', 'd', +'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', +'\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '!', '\n', '\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\002', +' ', '\001', '(', '\t', 'R', '\013', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', 'F', '\n', '\024', 's', 'c', 'o', 'p', +'e', 'd', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\024', '.', +'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\022', 's', 'c', 'o', 'p', +'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', +'d', 'a', 't', 'e', 'd', '\030', '\004', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', +'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', +'e', 'd', '\022', 'C', '\n', '\013', 'e', 'r', 'r', 'o', 'r', '_', 's', 't', 'a', 't', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\"', +'.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', +'l', 'u', 'r', 'e', 'S', 't', 'a', 't', 'e', 'R', '\n', 'e', 'r', 'r', 'o', 'r', 'S', 't', 'a', 't', 'e', '\022', 'I', '\n', '\r', +'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', 'a', 't', 'u', 's', '\030', '\006', ' ', '\001', '(', '\016', '2', '$', '.', 'e', 'n', 'v', +'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'R', 'e', 's', 'o', 'u', 'r', 'c', +'e', 'S', 't', 'a', 't', 'u', 's', 'R', '\014', 'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', ':', 'K', '\232', '\305', +'\210', '\036', 'F', '\n', 'D', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', +'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', +'n', 'a', 'm', 'i', 'c', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', 's', ':', '1', +'\232', '\305', '\210', '\036', ',', '\n', '*', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', +'a', '.', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\"', +'\267', '\007', '\n', '\021', 'S', 'e', 'c', 'r', 'e', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '\022', 'U', '\n', '\016', +'s', 't', 'a', 't', 'i', 'c', '_', 's', 'e', 'c', 'r', 'e', 't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '.', '.', 'e', 'n', +'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'S', 'e', 'c', 'r', 'e', 't', 's', 'C', 'o', 'n', 'f', 'i', +'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', 'S', 'e', 'c', 'r', 'e', 't', 'R', '\r', 's', 't', 'a', 't', 'i', +'c', 'S', 'e', 'c', 'r', 'e', 't', 's', '\022', 'e', '\n', '\026', 'd', 'y', 'n', 'a', 'm', 'i', 'c', '_', 'a', 'c', 't', 'i', 'v', +'e', '_', 's', 'e', 'c', 'r', 'e', 't', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '/', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', +'d', 'm', 'i', 'n', '.', 'v', '3', '.', 'S', 'e', 'c', 'r', 'e', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', +'.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'S', 'e', 'c', 'r', 'e', 't', 'R', '\024', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'A', 'c', +'t', 'i', 'v', 'e', 'S', 'e', 'c', 'r', 'e', 't', 's', '\022', 'g', '\n', '\027', 'd', 'y', 'n', 'a', 'm', 'i', 'c', '_', 'w', 'a', +'r', 'm', 'i', 'n', 'g', '_', 's', 'e', 'c', 'r', 'e', 't', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '/', '.', 'e', 'n', 'v', +'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'S', 'e', 'c', 'r', 'e', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', +'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'S', 'e', 'c', 'r', 'e', 't', 'R', '\025', 'd', 'y', 'n', 'a', 'm', +'i', 'c', 'W', 'a', 'r', 'm', 'i', 'n', 'g', 'S', 'e', 'c', 'r', 'e', 't', 's', '\032', '\377', '\002', '\n', '\r', 'D', 'y', 'n', 'a', +'m', 'i', 'c', 'S', 'e', 'c', 'r', 'e', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', +'n', 'a', 'm', 'e', '\022', '!', '\n', '\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', '\002', ' ', '\001', '(', +'\t', 'R', '\013', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', +'d', 'a', 't', 'e', 'd', '\030', '\003', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', +'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', +'e', 'd', '\022', ',', '\n', '\006', 's', 'e', 'c', 'r', 'e', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', +'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\006', 's', 'e', 'c', 'r', 'e', 't', '\022', 'C', +'\n', '\013', 'e', 'r', 'r', 'o', 'r', '_', 's', 't', 'a', 't', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', +'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', +'S', 't', 'a', 't', 'e', 'R', '\n', 'e', 'r', 'r', 'o', 'r', 'S', 't', 'a', 't', 'e', '\022', 'I', '\n', '\r', 'c', 'l', 'i', 'e', +'n', 't', '_', 's', 't', 'a', 't', 'u', 's', '\030', '\006', ' ', '\001', '(', '\016', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', +'d', 'm', 'i', 'n', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'S', 't', 'a', +'t', 'u', 's', 'R', '\014', 'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', ':', ':', '\232', '\305', '\210', '\036', '5', '\n', +'3', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'S', 'e', 'c', 'r', +'e', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'S', 'e', 'c', 'r', +'e', 't', '\032', '\312', '\001', '\n', '\014', 'S', 't', 'a', 't', 'i', 'c', 'S', 'e', 'c', 'r', 'e', 't', '\022', '\022', '\n', '\004', 'n', 'a', +'m', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', +'d', 'a', 't', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', +'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', +'e', 'd', '\022', ',', '\n', '\006', 's', 'e', 'c', 'r', 'e', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', +'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\006', 's', 'e', 'c', 'r', 'e', 't', ':', '9', +'\232', '\305', '\210', '\036', '4', '\n', '2', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', +'a', '.', 'S', 'e', 'c', 'r', 'e', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', 'a', 't', 'i', +'c', 'S', 'e', 'c', 'r', 'e', 't', ':', ',', '\232', '\305', '\210', '\036', '\'', '\n', '%', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', +'i', 'n', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'S', 'e', 'c', 'r', 'e', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', +'u', 'm', 'p', '\"', '\336', '\005', '\n', '\023', 'E', 'n', 'd', 'p', 'o', 'i', 'n', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', +'m', 'p', '\022', 'p', '\n', '\027', 's', 't', 'a', 't', 'i', 'c', '_', 'e', 'n', 'd', 'p', 'o', 'i', 'n', 't', '_', 'c', 'o', 'n', +'f', 'i', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '8', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', +'v', '3', '.', 'E', 'n', 'd', 'p', 'o', 'i', 'n', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'S', 't', +'a', 't', 'i', 'c', 'E', 'n', 'd', 'p', 'o', 'i', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\025', 's', 't', 'a', 't', 'i', +'c', 'E', 'n', 'd', 'p', 'o', 'i', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\022', 's', '\n', '\030', 'd', 'y', 'n', 'a', 'm', +'i', 'c', '_', 'e', 'n', 'd', 'p', 'o', 'i', 'n', 't', '_', 'c', 'o', 'n', 'f', 'i', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', +'2', '9', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'E', 'n', 'd', 'p', 'o', 'i', 'n', +'t', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'E', 'n', 'd', 'p', 'o', +'i', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\026', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'E', 'n', 'd', 'p', 'o', 'i', 'n', +'t', 'C', 'o', 'n', 'f', 'i', 'g', 's', '\032', '\224', '\001', '\n', '\024', 'S', 't', 'a', 't', 'i', 'c', 'E', 'n', 'd', 'p', 'o', 'i', +'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '=', '\n', '\017', 'e', 'n', 'd', 'p', 'o', 'i', 'n', 't', '_', 'c', 'o', 'n', 'f', +'i', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', +'f', '.', 'A', 'n', 'y', 'R', '\016', 'e', 'n', 'd', 'p', 'o', 'i', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '=', '\n', '\014', +'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', +'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', 'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', +'s', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', '\032', '\310', '\002', '\n', '\025', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'E', 'n', 'd', 'p', +'o', 'i', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '!', '\n', '\014', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'i', 'n', 'f', +'o', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', '=', '\n', '\017', 'e', +'n', 'd', 'p', 'o', 'i', 'n', 't', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', +'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\016', 'e', 'n', 'd', 'p', 'o', 'i', +'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '=', '\n', '\014', 'l', 'a', 's', 't', '_', 'u', 'p', 'd', 'a', 't', 'e', 'd', '\030', +'\003', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'T', +'i', 'm', 'e', 's', 't', 'a', 'm', 'p', 'R', '\013', 'l', 'a', 's', 't', 'U', 'p', 'd', 'a', 't', 'e', 'd', '\022', 'C', '\n', '\013', +'e', 'r', 'r', 'o', 'r', '_', 's', 't', 'a', 't', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', +'.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'U', 'p', 'd', 'a', 't', 'e', 'F', 'a', 'i', 'l', 'u', 'r', 'e', 'S', 't', +'a', 't', 'e', 'R', '\n', 'e', 'r', 'r', 'o', 'r', 'S', 't', 'a', 't', 'e', '\022', 'I', '\n', '\r', 'c', 'l', 'i', 'e', 'n', 't', +'_', 's', 't', 'a', 't', 'u', 's', '\030', '\005', ' ', '\001', '(', '\016', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', +'i', 'n', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'S', 't', 'a', 't', 'u', +'s', 'R', '\014', 'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', '*', ']', '\n', '\024', 'C', 'l', 'i', 'e', 'n', 't', +'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'S', 't', 'a', 't', 'u', 's', '\022', '\013', '\n', '\007', 'U', 'N', 'K', 'N', 'O', 'W', 'N', +'\020', '\000', '\022', '\r', '\n', '\t', 'R', 'E', 'Q', 'U', 'E', 'S', 'T', 'E', 'D', '\020', '\001', '\022', '\022', '\n', '\016', 'D', 'O', 'E', 'S', +'_', 'N', 'O', 'T', '_', 'E', 'X', 'I', 'S', 'T', '\020', '\002', '\022', '\t', '\n', '\005', 'A', 'C', 'K', 'E', 'D', '\020', '\003', '\022', '\n', +'\n', '\006', 'N', 'A', 'C', 'K', 'E', 'D', '\020', '\004', 'B', '9', '\n', '\034', 'i', 'o', '.', 'e', 'n', 'v', 'o', 'y', 'p', 'r', 'o', +'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', 'B', '\017', 'C', 'o', 'n', 'f', 'i', 'g', +'D', 'u', 'm', 'p', 'P', 'r', 'o', 't', 'o', 'P', '\001', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', +'o', '3', +}; + +static upb_def_init *deps[6] = { + &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit, + &google_protobuf_any_proto_upbdefinit, + &google_protobuf_timestamp_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_admin_v3_config_dump_proto_upbdefinit = { + deps, + layouts, + "envoy/admin/v3/config_dump.proto", + UPB_STRVIEW_INIT(descriptor, 6802) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h new file mode 100644 index 00000000000..8e62d4e4444 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h @@ -0,0 +1,140 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/admin/v3/config_dump.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_ADMIN_V3_CONFIG_DUMP_PROTO_UPBDEFS_H_ +#define ENVOY_ADMIN_V3_CONFIG_DUMP_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_admin_v3_config_dump_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_UpdateFailureState_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.UpdateFailureState"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_BootstrapConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.BootstrapConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ListenersConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ListenersConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ListenersConfigDump_StaticListener_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ListenersConfigDump.StaticListener"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ListenersConfigDump_DynamicListenerState_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ListenersConfigDump.DynamicListenerState"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ListenersConfigDump_DynamicListener_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ListenersConfigDump.DynamicListener"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ClustersConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ClustersConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ClustersConfigDump_StaticCluster_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ClustersConfigDump.StaticCluster"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ClustersConfigDump_DynamicCluster_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ClustersConfigDump.DynamicCluster"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_RoutesConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.RoutesConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_RoutesConfigDump_StaticRouteConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.RoutesConfigDump.StaticRouteConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ScopedRoutesConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ScopedRoutesConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ScopedRoutesConfigDump_InlineScopedRouteConfigs_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_ScopedRoutesConfigDump_DynamicScopedRouteConfigs_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_SecretsConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.SecretsConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_SecretsConfigDump_DynamicSecret_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.SecretsConfigDump.DynamicSecret"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_SecretsConfigDump_StaticSecret_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.SecretsConfigDump.StaticSecret"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_EndpointsConfigDump_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.EndpointsConfigDump"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_EndpointsConfigDump_StaticEndpointConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_admin_v3_config_dump_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_ADMIN_V3_CONFIG_DUMP_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c new file mode 100644 index 00000000000..f86bfe76f4a --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c @@ -0,0 +1,383 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/bootstrap/v3/bootstrap.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/config/bootstrap/v3/bootstrap.upbdefs.h" + +extern upb_def_init envoy_config_cluster_v3_cluster_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_address_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_base_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_config_source_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_event_service_config_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_extension_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_socket_option_proto_upbdefinit; +extern upb_def_init envoy_config_listener_v3_listener_proto_upbdefinit; +extern upb_def_init envoy_config_metrics_v3_stats_proto_upbdefinit; +extern upb_def_init envoy_config_overload_v3_overload_proto_upbdefinit; +extern upb_def_init envoy_config_trace_v3_http_tracer_proto_upbdefinit; +extern upb_def_init envoy_extensions_transport_sockets_tls_v3_secret_proto_upbdefinit; +extern upb_def_init envoy_type_v3_percent_proto_upbdefinit; +extern upb_def_init google_protobuf_duration_proto_upbdefinit; +extern upb_def_init google_protobuf_struct_proto_upbdefinit; +extern upb_def_init google_protobuf_wrappers_proto_upbdefinit; +extern upb_def_init udpa_annotations_migrate_proto_upbdefinit; +extern upb_def_init udpa_annotations_security_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern upb_def_init validate_validate_proto_upbdefinit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Admin_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_ClusterManager_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Watchdogs_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Watchdog_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_FatalAction_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_Runtime_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit; +extern const upb_msglayout envoy_config_bootstrap_v3_LayeredRuntime_msginit; + +static const upb_msglayout *layouts[17] = { + &envoy_config_bootstrap_v3_Bootstrap_msginit, + &envoy_config_bootstrap_v3_Bootstrap_StaticResources_msginit, + &envoy_config_bootstrap_v3_Bootstrap_DynamicResources_msginit, + &envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_msginit, + &envoy_config_bootstrap_v3_Admin_msginit, + &envoy_config_bootstrap_v3_ClusterManager_msginit, + &envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_msginit, + &envoy_config_bootstrap_v3_Watchdogs_msginit, + &envoy_config_bootstrap_v3_Watchdog_msginit, + &envoy_config_bootstrap_v3_Watchdog_WatchdogAction_msginit, + &envoy_config_bootstrap_v3_FatalAction_msginit, + &envoy_config_bootstrap_v3_Runtime_msginit, + &envoy_config_bootstrap_v3_RuntimeLayer_msginit, + &envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_msginit, + &envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_msginit, + &envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_msginit, + &envoy_config_bootstrap_v3_LayeredRuntime_msginit, +}; + +static const char descriptor[6993] = {'\n', ')', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '/', +'v', '3', '/', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'p', 'r', 'o', 't', 'o', '\022', '\031', 'e', 'n', 'v', 'o', 'y', +'.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '\032', '%', 'e', 'n', 'v', +'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'l', 'u', 's', 't', 'e', 'r', '/', 'v', '3', '/', 'c', 'l', 'u', 's', +'t', 'e', 'r', '.', 'p', 'r', 'o', 't', 'o', '\032', '\"', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', +'o', 'r', 'e', '/', 'v', '3', '/', 'a', 'd', 'd', 'r', 'e', 's', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '\037', 'e', 'n', 'v', +'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', '/', 'b', 'a', 's', 'e', '.', 'p', 'r', +'o', 't', 'o', '\032', '(', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', +'/', 'c', 'o', 'n', 'f', 'i', 'g', '_', 's', 'o', 'u', 'r', 'c', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', '/', 'e', 'n', 'v', +'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', '/', 'e', 'v', 'e', 'n', 't', '_', 's', +'e', 'r', 'v', 'i', 'c', 'e', '_', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '$', 'e', 'n', 'v', 'o', +'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', '/', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', +'n', '.', 'p', 'r', 'o', 't', 'o', '\032', '(', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', +'e', '/', 'v', '3', '/', 's', 'o', 'c', 'k', 'e', 't', '_', 'o', 'p', 't', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', 'o', '\032', +'\'', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '/', 'v', '3', +'/', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '.', 'p', 'r', 'o', 't', 'o', '\032', '#', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', +'n', 'f', 'i', 'g', '/', 'm', 'e', 't', 'r', 'i', 'c', 's', '/', 'v', '3', '/', 's', 't', 'a', 't', 's', '.', 'p', 'r', 'o', +'t', 'o', '\032', '\'', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', +'/', 'v', '3', '/', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'p', 'r', 'o', 't', 'o', '\032', '\'', 'e', 'n', 'v', 'o', 'y', +'/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 't', 'r', 'a', 'c', 'e', '/', 'v', '3', '/', 'h', 't', 't', 'p', '_', 't', 'r', 'a', +'c', 'e', 'r', '.', 'p', 'r', 'o', 't', 'o', '\032', '6', 'e', 'n', 'v', 'o', 'y', '/', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', +'n', 's', '/', 't', 'r', 'a', 'n', 's', 'p', 'o', 'r', 't', '_', 's', 'o', 'c', 'k', 'e', 't', 's', '/', 't', 'l', 's', '/', +'v', '3', '/', 's', 'e', 'c', 'r', 'e', 't', '.', 'p', 'r', 'o', 't', 'o', '\032', '\033', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', +'p', 'e', '/', 'v', '3', '/', 'p', 'e', 'r', 'c', 'e', 'n', 't', '.', 'p', 'r', 'o', 't', 'o', '\032', '\036', 'g', 'o', 'o', 'g', +'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', +'o', '\032', '\034', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 's', 't', 'r', 'u', 'c', 't', +'.', 'p', 'r', 'o', 't', 'o', '\032', '\036', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'w', +'r', 'a', 'p', 'p', 'e', 'r', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '\036', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', +'a', 't', 'i', 'o', 'n', 's', '/', 'm', 'i', 'g', 'r', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', '\037', 'u', 'd', 'p', +'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'p', 'r', +'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', +'t', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', +'n', 's', '/', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '\027', 'v', 'a', 'l', 'i', +'d', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\"', '\341', '\026', '\n', '\t', 'B', +'o', 'o', 't', 's', 't', 'r', 'a', 'p', '\022', '.', '\n', '\004', 'n', 'o', 'd', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', +'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'N', 'o', 'd', 'e', +'R', '\004', 'n', 'o', 'd', 'e', '\022', '.', '\n', '\023', 'n', 'o', 'd', 'e', '_', 'c', 'o', 'n', 't', 'e', 'x', 't', '_', 'p', 'a', +'r', 'a', 'm', 's', '\030', '\032', ' ', '\003', '(', '\t', 'R', '\021', 'n', 'o', 'd', 'e', 'C', 'o', 'n', 't', 'e', 'x', 't', 'P', 'a', +'r', 'a', 'm', 's', '\022', '_', '\n', '\020', 's', 't', 'a', 't', 'i', 'c', '_', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '\030', +'\002', ' ', '\001', '(', '\013', '2', '4', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', +'s', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', +'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', 'R', '\017', 's', 't', 'a', 't', 'i', 'c', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', +'s', '\022', 'b', '\n', '\021', 'd', 'y', 'n', 'a', 'm', 'i', 'c', '_', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '\030', '\003', ' ', +'\001', '(', '\013', '2', '5', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', +'r', 'a', 'p', '.', 'v', '3', '.', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'R', +'e', 's', 'o', 'u', 'r', 'c', 'e', 's', 'R', '\020', 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', +'s', '\022', 'R', '\n', '\017', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'm', 'a', 'n', 'a', 'g', 'e', 'r', '\030', '\004', ' ', '\001', '(', +'\013', '2', ')', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', +'p', '.', 'v', '3', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 'M', 'a', 'n', 'a', 'g', 'e', 'r', 'R', '\016', 'c', 'l', 'u', 's', +'t', 'e', 'r', 'M', 'a', 'n', 'a', 'g', 'e', 'r', '\022', 'D', '\n', '\n', 'h', 'd', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', +'\016', ' ', '\001', '(', '\013', '2', '%', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', +'.', 'v', '3', '.', 'A', 'p', 'i', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', 'R', '\t', 'h', 'd', 's', 'C', +'o', 'n', 'f', 'i', 'g', '\022', '\035', '\n', '\n', 'f', 'l', 'a', 'g', 's', '_', 'p', 'a', 't', 'h', '\030', '\005', ' ', '\001', '(', '\t', +'R', '\t', 'f', 'l', 'a', 'g', 's', 'P', 'a', 't', 'h', '\022', 'C', '\n', '\013', 's', 't', 'a', 't', 's', '_', 's', 'i', 'n', 'k', +'s', '\030', '\006', ' ', '\003', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', +'t', 'r', 'i', 'c', 's', '.', 'v', '3', '.', 'S', 't', 'a', 't', 's', 'S', 'i', 'n', 'k', 'R', '\n', 's', 't', 'a', 't', 's', +'S', 'i', 'n', 'k', 's', '\022', 'G', '\n', '\014', 's', 't', 'a', 't', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\r', ' ', '\001', +'(', '\013', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', 's', +'.', 'v', '3', '.', 'S', 't', 'a', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\013', 's', 't', 'a', 't', 's', 'C', 'o', 'n', +'f', 'i', 'g', '\022', 'q', '\n', '\024', 's', 't', 'a', 't', 's', '_', 'f', 'l', 'u', 's', 'h', '_', 'i', 'n', 't', 'e', 'r', 'v', +'a', 'l', '\030', '\007', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', +'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'B', '$', '\372', 'B', '\016', '\252', '\001', '\013', '\032', '\003', '\010', '\254', '\002', '2', '\004', +'\020', '\300', '\204', '=', '\362', '\230', '\376', '\217', '\005', '\r', '\022', '\013', 's', 't', 'a', 't', 's', '_', 'f', 'l', 'u', 's', 'h', 'R', '\022', +'s', 't', 'a', 't', 's', 'F', 'l', 'u', 's', 'h', 'I', 'n', 't', 'e', 'r', 'v', 'a', 'l', '\022', ':', '\n', '\024', 's', 't', 'a', +'t', 's', '_', 'f', 'l', 'u', 's', 'h', '_', 'o', 'n', '_', 'a', 'd', 'm', 'i', 'n', '\030', '\035', ' ', '\001', '(', '\010', 'B', '\007', +'\372', 'B', '\004', 'j', '\002', '\010', '\001', 'H', '\000', 'R', '\021', 's', 't', 'a', 't', 's', 'F', 'l', 'u', 's', 'h', 'O', 'n', 'A', 'd', +'m', 'i', 'n', '\022', 'C', '\n', '\010', 'w', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\030', '\010', ' ', '\001', '(', '\013', '2', '#', '.', 'e', +'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', +'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 'B', '\002', '\030', '\001', 'R', '\010', 'w', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\022', 'B', '\n', +'\t', 'w', 'a', 't', 'c', 'h', 'd', 'o', 'g', 's', '\030', '\033', ' ', '\001', '(', '\013', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', +'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'W', 'a', 't', 'c', 'h', +'d', 'o', 'g', 's', 'R', '\t', 'w', 'a', 't', 'c', 'h', 'd', 'o', 'g', 's', '\022', '<', '\n', '\007', 't', 'r', 'a', 'c', 'i', 'n', +'g', '\030', '\t', ' ', '\001', '(', '\013', '2', '\036', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 't', 'r', +'a', 'c', 'e', '.', 'v', '3', '.', 'T', 'r', 'a', 'c', 'i', 'n', 'g', 'B', '\002', '\030', '\001', 'R', '\007', 't', 'r', 'a', 'c', 'i', +'n', 'g', '\022', 'R', '\n', '\017', 'l', 'a', 'y', 'e', 'r', 'e', 'd', '_', 'r', 'u', 'n', 't', 'i', 'm', 'e', '\030', '\021', ' ', '\001', +'(', '\013', '2', ')', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', +'a', 'p', '.', 'v', '3', '.', 'L', 'a', 'y', 'e', 'r', 'e', 'd', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'R', '\016', 'l', 'a', 'y', +'e', 'r', 'e', 'd', 'R', 'u', 'n', 't', 'i', 'm', 'e', '\022', '6', '\n', '\005', 'a', 'd', 'm', 'i', 'n', '\030', '\014', ' ', '\001', '(', +'\013', '2', ' ', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', +'p', '.', 'v', '3', '.', 'A', 'd', 'm', 'i', 'n', 'R', '\005', 'a', 'd', 'm', 'i', 'n', '\022', 'd', '\n', '\020', 'o', 'v', 'e', 'r', +'l', 'o', 'a', 'd', '_', 'm', 'a', 'n', 'a', 'g', 'e', 'r', '\030', '\017', ' ', '\001', '(', '\013', '2', ')', '.', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'O', 'v', 'e', 'r', +'l', 'o', 'a', 'd', 'M', 'a', 'n', 'a', 'g', 'e', 'r', 'B', '\016', '\212', '\223', '\267', '*', '\002', '\010', '\001', '\212', '\223', '\267', '*', '\002', +'\020', '\001', 'R', '\017', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'M', 'a', 'n', 'a', 'g', 'e', 'r', '\022', '6', '\n', '\027', 'e', 'n', +'a', 'b', 'l', 'e', '_', 'd', 'i', 's', 'p', 'a', 't', 'c', 'h', 'e', 'r', '_', 's', 't', 'a', 't', 's', '\030', '\020', ' ', '\001', +'(', '\010', 'R', '\025', 'e', 'n', 'a', 'b', 'l', 'e', 'D', 'i', 's', 'p', 'a', 't', 'c', 'h', 'e', 'r', 'S', 't', 'a', 't', 's', +'\022', '#', '\n', '\r', 'h', 'e', 'a', 'd', 'e', 'r', '_', 'p', 'r', 'e', 'f', 'i', 'x', '\030', '\022', ' ', '\001', '(', '\t', 'R', '\014', +'h', 'e', 'a', 'd', 'e', 'r', 'P', 'r', 'e', 'f', 'i', 'x', '\022', '_', '\n', '\035', 's', 't', 'a', 't', 's', '_', 's', 'e', 'r', +'v', 'e', 'r', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\023', ' ', '\001', '(', +'\013', '2', '\034', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'U', 'I', 'n', 't', '6', +'4', 'V', 'a', 'l', 'u', 'e', 'R', '\032', 's', 't', 'a', 't', 's', 'S', 'e', 'r', 'v', 'e', 'r', 'V', 'e', 'r', 's', 'i', 'o', +'n', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\022', '4', '\n', '\027', 'u', 's', 'e', '_', 't', 'c', 'p', '_', 'f', 'o', 'r', '_', +'d', 'n', 's', '_', 'l', 'o', 'o', 'k', 'u', 'p', 's', '\030', '\024', ' ', '\001', '(', '\010', 'R', '\023', 'u', 's', 'e', 'T', 'c', 'p', +'F', 'o', 'r', 'D', 'n', 's', 'L', 'o', 'o', 'k', 'u', 'p', 's', '\022', ']', '\n', '\024', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', +'p', '_', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '\030', '\025', ' ', '\003', '(', '\013', '2', '*', '.', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'T', 'y', 'p', 'e', 'd', 'E', 'x', 't', +'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\023', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', 'E', 'x', +'t', 'e', 'n', 's', 'i', 'o', 'n', 's', '\022', 'K', '\n', '\r', 'f', 'a', 't', 'a', 'l', '_', 'a', 'c', 't', 'i', 'o', 'n', 's', +'\030', '\034', ' ', '\003', '(', '\013', '2', '&', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', +'t', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'F', 'a', 't', 'a', 'l', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\014', 'f', 'a', +'t', 'a', 'l', 'A', 'c', 't', 'i', 'o', 'n', 's', '\022', 'I', '\n', '\016', 'c', 'o', 'n', 'f', 'i', 'g', '_', 's', 'o', 'u', 'r', +'c', 'e', 's', '\030', '\026', ' ', '\003', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', +'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', 'R', '\r', 'c', 'o', 'n', +'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', 's', '\022', 'V', '\n', '\025', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 'c', 'o', 'n', +'f', 'i', 'g', '_', 's', 'o', 'u', 'r', 'c', 'e', '\030', '\027', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', +'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', +'c', 'e', 'R', '\023', 'd', 'e', 'f', 'a', 'u', 'l', 't', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', '\022', '8', +'\n', '\030', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 's', 'o', 'c', 'k', 'e', 't', '_', 'i', 'n', 't', 'e', 'r', 'f', 'a', 'c', +'e', '\030', '\030', ' ', '\001', '(', '\t', 'R', '\026', 'd', 'e', 'f', 'a', 'u', 'l', 't', 'S', 'o', 'c', 'k', 'e', 't', 'I', 'n', 't', +'e', 'r', 'f', 'a', 'c', 'e', '\022', '\214', '\001', '\n', '\036', 'c', 'e', 'r', 't', 'i', 'f', 'i', 'c', 'a', 't', 'e', '_', 'p', 'r', +'o', 'v', 'i', 'd', 'e', 'r', '_', 'i', 'n', 's', 't', 'a', 'n', 'c', 'e', 's', '\030', '\031', ' ', '\003', '(', '\013', '2', 'F', '.', +'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', +'.', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'C', 'e', 'r', 't', 'i', 'f', 'i', 'c', 'a', 't', 'e', 'P', 'r', 'o', +'v', 'i', 'd', 'e', 'r', 'I', 'n', 's', 't', 'a', 'n', 'c', 'e', 's', 'E', 'n', 't', 'r', 'y', 'R', '\034', 'c', 'e', 'r', 't', +'i', 'f', 'i', 'c', 'a', 't', 'e', 'P', 'r', 'o', 'v', 'i', 'd', 'e', 'r', 'I', 'n', 's', 't', 'a', 'n', 'c', 'e', 's', '\032', +'\232', '\002', '\n', '\017', 'S', 't', 'a', 't', 'i', 'c', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '\022', '@', '\n', '\t', 'l', 'i', +'s', 't', 'e', 'n', 'e', 'r', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', +'f', 'i', 'g', '.', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '.', 'v', '3', '.', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', 'R', +'\t', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', 's', '\022', '<', '\n', '\010', 'c', 'l', 'u', 's', 't', 'e', 'r', 's', '\030', '\002', ' ', +'\003', '(', '\013', '2', ' ', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'l', 'u', 's', 't', 'e', +'r', '.', 'v', '3', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 'R', '\010', 'c', 'l', 'u', 's', 't', 'e', 'r', 's', '\022', 'K', '\n', +'\007', 's', 'e', 'c', 'r', 'e', 't', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '1', '.', 'e', 'n', 'v', 'o', 'y', '.', 'e', 'x', +'t', 'e', 'n', 's', 'i', 'o', 'n', 's', '.', 't', 'r', 'a', 'n', 's', 'p', 'o', 'r', 't', '_', 's', 'o', 'c', 'k', 'e', 't', +'s', '.', 't', 'l', 's', '.', 'v', '3', '.', 'S', 'e', 'c', 'r', 'e', 't', 'R', '\007', 's', 'e', 'c', 'r', 'e', 't', 's', ':', +':', '\232', '\305', '\210', '\036', '5', '\n', '3', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', +'s', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'S', 't', 'a', 't', 'i', 'c', +'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '\032', '\211', '\003', '\n', '\020', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'R', 'e', 's', 'o', +'u', 'r', 'c', 'e', 's', '\022', 'A', '\n', '\n', 'l', 'd', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\001', ' ', '\001', '(', '\013', +'2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'C', +'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', 'R', '\t', 'l', 'd', 's', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '2', '\n', +'\025', 'l', 'd', 's', '_', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '_', 'l', 'o', 'c', 'a', 't', 'o', 'r', '\030', '\005', ' ', +'\001', '(', '\t', 'R', '\023', 'l', 'd', 's', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', 'L', 'o', 'c', 'a', 't', 'o', 'r', '\022', +'A', '\n', '\n', 'c', 'd', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', +'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'C', 'o', 'n', 'f', 'i', 'g', 'S', +'o', 'u', 'r', 'c', 'e', 'R', '\t', 'c', 'd', 's', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '2', '\n', '\025', 'c', 'd', 's', '_', 'r', +'e', 's', 'o', 'u', 'r', 'c', 'e', 's', '_', 'l', 'o', 'c', 'a', 't', 'o', 'r', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\023', 'c', +'d', 's', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', 'L', 'o', 'c', 'a', 't', 'o', 'r', '\022', 'D', '\n', '\n', 'a', 'd', 's', +'_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '%', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', +'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'A', 'p', 'i', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', +'c', 'e', 'R', '\t', 'a', 'd', 's', 'C', 'o', 'n', 'f', 'i', 'g', ':', ';', '\232', '\305', '\210', '\036', '6', '\n', '4', 'e', 'n', 'v', +'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'B', 'o', +'o', 't', 's', 't', 'r', 'a', 'p', '.', 'D', 'y', 'n', 'a', 'm', 'i', 'c', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 's', 'J', +'\004', '\010', '\004', '\020', '\005', '\032', '{', '\n', '!', 'C', 'e', 'r', 't', 'i', 'f', 'i', 'c', 'a', 't', 'e', 'P', 'r', 'o', 'v', 'i', +'d', 'e', 'r', 'I', 'n', 's', 't', 'a', 'n', 'c', 'e', 's', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', +'\001', ' ', '\001', '(', '\t', 'R', '\003', 'k', 'e', 'y', '\022', '@', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\013', +'2', '*', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'T', +'y', 'p', 'e', 'd', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\005', 'v', 'a', 'l', 'u', +'e', ':', '\002', '8', '\001', ':', '*', '\232', '\305', '\210', '\036', '%', '\n', '#', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', +'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', 'B', +'\r', '\n', '\013', 's', 't', 'a', 't', 's', '_', 'f', 'l', 'u', 's', 'h', 'J', '\004', '\010', '\n', '\020', '\013', 'J', '\004', '\010', '\013', '\020', +'\014', 'R', '\007', 'r', 'u', 'n', 't', 'i', 'm', 'e', '\"', '\376', '\001', '\n', '\005', 'A', 'd', 'm', 'i', 'n', '\022', '&', '\n', '\017', 'a', +'c', 'c', 'e', 's', 's', '_', 'l', 'o', 'g', '_', 'p', 'a', 't', 'h', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'a', 'c', 'c', +'e', 's', 's', 'L', 'o', 'g', 'P', 'a', 't', 'h', '\022', '!', '\n', '\014', 'p', 'r', 'o', 'f', 'i', 'l', 'e', '_', 'p', 'a', 't', +'h', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\013', 'p', 'r', 'o', 'f', 'i', 'l', 'e', 'P', 'a', 't', 'h', '\022', '7', '\n', '\007', 'a', +'d', 'd', 'r', 'e', 's', 's', '\030', '\003', ' ', '\001', '(', '\013', '2', '\035', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', +'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'A', 'd', 'd', 'r', 'e', 's', 's', 'R', '\007', 'a', 'd', 'd', 'r', 'e', +'s', 's', '\022', 'I', '\n', '\016', 's', 'o', 'c', 'k', 'e', 't', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', +'\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', +'S', 'o', 'c', 'k', 'e', 't', 'O', 'p', 't', 'i', 'o', 'n', 'R', '\r', 's', 'o', 'c', 'k', 'e', 't', 'O', 'p', 't', 'i', 'o', +'n', 's', ':', '&', '\232', '\305', '\210', '\036', '!', '\n', '\037', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', +'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'A', 'd', 'm', 'i', 'n', '\"', '\313', '\004', '\n', '\016', 'C', 'l', 'u', +'s', 't', 'e', 'r', 'M', 'a', 'n', 'a', 'g', 'e', 'r', '\022', ',', '\n', '\022', 'l', 'o', 'c', 'a', 'l', '_', 'c', 'l', 'u', 's', +'t', 'e', 'r', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\020', 'l', 'o', 'c', 'a', 'l', 'C', 'l', 'u', 's', +'t', 'e', 'r', 'N', 'a', 'm', 'e', '\022', 'g', '\n', '\021', 'o', 'u', 't', 'l', 'i', 'e', 'r', '_', 'd', 'e', 't', 'e', 'c', 't', +'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', ':', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', +'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 'M', 'a', 'n', 'a', 'g', +'e', 'r', '.', 'O', 'u', 't', 'l', 'i', 'e', 'r', 'D', 'e', 't', 'e', 'c', 't', 'i', 'o', 'n', 'R', '\020', 'o', 'u', 't', 'l', +'i', 'e', 'r', 'D', 'e', 't', 'e', 'c', 't', 'i', 'o', 'n', '\022', 'R', '\n', '\024', 'u', 'p', 's', 't', 'r', 'e', 'a', 'm', '_', +'b', 'i', 'n', 'd', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', ' ', '.', 'e', 'n', 'v', 'o', 'y', +'.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'B', 'i', 'n', 'd', 'C', 'o', 'n', 'f', 'i', +'g', 'R', '\022', 'u', 'p', 's', 't', 'r', 'e', 'a', 'm', 'B', 'i', 'n', 'd', 'C', 'o', 'n', 'f', 'i', 'g', '\022', 'Q', '\n', '\021', +'l', 'o', 'a', 'd', '_', 's', 't', 'a', 't', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\004', ' ', '\001', '(', '\013', '2', '%', +'.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'A', 'p', 'i', +'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', 'R', '\017', 'l', 'o', 'a', 'd', 'S', 't', 'a', 't', 's', 'C', 'o', +'n', 'f', 'i', 'g', '\032', '\311', '\001', '\n', '\020', 'O', 'u', 't', 'l', 'i', 'e', 'r', 'D', 'e', 't', 'e', 'c', 't', 'i', 'o', 'n', +'\022', '$', '\n', '\016', 'e', 'v', 'e', 'n', 't', '_', 'l', 'o', 'g', '_', 'p', 'a', 't', 'h', '\030', '\001', ' ', '\001', '(', '\t', 'R', +'\014', 'e', 'v', 'e', 'n', 't', 'L', 'o', 'g', 'P', 'a', 't', 'h', '\022', 'M', '\n', '\r', 'e', 'v', 'e', 'n', 't', '_', 's', 'e', +'r', 'v', 'i', 'c', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '(', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', +'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'E', 'v', 'e', 'n', 't', 'S', 'e', 'r', 'v', 'i', 'c', 'e', 'C', 'o', 'n', +'f', 'i', 'g', 'R', '\014', 'e', 'v', 'e', 'n', 't', 'S', 'e', 'r', 'v', 'i', 'c', 'e', ':', '@', '\232', '\305', '\210', '\036', ';', '\n', +'9', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', +'2', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', 'M', 'a', 'n', 'a', 'g', 'e', 'r', '.', 'O', 'u', 't', 'l', 'i', 'e', 'r', 'D', +'e', 't', 'e', 'c', 't', 'i', 'o', 'n', ':', '/', '\232', '\305', '\210', '\036', '*', '\n', '(', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', +'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'C', 'l', 'u', 's', 't', 'e', 'r', +'M', 'a', 'n', 'a', 'g', 'e', 'r', '\"', '\260', '\001', '\n', '\t', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 's', '\022', 'U', '\n', '\024', +'m', 'a', 'i', 'n', '_', 't', 'h', 'r', 'e', 'a', 'd', '_', 'w', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\030', '\001', ' ', '\001', '(', +'\013', '2', '#', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', +'p', '.', 'v', '3', '.', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 'R', '\022', 'm', 'a', 'i', 'n', 'T', 'h', 'r', 'e', 'a', 'd', +'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\022', 'L', '\n', '\017', 'w', 'o', 'r', 'k', 'e', 'r', '_', 'w', 'a', 't', 'c', 'h', 'd', +'o', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '#', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', +'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 'R', '\016', 'w', 'o', 'r', +'k', 'e', 'r', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\"', '\272', '\006', '\n', '\010', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\022', +'L', '\n', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '2', '.', 'e', 'n', 'v', 'o', 'y', '.', +'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'W', 'a', 't', 'c', 'h', +'d', 'o', 'g', '.', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\007', 'a', 'c', 't', 'i', 'o', +'n', 's', '\022', '<', '\n', '\014', 'm', 'i', 's', 's', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', +'\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', +'n', 'R', '\013', 'm', 'i', 's', 's', 'T', 'i', 'm', 'e', 'o', 'u', 't', '\022', 'D', '\n', '\020', 'm', 'e', 'g', 'a', 'm', 'i', 's', +'s', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', +'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\017', 'm', 'e', 'g', 'a', 'm', 'i', +'s', 's', 'T', 'i', 'm', 'e', 'o', 'u', 't', '\022', '<', '\n', '\014', 'k', 'i', 'l', 'l', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', +'\030', '\003', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', +'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\013', 'k', 'i', 'l', 'l', 'T', 'i', 'm', 'e', 'o', 'u', 't', '\022', 'Z', '\n', '\027', +'m', 'a', 'x', '_', 'k', 'i', 'l', 'l', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '_', 'j', 'i', 't', 't', 'e', 'r', '\030', '\006', +' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', +'r', 'a', 't', 'i', 'o', 'n', 'B', '\010', '\372', 'B', '\005', '\252', '\001', '\002', '2', '\000', 'R', '\024', 'm', 'a', 'x', 'K', 'i', 'l', 'l', +'T', 'i', 'm', 'e', 'o', 'u', 't', 'J', 'i', 't', 't', 'e', 'r', '\022', 'F', '\n', '\021', 'm', 'u', 'l', 't', 'i', 'k', 'i', 'l', +'l', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', +'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\020', 'm', 'u', 'l', 't', 'i', 'k', +'i', 'l', 'l', 'T', 'i', 'm', 'e', 'o', 'u', 't', '\022', 'G', '\n', '\023', 'm', 'u', 'l', 't', 'i', 'k', 'i', 'l', 'l', '_', 't', +'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\030', '\005', ' ', '\001', '(', '\013', '2', '\026', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', +'p', 'e', '.', 'v', '3', '.', 'P', 'e', 'r', 'c', 'e', 'n', 't', 'R', '\022', 'm', 'u', 'l', 't', 'i', 'k', 'i', 'l', 'l', 'T', +'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\032', '\205', '\002', '\n', '\016', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 'A', 'c', 't', 'i', +'o', 'n', '\022', 'B', '\n', '\006', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '*', '.', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'T', 'y', 'p', 'e', 'd', 'E', 'x', 't', +'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\006', 'c', 'o', 'n', 'f', 'i', 'g', '\022', '`', '\n', '\005', 'e', +'v', 'e', 'n', 't', '\030', '\002', ' ', '\001', '(', '\016', '2', '@', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', +'.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', '.', 'W', 'a', +'t', 'c', 'h', 'd', 'o', 'g', 'A', 'c', 't', 'i', 'o', 'n', '.', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', 'E', 'v', 'e', 'n', +'t', 'B', '\010', '\372', 'B', '\005', '\202', '\001', '\002', '\020', '\001', 'R', '\005', 'e', 'v', 'e', 'n', 't', '\"', 'M', '\n', '\r', 'W', 'a', 't', +'c', 'h', 'd', 'o', 'g', 'E', 'v', 'e', 'n', 't', '\022', '\013', '\n', '\007', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\010', +'\n', '\004', 'K', 'I', 'L', 'L', '\020', '\001', '\022', '\r', '\n', '\t', 'M', 'U', 'L', 'T', 'I', 'K', 'I', 'L', 'L', '\020', '\002', '\022', '\014', +'\n', '\010', 'M', 'E', 'G', 'A', 'M', 'I', 'S', 'S', '\020', '\003', '\022', '\010', '\n', '\004', 'M', 'I', 'S', 'S', '\020', '\004', ':', ')', '\232', +'\305', '\210', '\036', '$', '\n', '\"', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', +'r', 'a', 'p', '.', 'v', '2', '.', 'W', 'a', 't', 'c', 'h', 'd', 'o', 'g', '\"', 'Q', '\n', '\013', 'F', 'a', 't', 'a', 'l', 'A', +'c', 't', 'i', 'o', 'n', '\022', 'B', '\n', '\006', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '*', '.', 'e', +'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'T', 'y', 'p', 'e', 'd', +'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\006', 'c', 'o', 'n', 'f', 'i', 'g', '\"', '\334', +'\001', '\n', '\007', 'R', 'u', 'n', 't', 'i', 'm', 'e', '\022', '!', '\n', '\014', 's', 'y', 'm', 'l', 'i', 'n', 'k', '_', 'r', 'o', 'o', +'t', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 's', 'y', 'm', 'l', 'i', 'n', 'k', 'R', 'o', 'o', 't', '\022', '\"', '\n', '\014', 's', +'u', 'b', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\014', 's', 'u', 'b', 'd', 'i', 'r', +'e', 'c', 't', 'o', 'r', 'y', '\022', '3', '\n', '\025', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '_', 's', 'u', 'b', 'd', 'i', 'r', +'e', 'c', 't', 'o', 'r', 'y', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\024', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', 'S', 'u', 'b', +'d', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\022', '+', '\n', '\004', 'b', 'a', 's', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\027', +'.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'S', 't', 'r', 'u', 'c', 't', 'R', '\004', +'b', 'a', 's', 'e', ':', '(', '\232', '\305', '\210', '\036', '#', '\n', '!', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', +'.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'R', 'u', 'n', 't', 'i', 'm', 'e', '\"', '\333', '\006', '\n', +'\014', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', '\022', '\033', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', +'(', '\t', 'B', '\007', '\372', 'B', '\004', 'r', '\002', '\020', '\001', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '<', '\n', '\014', 's', 't', 'a', 't', +'i', 'c', '_', 'l', 'a', 'y', 'e', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\027', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', +'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'S', 't', 'r', 'u', 'c', 't', 'H', '\000', 'R', '\013', 's', 't', 'a', 't', 'i', 'c', 'L', +'a', 'y', 'e', 'r', '\022', 'R', '\n', '\n', 'd', 'i', 's', 'k', '_', 'l', 'a', 'y', 'e', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', +'1', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', +'v', '3', '.', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', '.', 'D', 'i', 's', 'k', 'L', 'a', 'y', 'e', 'r', +'H', '\000', 'R', '\t', 'd', 'i', 's', 'k', 'L', 'a', 'y', 'e', 'r', '\022', 'U', '\n', '\013', 'a', 'd', 'm', 'i', 'n', '_', 'l', 'a', +'y', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '2', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', +'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', +'.', 'A', 'd', 'm', 'i', 'n', 'L', 'a', 'y', 'e', 'r', 'H', '\000', 'R', '\n', 'a', 'd', 'm', 'i', 'n', 'L', 'a', 'y', 'e', 'r', +'\022', 'R', '\n', '\n', 'r', 't', 'd', 's', '_', 'l', 'a', 'y', 'e', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '1', '.', 'e', 'n', +'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'R', +'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', '.', 'R', 't', 'd', 's', 'L', 'a', 'y', 'e', 'r', 'H', '\000', 'R', '\t', +'r', 't', 'd', 's', 'L', 'a', 'y', 'e', 'r', '\032', '\301', '\001', '\n', '\t', 'D', 'i', 's', 'k', 'L', 'a', 'y', 'e', 'r', '\022', '!', +'\n', '\014', 's', 'y', 'm', 'l', 'i', 'n', 'k', '_', 'r', 'o', 'o', 't', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 's', 'y', 'm', +'l', 'i', 'n', 'k', 'R', 'o', 'o', 't', '\022', '\"', '\n', '\014', 's', 'u', 'b', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\030', +'\003', ' ', '\001', '(', '\t', 'R', '\014', 's', 'u', 'b', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\022', '4', '\n', '\026', 'a', 'p', +'p', 'e', 'n', 'd', '_', 's', 'e', 'r', 'v', 'i', 'c', 'e', '_', 'c', 'l', 'u', 's', 't', 'e', 'r', '\030', '\002', ' ', '\001', '(', +'\010', 'R', '\024', 'a', 'p', 'p', 'e', 'n', 'd', 'S', 'e', 'r', 'v', 'i', 'c', 'e', 'C', 'l', 'u', 's', 't', 'e', 'r', ':', '7', +'\232', '\305', '\210', '\036', '2', '\n', '0', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', +'t', 'r', 'a', 'p', '.', 'v', '2', '.', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', '.', 'D', 'i', 's', 'k', +'L', 'a', 'y', 'e', 'r', '\032', 'F', '\n', '\n', 'A', 'd', 'm', 'i', 'n', 'L', 'a', 'y', 'e', 'r', ':', '8', '\232', '\305', '\210', '\036', +'3', '\n', '1', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', +'.', 'v', '2', '.', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', '.', 'A', 'd', 'm', 'i', 'n', 'L', 'a', 'y', +'e', 'r', '\032', '\235', '\001', '\n', '\t', 'R', 't', 'd', 's', 'L', 'a', 'y', 'e', 'r', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', +'\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', 'C', '\n', '\013', 'r', 't', 'd', 's', '_', 'c', 'o', 'n', 'f', 'i', +'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', +'r', 'e', '.', 'v', '3', '.', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 'o', 'u', 'r', 'c', 'e', 'R', '\n', 'r', 't', 'd', 's', 'C', +'o', 'n', 'f', 'i', 'g', ':', '7', '\232', '\305', '\210', '\036', '2', '\n', '0', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', +'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'L', 'a', 'y', +'e', 'r', '.', 'R', 't', 'd', 's', 'L', 'a', 'y', 'e', 'r', ':', '-', '\232', '\305', '\210', '\036', '(', '\n', '&', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '2', '.', 'R', 'u', 'n', +'t', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', 'B', '\026', '\n', '\017', 'l', 'a', 'y', 'e', 'r', '_', 's', 'p', 'e', 'c', 'i', 'f', +'i', 'e', 'r', '\022', '\003', '\370', 'B', '\001', '\"', '\202', '\001', '\n', '\016', 'L', 'a', 'y', 'e', 'r', 'e', 'd', 'R', 'u', 'n', 't', 'i', +'m', 'e', '\022', '?', '\n', '\006', 'l', 'a', 'y', 'e', 'r', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\'', '.', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', '3', '.', 'R', 'u', 'n', +'t', 'i', 'm', 'e', 'L', 'a', 'y', 'e', 'r', 'R', '\006', 'l', 'a', 'y', 'e', 'r', 's', ':', '/', '\232', '\305', '\210', '\036', '*', '\n', +'(', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', '.', 'v', +'2', '.', 'L', 'a', 'y', 'e', 'r', 'e', 'd', 'R', 'u', 'n', 't', 'i', 'm', 'e', 'B', 'C', '\n', '\'', 'i', 'o', '.', 'e', 'n', +'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'b', 'o', 'o', +'t', 's', 't', 'r', 'a', 'p', '.', 'v', '3', 'B', '\016', 'B', 'o', 'o', 't', 's', 't', 'r', 'a', 'p', 'P', 'r', 'o', 't', 'o', +'P', '\001', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3', +}; + +static upb_def_init *deps[22] = { + &envoy_config_cluster_v3_cluster_proto_upbdefinit, + &envoy_config_core_v3_address_proto_upbdefinit, + &envoy_config_core_v3_base_proto_upbdefinit, + &envoy_config_core_v3_config_source_proto_upbdefinit, + &envoy_config_core_v3_event_service_config_proto_upbdefinit, + &envoy_config_core_v3_extension_proto_upbdefinit, + &envoy_config_core_v3_socket_option_proto_upbdefinit, + &envoy_config_listener_v3_listener_proto_upbdefinit, + &envoy_config_metrics_v3_stats_proto_upbdefinit, + &envoy_config_overload_v3_overload_proto_upbdefinit, + &envoy_config_trace_v3_http_tracer_proto_upbdefinit, + &envoy_extensions_transport_sockets_tls_v3_secret_proto_upbdefinit, + &envoy_type_v3_percent_proto_upbdefinit, + &google_protobuf_duration_proto_upbdefinit, + &google_protobuf_struct_proto_upbdefinit, + &google_protobuf_wrappers_proto_upbdefinit, + &udpa_annotations_migrate_proto_upbdefinit, + &udpa_annotations_security_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + &validate_validate_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit = { + deps, + layouts, + "envoy/config/bootstrap/v3/bootstrap.proto", + UPB_STRVIEW_INIT(descriptor, 6993) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h new file mode 100644 index 00000000000..666cbed19e3 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h @@ -0,0 +1,115 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/bootstrap/v3/bootstrap.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_CONFIG_BOOTSTRAP_V3_BOOTSTRAP_PROTO_UPBDEFS_H_ +#define ENVOY_CONFIG_BOOTSTRAP_V3_BOOTSTRAP_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Bootstrap_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Bootstrap"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Bootstrap_StaticResources_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Bootstrap.StaticResources"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Bootstrap_DynamicResources_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Bootstrap.DynamicResources"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Bootstrap_CertificateProviderInstancesEntry_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Bootstrap.CertificateProviderInstancesEntry"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Admin_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Admin"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_ClusterManager_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.ClusterManager"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_ClusterManager_OutlierDetection_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.ClusterManager.OutlierDetection"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Watchdogs_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Watchdogs"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Watchdog_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Watchdog"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Watchdog_WatchdogAction_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Watchdog.WatchdogAction"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_FatalAction_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.FatalAction"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_Runtime_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.Runtime"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_RuntimeLayer_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.RuntimeLayer"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_RuntimeLayer_DiskLayer_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_RuntimeLayer_AdminLayer_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_RuntimeLayer_RtdsLayer_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer"); +} + +UPB_INLINE const upb_msgdef *envoy_config_bootstrap_v3_LayeredRuntime_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_bootstrap_v3_bootstrap_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.bootstrap.v3.LayeredRuntime"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_CONFIG_BOOTSTRAP_V3_BOOTSTRAP_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c new file mode 100644 index 00000000000..e49149aad7b --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c @@ -0,0 +1,141 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/metrics/v3/stats.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/config/metrics/v3/stats.upbdefs.h" + +extern upb_def_init envoy_config_core_v3_address_proto_upbdefinit; +extern upb_def_init envoy_type_matcher_v3_string_proto_upbdefinit; +extern upb_def_init google_protobuf_any_proto_upbdefinit; +extern upb_def_init google_protobuf_wrappers_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern upb_def_init validate_validate_proto_upbdefinit; +extern const upb_msglayout envoy_config_metrics_v3_StatsSink_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsConfig_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsMatcher_msginit; +extern const upb_msglayout envoy_config_metrics_v3_TagSpecifier_msginit; +extern const upb_msglayout envoy_config_metrics_v3_HistogramBucketSettings_msginit; +extern const upb_msglayout envoy_config_metrics_v3_StatsdSink_msginit; +extern const upb_msglayout envoy_config_metrics_v3_DogStatsdSink_msginit; +extern const upb_msglayout envoy_config_metrics_v3_HystrixSink_msginit; + +static const upb_msglayout *layouts[8] = { + &envoy_config_metrics_v3_StatsSink_msginit, + &envoy_config_metrics_v3_StatsConfig_msginit, + &envoy_config_metrics_v3_StatsMatcher_msginit, + &envoy_config_metrics_v3_TagSpecifier_msginit, + &envoy_config_metrics_v3_HistogramBucketSettings_msginit, + &envoy_config_metrics_v3_StatsdSink_msginit, + &envoy_config_metrics_v3_DogStatsdSink_msginit, + &envoy_config_metrics_v3_HystrixSink_msginit, +}; + +static const char descriptor[2091] = {'\n', '#', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'm', 'e', 't', 'r', 'i', 'c', 's', '/', 'v', '3', +'/', 's', 't', 'a', 't', 's', '.', 'p', 'r', 'o', 't', 'o', '\022', '\027', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', +'g', '.', 'm', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '3', '\032', '\"', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', +'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', '/', 'a', 'd', 'd', 'r', 'e', 's', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '\"', +'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', '3', '/', 's', 't', 'r', +'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '\031', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', +'f', '/', 'a', 'n', 'y', '.', 'p', 'r', 'o', 't', 'o', '\032', '\036', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', +'b', 'u', 'f', '/', 'w', 'r', 'a', 'p', 'p', 'e', 'r', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', '/', +'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', 't', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', +'!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 'v', 'e', 'r', 's', 'i', 'o', 'n', +'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '\027', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', 'd', +'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\"', '\241', '\001', '\n', '\t', 'S', 't', 'a', 't', 's', 'S', 'i', 'n', 'k', '\022', '\022', +'\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '9', '\n', '\014', 't', 'y', 'p', +'e', 'd', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', +'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'H', '\000', 'R', '\013', 't', 'y', 'p', 'e', 'd', 'C', 'o', 'n', 'f', +'i', 'g', ':', '(', '\232', '\305', '\210', '\036', '#', '\n', '!', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', +'e', 't', 'r', 'i', 'c', 's', '.', 'v', '2', '.', 'S', 't', 'a', 't', 's', 'S', 'i', 'n', 'k', 'B', '\r', '\n', '\013', 'c', 'o', +'n', 'f', 'i', 'g', '_', 't', 'y', 'p', 'e', 'J', '\004', '\010', '\002', '\020', '\003', 'R', '\006', 'c', 'o', 'n', 'f', 'i', 'g', '\"', '\206', +'\003', '\n', '\013', 'S', 't', 'a', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', '\022', 'D', '\n', '\n', 's', 't', 'a', 't', 's', '_', 't', +'a', 'g', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '%', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', +'m', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '3', '.', 'T', 'a', 'g', 'S', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'r', 'R', '\t', +'s', 't', 'a', 't', 's', 'T', 'a', 'g', 's', '\022', 'K', '\n', '\024', 'u', 's', 'e', '_', 'a', 'l', 'l', '_', 'd', 'e', 'f', 'a', +'u', 'l', 't', '_', 't', 'a', 'g', 's', '\030', '\002', ' ', '\001', '(', '\013', '2', '\032', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', +'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'B', 'o', 'o', 'l', 'V', 'a', 'l', 'u', 'e', 'R', '\021', 'u', 's', 'e', 'A', 'l', 'l', +'D', 'e', 'f', 'a', 'u', 'l', 't', 'T', 'a', 'g', 's', '\022', 'J', '\n', '\r', 's', 't', 'a', 't', 's', '_', 'm', 'a', 't', 'c', +'h', 'e', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '%', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', +'m', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '3', '.', 'S', 't', 'a', 't', 's', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\014', +'s', 't', 'a', 't', 's', 'M', 'a', 't', 'c', 'h', 'e', 'r', '\022', 'l', '\n', '\031', 'h', 'i', 's', 't', 'o', 'g', 'r', 'a', 'm', +'_', 'b', 'u', 'c', 'k', 'e', 't', '_', 's', 'e', 't', 't', 'i', 'n', 'g', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '0', '.', +'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '3', '.', 'H', +'i', 's', 't', 'o', 'g', 'r', 'a', 'm', 'B', 'u', 'c', 'k', 'e', 't', 'S', 'e', 't', 't', 'i', 'n', 'g', 's', 'R', '\027', 'h', +'i', 's', 't', 'o', 'g', 'r', 'a', 'm', 'B', 'u', 'c', 'k', 'e', 't', 'S', 'e', 't', 't', 'i', 'n', 'g', 's', ':', '*', '\232', +'\305', '\210', '\036', '%', '\n', '#', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', +'s', '.', 'v', '2', '.', 'S', 't', 'a', 't', 's', 'C', 'o', 'n', 'f', 'i', 'g', '\"', '\230', '\002', '\n', '\014', 'S', 't', 'a', 't', +'s', 'M', 'a', 't', 'c', 'h', 'e', 'r', '\022', '\037', '\n', '\n', 'r', 'e', 'j', 'e', 'c', 't', '_', 'a', 'l', 'l', '\030', '\001', ' ', +'\001', '(', '\010', 'H', '\000', 'R', '\t', 'r', 'e', 'j', 'e', 'c', 't', 'A', 'l', 'l', '\022', 'Q', '\n', '\016', 'e', 'x', 'c', 'l', 'u', +'s', 'i', 'o', 'n', '_', 'l', 'i', 's', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '(', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', +'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'L', 'i', 's', 't', 'S', 't', 'r', 'i', 'n', 'g', +'M', 'a', 't', 'c', 'h', 'e', 'r', 'H', '\000', 'R', '\r', 'e', 'x', 'c', 'l', 'u', 's', 'i', 'o', 'n', 'L', 'i', 's', 't', '\022', +'Q', '\n', '\016', 'i', 'n', 'c', 'l', 'u', 's', 'i', 'o', 'n', '_', 'l', 'i', 's', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '(', +'.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'L', 'i', +'s', 't', 'S', 't', 'r', 'i', 'n', 'g', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'H', '\000', 'R', '\r', 'i', 'n', 'c', 'l', 'u', 's', +'i', 'o', 'n', 'L', 'i', 's', 't', ':', '+', '\232', '\305', '\210', '\036', '&', '\n', '$', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', +'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '2', '.', 'S', 't', 'a', 't', 's', 'M', 'a', 't', 'c', 'h', +'e', 'r', 'B', '\024', '\n', '\r', 's', 't', 'a', 't', 's', '_', 'm', 'a', 't', 'c', 'h', 'e', 'r', '\022', '\003', '\370', 'B', '\001', '\"', +'\250', '\001', '\n', '\014', 'T', 'a', 'g', 'S', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'r', '\022', '\031', '\n', '\010', 't', 'a', 'g', '_', 'n', +'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 't', 'a', 'g', 'N', 'a', 'm', 'e', '\022', ' ', '\n', '\005', 'r', 'e', 'g', +'e', 'x', '\030', '\002', ' ', '\001', '(', '\t', 'B', '\010', '\372', 'B', '\005', 'r', '\003', '(', '\200', '\010', 'H', '\000', 'R', '\005', 'r', 'e', 'g', +'e', 'x', '\022', '!', '\n', '\013', 'f', 'i', 'x', 'e', 'd', '_', 'v', 'a', 'l', 'u', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'H', '\000', +'R', '\n', 'f', 'i', 'x', 'e', 'd', 'V', 'a', 'l', 'u', 'e', ':', '+', '\232', '\305', '\210', '\036', '&', '\n', '$', 'e', 'n', 'v', 'o', +'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '2', '.', 'T', 'a', 'g', 'S', 'p', +'e', 'c', 'i', 'f', 'i', 'e', 'r', 'B', '\013', '\n', '\t', 't', 'a', 'g', '_', 'v', 'a', 'l', 'u', 'e', '\"', '\222', '\001', '\n', '\027', +'H', 'i', 's', 't', 'o', 'g', 'r', 'a', 'm', 'B', 'u', 'c', 'k', 'e', 't', 'S', 'e', 't', 't', 'i', 'n', 'g', 's', '\022', 'D', +'\n', '\005', 'm', 'a', 't', 'c', 'h', '\030', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', +'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'S', 't', 'r', 'i', 'n', 'g', 'M', 'a', 't', 'c', 'h', 'e', +'r', 'B', '\010', '\372', 'B', '\005', '\212', '\001', '\002', '\020', '\001', 'R', '\005', 'm', 'a', 't', 'c', 'h', '\022', '1', '\n', '\007', 'b', 'u', 'c', +'k', 'e', 't', 's', '\030', '\002', ' ', '\003', '(', '\001', 'B', '\027', '\372', 'B', '\024', '\222', '\001', '\021', '\010', '\001', '\030', '\001', '\"', '\013', '\022', +'\t', '!', '\000', '\000', '\000', '\000', '\000', '\000', '\000', '\000', 'R', '\007', 'b', 'u', 'c', 'k', 'e', 't', 's', '\"', '\317', '\001', '\n', '\n', 'S', +'t', 'a', 't', 's', 'd', 'S', 'i', 'n', 'k', '\022', '9', '\n', '\007', 'a', 'd', 'd', 'r', 'e', 's', 's', '\030', '\001', ' ', '\001', '(', +'\013', '2', '\035', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', +'A', 'd', 'd', 'r', 'e', 's', 's', 'H', '\000', 'R', '\007', 'a', 'd', 'd', 'r', 'e', 's', 's', '\022', '*', '\n', '\020', 't', 'c', 'p', +'_', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'H', '\000', 'R', '\016', 't', 'c', +'p', 'C', 'l', 'u', 's', 't', 'e', 'r', 'N', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'p', 'r', 'e', 'f', 'i', 'x', '\030', '\003', ' ', +'\001', '(', '\t', 'R', '\006', 'p', 'r', 'e', 'f', 'i', 'x', ':', ')', '\232', '\305', '\210', '\036', '$', '\n', '\"', 'e', 'n', 'v', 'o', 'y', +'.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '2', '.', 'S', 't', 'a', 't', 's', 'd', +'S', 'i', 'n', 'k', 'B', '\027', '\n', '\020', 's', 't', 'a', 't', 's', 'd', '_', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'r', '\022', +'\003', '\370', 'B', '\001', '\"', '\217', '\002', '\n', '\r', 'D', 'o', 'g', 'S', 't', 'a', 't', 's', 'd', 'S', 'i', 'n', 'k', '\022', '9', '\n', +'\007', 'a', 'd', 'd', 'r', 'e', 's', 's', '\030', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', +'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'A', 'd', 'd', 'r', 'e', 's', 's', 'H', '\000', 'R', '\007', 'a', +'d', 'd', 'r', 'e', 's', 's', '\022', '\026', '\n', '\006', 'p', 'r', 'e', 'f', 'i', 'x', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\006', 'p', +'r', 'e', 'f', 'i', 'x', '\022', 'Z', '\n', '\026', 'm', 'a', 'x', '_', 'b', 'y', 't', 'e', 's', '_', 'p', 'e', 'r', '_', 'd', 'a', +'t', 'a', 'g', 'r', 'a', 'm', '\030', '\004', ' ', '\001', '(', '\013', '2', '\034', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', +'t', 'o', 'b', 'u', 'f', '.', 'U', 'I', 'n', 't', '6', '4', 'V', 'a', 'l', 'u', 'e', 'B', '\007', '\372', 'B', '\004', '2', '\002', ' ', +'\000', 'R', '\023', 'm', 'a', 'x', 'B', 'y', 't', 'e', 's', 'P', 'e', 'r', 'D', 'a', 't', 'a', 'g', 'r', 'a', 'm', ':', ',', '\232', +'\305', '\210', '\036', '\'', '\n', '%', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', 't', 'r', 'i', 'c', +'s', '.', 'v', '2', '.', 'D', 'o', 'g', 'S', 't', 'a', 't', 's', 'd', 'S', 'i', 'n', 'k', 'B', '\033', '\n', '\024', 'd', 'o', 'g', +'_', 's', 't', 'a', 't', 's', 'd', '_', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'r', '\022', '\003', '\370', 'B', '\001', 'J', '\004', '\010', +'\002', '\020', '\003', '\"', 'Z', '\n', '\013', 'H', 'y', 's', 't', 'r', 'i', 'x', 'S', 'i', 'n', 'k', '\022', '\037', '\n', '\013', 'n', 'u', 'm', +'_', 'b', 'u', 'c', 'k', 'e', 't', 's', '\030', '\001', ' ', '\001', '(', '\003', 'R', '\n', 'n', 'u', 'm', 'B', 'u', 'c', 'k', 'e', 't', +'s', ':', '*', '\232', '\305', '\210', '\036', '%', '\n', '#', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'm', 'e', +'t', 'r', 'i', 'c', 's', '.', 'v', '2', '.', 'H', 'y', 's', 't', 'r', 'i', 'x', 'S', 'i', 'n', 'k', 'B', '=', '\n', '%', 'i', +'o', '.', 'e', 'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', +'.', 'm', 'e', 't', 'r', 'i', 'c', 's', '.', 'v', '3', 'B', '\n', 'S', 't', 'a', 't', 's', 'P', 'r', 'o', 't', 'o', 'P', '\001', +'\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3', +}; + +static upb_def_init *deps[8] = { + &envoy_config_core_v3_address_proto_upbdefinit, + &envoy_type_matcher_v3_string_proto_upbdefinit, + &google_protobuf_any_proto_upbdefinit, + &google_protobuf_wrappers_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + &validate_validate_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_config_metrics_v3_stats_proto_upbdefinit = { + deps, + layouts, + "envoy/config/metrics/v3/stats.proto", + UPB_STRVIEW_INIT(descriptor, 2091) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h new file mode 100644 index 00000000000..0432cfd1f06 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h @@ -0,0 +1,70 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/metrics/v3/stats.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_CONFIG_METRICS_V3_STATS_PROTO_UPBDEFS_H_ +#define ENVOY_CONFIG_METRICS_V3_STATS_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_config_metrics_v3_stats_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_StatsSink_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.StatsSink"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_StatsConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.StatsConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_StatsMatcher_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.StatsMatcher"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_TagSpecifier_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.TagSpecifier"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_HistogramBucketSettings_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.HistogramBucketSettings"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_StatsdSink_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.StatsdSink"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_DogStatsdSink_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.DogStatsdSink"); +} + +UPB_INLINE const upb_msgdef *envoy_config_metrics_v3_HystrixSink_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_metrics_v3_stats_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.metrics.v3.HystrixSink"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_CONFIG_METRICS_V3_STATS_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c new file mode 100644 index 00000000000..e189d990001 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c @@ -0,0 +1,141 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/overload/v3/overload.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/config/overload/v3/overload.upbdefs.h" + +extern upb_def_init envoy_type_v3_percent_proto_upbdefinit; +extern upb_def_init google_protobuf_any_proto_upbdefinit; +extern upb_def_init google_protobuf_duration_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern upb_def_init validate_validate_proto_upbdefinit; +extern const upb_msglayout envoy_config_overload_v3_ResourceMonitor_msginit; +extern const upb_msglayout envoy_config_overload_v3_ThresholdTrigger_msginit; +extern const upb_msglayout envoy_config_overload_v3_ScaledTrigger_msginit; +extern const upb_msglayout envoy_config_overload_v3_Trigger_msginit; +extern const upb_msglayout envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit; +extern const upb_msglayout envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit; +extern const upb_msglayout envoy_config_overload_v3_OverloadAction_msginit; +extern const upb_msglayout envoy_config_overload_v3_OverloadManager_msginit; + +static const upb_msglayout *layouts[8] = { + &envoy_config_overload_v3_ResourceMonitor_msginit, + &envoy_config_overload_v3_ThresholdTrigger_msginit, + &envoy_config_overload_v3_ScaledTrigger_msginit, + &envoy_config_overload_v3_Trigger_msginit, + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_msginit, + &envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_msginit, + &envoy_config_overload_v3_OverloadAction_msginit, + &envoy_config_overload_v3_OverloadManager_msginit, +}; + +static const char descriptor[2145] = {'\n', '\'', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '/', 'v', +'3', '/', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'p', 'r', 'o', 't', 'o', '\022', '\030', 'e', 'n', 'v', 'o', 'y', '.', 'c', +'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '\032', '\033', 'e', 'n', 'v', 'o', 'y', '/', +'t', 'y', 'p', 'e', '/', 'v', '3', '/', 'p', 'e', 'r', 'c', 'e', 'n', 't', '.', 'p', 'r', 'o', 't', 'o', '\032', '\031', 'g', 'o', +'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'a', 'n', 'y', '.', 'p', 'r', 'o', 't', 'o', '\032', '\036', +'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', '.', +'p', 'r', 'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', +'t', 'a', 't', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', +'i', 'o', 'n', 's', '/', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '\027', 'v', 'a', +'l', 'i', 'd', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\"', '\274', '\001', '\n', +'\017', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'M', 'o', 'n', 'i', 't', 'o', 'r', '\022', '\033', '\n', '\004', 'n', 'a', 'm', 'e', '\030', +'\001', ' ', '\001', '(', '\t', 'B', '\007', '\372', 'B', '\004', 'r', '\002', '\020', '\001', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '9', '\n', '\014', 't', +'y', 'p', 'e', 'd', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '\024', '.', 'g', 'o', 'o', 'g', 'l', +'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'H', '\000', 'R', '\013', 't', 'y', 'p', 'e', 'd', 'C', 'o', +'n', 'f', 'i', 'g', ':', '4', '\232', '\305', '\210', '\036', '/', '\n', '-', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', +'.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'R', 'e', 's', 'o', 'u', 'r', 'c', +'e', 'M', 'o', 'n', 'i', 't', 'o', 'r', 'B', '\r', '\n', '\013', 'c', 'o', 'n', 'f', 'i', 'g', '_', 't', 'y', 'p', 'e', 'J', '\004', +'\010', '\002', '\020', '\003', 'R', '\006', 'c', 'o', 'n', 'f', 'i', 'g', '\"', 'x', '\n', '\020', 'T', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', +'T', 'r', 'i', 'g', 'g', 'e', 'r', '\022', '-', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\001', ' ', '\001', '(', '\001', 'B', '\027', '\372', +'B', '\024', '\022', '\022', '\031', '\000', '\000', '\000', '\000', '\000', '\000', '\360', '?', ')', '\000', '\000', '\000', '\000', '\000', '\000', '\000', '\000', 'R', '\005', 'v', +'a', 'l', 'u', 'e', ':', '5', '\232', '\305', '\210', '\036', '0', '\n', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', +'.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'T', 'h', 'r', 'e', 's', 'h', 'o', +'l', 'd', 'T', 'r', 'i', 'g', 'g', 'e', 'r', '\"', '\241', '\001', '\n', '\r', 'S', 'c', 'a', 'l', 'e', 'd', 'T', 'r', 'i', 'g', 'g', +'e', 'r', '\022', 'D', '\n', '\021', 's', 'c', 'a', 'l', 'i', 'n', 'g', '_', 't', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\030', '\001', +' ', '\001', '(', '\001', 'B', '\027', '\372', 'B', '\024', '\022', '\022', '\031', '\000', '\000', '\000', '\000', '\000', '\000', '\360', '?', ')', '\000', '\000', '\000', '\000', +'\000', '\000', '\000', '\000', 'R', '\020', 's', 'c', 'a', 'l', 'i', 'n', 'g', 'T', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\022', 'J', '\n', +'\024', 's', 'a', 't', 'u', 'r', 'a', 't', 'i', 'o', 'n', '_', 't', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\030', '\002', ' ', '\001', +'(', '\001', 'B', '\027', '\372', 'B', '\024', '\022', '\022', '\031', '\000', '\000', '\000', '\000', '\000', '\000', '\360', '?', ')', '\000', '\000', '\000', '\000', '\000', '\000', +'\000', '\000', 'R', '\023', 's', 'a', 't', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'T', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\"', '\371', +'\001', '\n', '\007', 'T', 'r', 'i', 'g', 'g', 'e', 'r', '\022', '\033', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'B', +'\007', '\372', 'B', '\004', 'r', '\002', '\020', '\001', 'R', '\004', 'n', 'a', 'm', 'e', '\022', 'J', '\n', '\t', 't', 'h', 'r', 'e', 's', 'h', 'o', +'l', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '*', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', +'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'T', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', 'T', 'r', 'i', 'g', 'g', +'e', 'r', 'H', '\000', 'R', '\t', 't', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', '\022', 'A', '\n', '\006', 's', 'c', 'a', 'l', 'e', 'd', +'\030', '\003', ' ', '\001', '(', '\013', '2', '\'', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', +'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'S', 'c', 'a', 'l', 'e', 'd', 'T', 'r', 'i', 'g', 'g', 'e', 'r', 'H', '\000', 'R', +'\006', 's', 'c', 'a', 'l', 'e', 'd', ':', ',', '\232', '\305', '\210', '\036', '\'', '\n', '%', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', +'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'T', 'r', 'i', 'g', +'g', 'e', 'r', 'B', '\024', '\n', '\r', 't', 'r', 'i', 'g', 'g', 'e', 'r', '_', 'o', 'n', 'e', 'o', 'f', '\022', '\003', '\370', 'B', '\001', +'\"', '\247', '\004', '\n', '\037', 'S', 'c', 'a', 'l', 'e', 'T', 'i', 'm', 'e', 'r', 's', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'A', +'c', 't', 'i', 'o', 'n', 'C', 'o', 'n', 'f', 'i', 'g', '\022', '~', '\n', '\023', 't', 'i', 'm', 'e', 'r', '_', 's', 'c', 'a', 'l', +'e', '_', 'f', 'a', 'c', 't', 'o', 'r', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 'D', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', +'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'S', 'c', 'a', 'l', 'e', 'T', 'i', +'m', 'e', 'r', 's', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'A', 'c', 't', 'i', 'o', 'n', 'C', 'o', 'n', 'f', 'i', 'g', '.', +'S', 'c', 'a', 'l', 'e', 'T', 'i', 'm', 'e', 'r', 'B', '\010', '\372', 'B', '\005', '\222', '\001', '\002', '\010', '\001', 'R', '\021', 't', 'i', 'm', +'e', 'r', 'S', 'c', 'a', 'l', 'e', 'F', 'a', 'c', 't', 'o', 'r', 's', '\032', '\200', '\002', '\n', '\n', 'S', 'c', 'a', 'l', 'e', 'T', +'i', 'm', 'e', 'r', '\022', 'e', '\n', '\005', 't', 'i', 'm', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\016', '2', 'C', '.', 'e', 'n', 'v', +'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'S', 'c', 'a', +'l', 'e', 'T', 'i', 'm', 'e', 'r', 's', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'A', 'c', 't', 'i', 'o', 'n', 'C', 'o', 'n', +'f', 'i', 'g', '.', 'T', 'i', 'm', 'e', 'r', 'T', 'y', 'p', 'e', 'B', '\n', '\372', 'B', '\007', '\202', '\001', '\004', '\020', '\001', ' ', '\000', +'R', '\005', 't', 'i', 'm', 'e', 'r', '\022', '<', '\n', '\013', 'm', 'i', 'n', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '\030', '\002', ' ', +'\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', +'a', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\n', 'm', 'i', 'n', 'T', 'i', 'm', 'e', 'o', 'u', 't', '\022', '5', '\n', '\t', 'm', 'i', +'n', '_', 's', 'c', 'a', 'l', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\026', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', +'e', '.', 'v', '3', '.', 'P', 'e', 'r', 'c', 'e', 'n', 't', 'H', '\000', 'R', '\010', 'm', 'i', 'n', 'S', 'c', 'a', 'l', 'e', 'B', +'\026', '\n', '\017', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '_', 'a', 'd', 'j', 'u', 's', 't', '\022', '\003', '\370', 'B', '\001', '\"', '\200', +'\001', '\n', '\t', 'T', 'i', 'm', 'e', 'r', 'T', 'y', 'p', 'e', '\022', '\017', '\n', '\013', 'U', 'N', 'S', 'P', 'E', 'C', 'I', 'F', 'I', +'E', 'D', '\020', '\000', '\022', '#', '\n', '\037', 'H', 'T', 'T', 'P', '_', 'D', 'O', 'W', 'N', 'S', 'T', 'R', 'E', 'A', 'M', '_', 'C', +'O', 'N', 'N', 'E', 'C', 'T', 'I', 'O', 'N', '_', 'I', 'D', 'L', 'E', '\020', '\001', '\022', '\037', '\n', '\033', 'H', 'T', 'T', 'P', '_', +'D', 'O', 'W', 'N', 'S', 'T', 'R', 'E', 'A', 'M', '_', 'S', 'T', 'R', 'E', 'A', 'M', '_', 'I', 'D', 'L', 'E', '\020', '\002', '\022', +'\034', '\n', '\030', 'T', 'R', 'A', 'N', 'S', 'P', 'O', 'R', 'T', '_', 'S', 'O', 'C', 'K', 'E', 'T', '_', 'C', 'O', 'N', 'N', 'E', +'C', 'T', '\020', '\003', '\"', '\344', '\001', '\n', '\016', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'A', 'c', 't', 'i', 'o', 'n', '\022', '\033', +'\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'B', '\007', '\372', 'B', '\004', 'r', '\002', '\020', '\001', 'R', '\004', 'n', 'a', +'m', 'e', '\022', 'G', '\n', '\010', 't', 'r', 'i', 'g', 'g', 'e', 'r', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '!', '.', 'e', 'n', +'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'T', 'r', +'i', 'g', 'g', 'e', 'r', 'B', '\010', '\372', 'B', '\005', '\222', '\001', '\002', '\010', '\001', 'R', '\010', 't', 'r', 'i', 'g', 'g', 'e', 'r', 's', +'\022', '7', '\n', '\014', 't', 'y', 'p', 'e', 'd', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '\024', '.', +'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'A', 'n', 'y', 'R', '\013', 't', 'y', 'p', 'e', +'d', 'C', 'o', 'n', 'f', 'i', 'g', ':', '3', '\232', '\305', '\210', '\036', '.', '\n', ',', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', +'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '2', 'a', 'l', 'p', 'h', 'a', '.', 'O', 'v', 'e', 'r', +'l', 'o', 'a', 'd', 'A', 'c', 't', 'i', 'o', 'n', '\"', '\263', '\002', '\n', '\017', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'M', 'a', +'n', 'a', 'g', 'e', 'r', '\022', 'D', '\n', '\020', 'r', 'e', 'f', 'r', 'e', 's', 'h', '_', 'i', 'n', 't', 'e', 'r', 'v', 'a', 'l', +'\030', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', +'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\017', 'r', 'e', 'f', 'r', 'e', 's', 'h', 'I', 'n', 't', 'e', 'r', 'v', 'a', 'l', +'\022', '`', '\n', '\021', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', '_', 'm', 'o', 'n', 'i', 't', 'o', 'r', 's', '\030', '\002', ' ', '\003', +'(', '\013', '2', ')', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', +'d', '.', 'v', '3', '.', 'R', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'M', 'o', 'n', 'i', 't', 'o', 'r', 'B', '\010', '\372', 'B', '\005', +'\222', '\001', '\002', '\010', '\001', 'R', '\020', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', 'M', 'o', 'n', 'i', 't', 'o', 'r', 's', '\022', 'B', +'\n', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '(', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', +'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', '.', 'O', 'v', 'e', 'r', 'l', 'o', 'a', +'d', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', ':', '4', '\232', '\305', '\210', '\036', '/', '\n', '-', +'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '2', 'a', +'l', 'p', 'h', 'a', '.', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'M', 'a', 'n', 'a', 'g', 'e', 'r', 'B', 'A', '\n', '&', 'i', +'o', '.', 'e', 'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', +'.', 'o', 'v', 'e', 'r', 'l', 'o', 'a', 'd', '.', 'v', '3', 'B', '\r', 'O', 'v', 'e', 'r', 'l', 'o', 'a', 'd', 'P', 'r', 'o', +'t', 'o', 'P', '\001', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3', +}; + +static upb_def_init *deps[7] = { + &envoy_type_v3_percent_proto_upbdefinit, + &google_protobuf_any_proto_upbdefinit, + &google_protobuf_duration_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + &validate_validate_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_config_overload_v3_overload_proto_upbdefinit = { + deps, + layouts, + "envoy/config/overload/v3/overload.proto", + UPB_STRVIEW_INIT(descriptor, 2145) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h new file mode 100644 index 00000000000..ca1dc51729c --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h @@ -0,0 +1,70 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/config/overload/v3/overload.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_CONFIG_OVERLOAD_V3_OVERLOAD_PROTO_UPBDEFS_H_ +#define ENVOY_CONFIG_OVERLOAD_V3_OVERLOAD_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_config_overload_v3_overload_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_ResourceMonitor_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.ResourceMonitor"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_ThresholdTrigger_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.ThresholdTrigger"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_ScaledTrigger_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.ScaledTrigger"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_Trigger_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.Trigger"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.ScaleTimersOverloadActionConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_ScaleTimersOverloadActionConfig_ScaleTimer_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.ScaleTimersOverloadActionConfig.ScaleTimer"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_OverloadAction_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.OverloadAction"); +} + +UPB_INLINE const upb_msgdef *envoy_config_overload_v3_OverloadManager_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_config_overload_v3_overload_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.config.overload.v3.OverloadManager"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_CONFIG_OVERLOAD_V3_OVERLOAD_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c new file mode 100644 index 00000000000..2673ebbbdee --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c @@ -0,0 +1,130 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/service/status/v3/csds.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/service/status/v3/csds.upbdefs.h" + +extern upb_def_init envoy_admin_v3_config_dump_proto_upbdefinit; +extern upb_def_init envoy_config_core_v3_base_proto_upbdefinit; +extern upb_def_init envoy_type_matcher_v3_node_proto_upbdefinit; +extern upb_def_init google_api_annotations_proto_upbdefinit; +extern upb_def_init udpa_annotations_migrate_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern const upb_msglayout envoy_service_status_v3_ClientStatusRequest_msginit; +extern const upb_msglayout envoy_service_status_v3_PerXdsConfig_msginit; +extern const upb_msglayout envoy_service_status_v3_ClientConfig_msginit; +extern const upb_msglayout envoy_service_status_v3_ClientStatusResponse_msginit; + +static const upb_msglayout *layouts[4] = { + &envoy_service_status_v3_ClientStatusRequest_msginit, + &envoy_service_status_v3_PerXdsConfig_msginit, + &envoy_service_status_v3_ClientConfig_msginit, + &envoy_service_status_v3_ClientStatusResponse_msginit, +}; + +static const char descriptor[2001] = {'\n', '\"', 'e', 'n', 'v', 'o', 'y', '/', 's', 'e', 'r', 'v', 'i', 'c', 'e', '/', 's', 't', 'a', 't', 'u', 's', '/', 'v', '3', +'/', 'c', 's', 'd', 's', '.', 'p', 'r', 'o', 't', 'o', '\022', '\027', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', +'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '\032', ' ', 'e', 'n', 'v', 'o', 'y', '/', 'a', 'd', 'm', 'i', 'n', '/', +'v', '3', '/', 'c', 'o', 'n', 'f', 'i', 'g', '_', 'd', 'u', 'm', 'p', '.', 'p', 'r', 'o', 't', 'o', '\032', '\037', 'e', 'n', 'v', +'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', '/', 'b', 'a', 's', 'e', '.', 'p', 'r', +'o', 't', 'o', '\032', ' ', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', +'3', '/', 'n', 'o', 'd', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', '\034', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'a', 'p', 'i', '/', +'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '\036', 'u', 'd', 'p', 'a', '/', 'a', +'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 'm', 'i', 'g', 'r', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', +'\035', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', 't', 'u', 's', '.', +'p', 'r', 'o', 't', 'o', '\032', '!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 'v', +'e', 'r', 's', 'i', 'o', 'n', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\"', '\302', '\001', '\n', '\023', 'C', 'l', 'i', 'e', 'n', +'t', 'S', 't', 'a', 't', 'u', 's', 'R', 'e', 'q', 'u', 'e', 's', 't', '\022', 'G', '\n', '\r', 'n', 'o', 'd', 'e', '_', 'm', 'a', +'t', 'c', 'h', 'e', 'r', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', +'.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'N', 'o', 'd', 'e', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\014', +'n', 'o', 'd', 'e', 'M', 'a', 't', 'c', 'h', 'e', 'r', 's', '\022', '.', '\n', '\004', 'n', 'o', 'd', 'e', '\030', '\002', ' ', '\001', '(', +'\013', '2', '\032', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', +'N', 'o', 'd', 'e', 'R', '\004', 'n', 'o', 'd', 'e', ':', '2', '\232', '\305', '\210', '\036', '-', '\n', '+', 'e', 'n', 'v', 'o', 'y', '.', +'s', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '2', '.', 'C', 'l', 'i', 'e', 'n', 't', 'S', +'t', 'a', 't', 'u', 's', 'R', 'e', 'q', 'u', 'e', 's', 't', '\"', '\360', '\004', '\n', '\014', 'P', 'e', 'r', 'X', 'd', 's', 'C', 'o', +'n', 'f', 'i', 'g', '\022', '=', '\n', '\006', 's', 't', 'a', 't', 'u', 's', '\030', '\001', ' ', '\001', '(', '\016', '2', '%', '.', 'e', 'n', +'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'o', 'n', +'f', 'i', 'g', 'S', 't', 'a', 't', 'u', 's', 'R', '\006', 's', 't', 'a', 't', 'u', 's', '\022', 'T', '\n', '\r', 'c', 'l', 'i', 'e', +'n', 't', '_', 's', 't', 'a', 't', 'u', 's', '\030', '\007', ' ', '\001', '(', '\016', '2', '+', '.', 'e', 'n', 'v', 'o', 'y', '.', 's', +'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'C', 'o', +'n', 'f', 'i', 'g', 'S', 't', 'a', 't', 'u', 's', 'B', '\002', '\030', '\001', 'R', '\014', 'c', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', +'t', 'u', 's', '\022', 'N', '\n', '\017', 'l', 'i', 's', 't', 'e', 'n', 'e', 'r', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\002', ' ', +'\001', '(', '\013', '2', '#', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'L', 'i', 's', 't', +'e', 'n', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', 'H', '\000', 'R', '\016', 'l', 'i', 's', 't', 'e', 'n', +'e', 'r', 'C', 'o', 'n', 'f', 'i', 'g', '\022', 'K', '\n', '\016', 'c', 'l', 'u', 's', 't', 'e', 'r', '_', 'c', 'o', 'n', 'f', 'i', +'g', '\030', '\003', ' ', '\001', '(', '\013', '2', '\"', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', +'C', 'l', 'u', 's', 't', 'e', 'r', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', 'H', '\000', 'R', '\r', 'c', 'l', 'u', +'s', 't', 'e', 'r', 'C', 'o', 'n', 'f', 'i', 'g', '\022', 'E', '\n', '\014', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', 'n', 'f', 'i', +'g', '\030', '\004', ' ', '\001', '(', '\013', '2', ' ', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', +'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', 'H', '\000', 'R', '\013', 'r', 'o', 'u', 't', 'e', +'C', 'o', 'n', 'f', 'i', 'g', '\022', 'X', '\n', '\023', 's', 'c', 'o', 'p', 'e', 'd', '_', 'r', 'o', 'u', 't', 'e', '_', 'c', 'o', +'n', 'f', 'i', 'g', '\030', '\005', ' ', '\001', '(', '\013', '2', '&', '.', 'e', 'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', +'v', '3', '.', 'S', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', +'H', '\000', 'R', '\021', 's', 'c', 'o', 'p', 'e', 'd', 'R', 'o', 'u', 't', 'e', 'C', 'o', 'n', 'f', 'i', 'g', '\022', 'N', '\n', '\017', +'e', 'n', 'd', 'p', 'o', 'i', 'n', 't', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\006', ' ', '\001', '(', '\013', '2', '#', '.', 'e', +'n', 'v', 'o', 'y', '.', 'a', 'd', 'm', 'i', 'n', '.', 'v', '3', '.', 'E', 'n', 'd', 'p', 'o', 'i', 'n', 't', 's', 'C', 'o', +'n', 'f', 'i', 'g', 'D', 'u', 'm', 'p', 'H', '\000', 'R', '\016', 'e', 'n', 'd', 'p', 'o', 'i', 'n', 't', 'C', 'o', 'n', 'f', 'i', +'g', ':', '+', '\232', '\305', '\210', '\036', '&', '\n', '$', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', +'t', 'a', 't', 'u', 's', '.', 'v', '2', '.', 'P', 'e', 'r', 'X', 'd', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'B', '\020', '\n', '\016', +'p', 'e', 'r', '_', 'x', 'd', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\"', '\261', '\001', '\n', '\014', 'C', 'l', 'i', 'e', 'n', 't', +'C', 'o', 'n', 'f', 'i', 'g', '\022', '.', '\n', '\004', 'n', 'o', 'd', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'e', 'n', +'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'N', 'o', 'd', 'e', 'R', '\004', +'n', 'o', 'd', 'e', '\022', 'D', '\n', '\n', 'x', 'd', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\002', ' ', '\003', '(', '\013', '2', +'%', '.', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', +'.', 'P', 'e', 'r', 'X', 'd', 's', 'C', 'o', 'n', 'f', 'i', 'g', 'R', '\t', 'x', 'd', 's', 'C', 'o', 'n', 'f', 'i', 'g', ':', +'+', '\232', '\305', '\210', '\036', '&', '\n', '$', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', +'t', 'u', 's', '.', 'v', '2', '.', 'C', 'l', 'i', 'e', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', '\"', '\212', '\001', '\n', '\024', 'C', +'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '\022', '=', '\n', '\006', 'c', 'o', +'n', 'f', 'i', 'g', '\030', '\001', ' ', '\003', '(', '\013', '2', '%', '.', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', +'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'C', 'o', 'n', 'f', 'i', 'g', 'R', +'\006', 'c', 'o', 'n', 'f', 'i', 'g', ':', '3', '\232', '\305', '\210', '\036', '.', '\n', ',', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', +'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '2', '.', 'C', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', +'u', 's', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '*', 'K', '\n', '\014', 'C', 'o', 'n', 'f', 'i', 'g', 'S', 't', 'a', 't', 'u', +'s', '\022', '\013', '\n', '\007', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\000', '\022', '\n', '\n', '\006', 'S', 'Y', 'N', 'C', 'E', 'D', '\020', +'\001', '\022', '\014', '\n', '\010', 'N', 'O', 'T', '_', 'S', 'E', 'N', 'T', '\020', '\002', '\022', '\t', '\n', '\005', 'S', 'T', 'A', 'L', 'E', '\020', +'\003', '\022', '\t', '\n', '\005', 'E', 'R', 'R', 'O', 'R', '\020', '\004', '*', 'c', '\n', '\022', 'C', 'l', 'i', 'e', 'n', 't', 'C', 'o', 'n', +'f', 'i', 'g', 'S', 't', 'a', 't', 'u', 's', '\022', '\022', '\n', '\016', 'C', 'L', 'I', 'E', 'N', 'T', '_', 'U', 'N', 'K', 'N', 'O', +'W', 'N', '\020', '\000', '\022', '\024', '\n', '\020', 'C', 'L', 'I', 'E', 'N', 'T', '_', 'R', 'E', 'Q', 'U', 'E', 'S', 'T', 'E', 'D', '\020', +'\001', '\022', '\020', '\n', '\014', 'C', 'L', 'I', 'E', 'N', 'T', '_', 'A', 'C', 'K', 'E', 'D', '\020', '\002', '\022', '\021', '\n', '\r', 'C', 'L', +'I', 'E', 'N', 'T', '_', 'N', 'A', 'C', 'K', 'E', 'D', '\020', '\003', '2', '\270', '\002', '\n', '\034', 'C', 'l', 'i', 'e', 'n', 't', 'S', +'t', 'a', 't', 'u', 's', 'D', 'i', 's', 'c', 'o', 'v', 'e', 'r', 'y', 'S', 'e', 'r', 'v', 'i', 'c', 'e', '\022', 'w', '\n', '\022', +'S', 't', 'r', 'e', 'a', 'm', 'C', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', '\022', ',', '.', 'e', 'n', 'v', 'o', +'y', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', +'t', 'S', 't', 'a', 't', 'u', 's', 'R', 'e', 'q', 'u', 'e', 's', 't', '\032', '-', '.', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', +'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', +'t', 'u', 's', 'R', 'e', 's', 'p', 'o', 'n', 's', 'e', '\"', '\000', '(', '\001', '0', '\001', '\022', '\236', '\001', '\n', '\021', 'F', 'e', 't', +'c', 'h', 'C', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', '\022', ',', '.', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', +'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', +'t', 'u', 's', 'R', 'e', 'q', 'u', 'e', 's', 't', '\032', '-', '.', 'e', 'n', 'v', 'o', 'y', '.', 's', 'e', 'r', 'v', 'i', 'c', +'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', '.', 'C', 'l', 'i', 'e', 'n', 't', 'S', 't', 'a', 't', 'u', 's', 'R', +'e', 's', 'p', 'o', 'n', 's', 'e', '\"', ',', '\202', '\323', '\344', '\223', '\002', '\035', '\"', '\033', '/', 'v', '3', '/', 'd', 'i', 's', 'c', +'o', 'v', 'e', 'r', 'y', ':', 'c', 'l', 'i', 'e', 'n', 't', '_', 's', 't', 'a', 't', 'u', 's', '\202', '\323', '\344', '\223', '\002', '\003', +':', '\001', '*', 'B', '?', '\n', '%', 'i', 'o', '.', 'e', 'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', +'y', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 's', 't', 'a', 't', 'u', 's', '.', 'v', '3', 'B', '\t', 'C', 's', 'd', 's', +'P', 'r', 'o', 't', 'o', 'P', '\001', '\210', '\001', '\001', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', 'o', +'3', +}; + +static upb_def_init *deps[8] = { + &envoy_admin_v3_config_dump_proto_upbdefinit, + &envoy_config_core_v3_base_proto_upbdefinit, + &envoy_type_matcher_v3_node_proto_upbdefinit, + &google_api_annotations_proto_upbdefinit, + &udpa_annotations_migrate_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_service_status_v3_csds_proto_upbdefinit = { + deps, + layouts, + "envoy/service/status/v3/csds.proto", + UPB_STRVIEW_INIT(descriptor, 2001) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h new file mode 100644 index 00000000000..91723cc10ae --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h @@ -0,0 +1,50 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/service/status/v3/csds.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_SERVICE_STATUS_V3_CSDS_PROTO_UPBDEFS_H_ +#define ENVOY_SERVICE_STATUS_V3_CSDS_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_service_status_v3_csds_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_service_status_v3_ClientStatusRequest_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_service_status_v3_csds_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.service.status.v3.ClientStatusRequest"); +} + +UPB_INLINE const upb_msgdef *envoy_service_status_v3_PerXdsConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_service_status_v3_csds_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.service.status.v3.PerXdsConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_service_status_v3_ClientConfig_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_service_status_v3_csds_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.service.status.v3.ClientConfig"); +} + +UPB_INLINE const upb_msgdef *envoy_service_status_v3_ClientStatusResponse_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_service_status_v3_csds_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.service.status.v3.ClientStatusResponse"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_SERVICE_STATUS_V3_CSDS_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c new file mode 100644 index 00000000000..8b0ecb58151 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c @@ -0,0 +1,56 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/node.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/type/matcher/v3/node.upbdefs.h" + +extern upb_def_init envoy_type_matcher_v3_string_proto_upbdefinit; +extern upb_def_init envoy_type_matcher_v3_struct_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern const upb_msglayout envoy_type_matcher_v3_NodeMatcher_msginit; + +static const upb_msglayout *layouts[1] = { + &envoy_type_matcher_v3_NodeMatcher_msginit, +}; + +static const char descriptor[458] = {'\n', ' ', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', '3', '/', 'n', +'o', 'd', 'e', '.', 'p', 'r', 'o', 't', 'o', '\022', '\025', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', +'c', 'h', 'e', 'r', '.', 'v', '3', '\032', '\"', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', +'e', 'r', '/', 'v', '3', '/', 's', 't', 'r', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '\"', 'e', 'n', 'v', 'o', 'y', +'/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', '3', '/', 's', 't', 'r', 'u', 'c', 't', '.', 'p', +'r', 'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', +'a', 't', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', +'o', 'n', 's', '/', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\"', '\300', '\001', '\n', '\013', +'N', 'o', 'd', 'e', 'M', 'a', 't', 'c', 'h', 'e', 'r', '\022', '=', '\n', '\007', 'n', 'o', 'd', 'e', '_', 'i', 'd', '\030', '\001', ' ', +'\001', '(', '\013', '2', '$', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', +'v', '3', '.', 'S', 't', 'r', 'i', 'n', 'g', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\006', 'n', 'o', 'd', 'e', 'I', 'd', '\022', +'K', '\n', '\016', 'n', 'o', 'd', 'e', '_', 'm', 'e', 't', 'a', 'd', 'a', 't', 'a', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '$', +'.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'S', 't', +'r', 'u', 'c', 't', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\r', 'n', 'o', 'd', 'e', 'M', 'e', 't', 'a', 'd', 'a', 't', 'a', +'s', ':', '%', '\232', '\305', '\210', '\036', ' ', '\n', '\036', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', +'h', 'e', 'r', '.', 'N', 'o', 'd', 'e', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'B', ':', '\n', '#', 'i', 'o', '.', 'e', 'n', 'v', +'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', +'r', '.', 'v', '3', 'B', '\t', 'N', 'o', 'd', 'e', 'P', 'r', 'o', 't', 'o', 'P', '\001', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', +'b', '\006', 'p', 'r', 'o', 't', 'o', '3', +}; + +static upb_def_init *deps[5] = { + &envoy_type_matcher_v3_string_proto_upbdefinit, + &envoy_type_matcher_v3_struct_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_type_matcher_v3_node_proto_upbdefinit = { + deps, + layouts, + "envoy/type/matcher/v3/node.proto", + UPB_STRVIEW_INIT(descriptor, 458) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h new file mode 100644 index 00000000000..9ec4a6def6a --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h @@ -0,0 +1,35 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/node.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_TYPE_MATCHER_V3_NODE_PROTO_UPBDEFS_H_ +#define ENVOY_TYPE_MATCHER_V3_NODE_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_type_matcher_v3_node_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_type_matcher_v3_NodeMatcher_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_type_matcher_v3_node_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.type.matcher.v3.NodeMatcher"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_TYPE_MATCHER_V3_NODE_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c new file mode 100644 index 00000000000..6660ffad3a1 --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c @@ -0,0 +1,63 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/struct.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#include "upb/def.h" +#include "envoy/type/matcher/v3/struct.upbdefs.h" + +extern upb_def_init envoy_type_matcher_v3_value_proto_upbdefinit; +extern upb_def_init udpa_annotations_status_proto_upbdefinit; +extern upb_def_init udpa_annotations_versioning_proto_upbdefinit; +extern upb_def_init validate_validate_proto_upbdefinit; +extern const upb_msglayout envoy_type_matcher_v3_StructMatcher_msginit; +extern const upb_msglayout envoy_type_matcher_v3_StructMatcher_PathSegment_msginit; + +static const upb_msglayout *layouts[2] = { + &envoy_type_matcher_v3_StructMatcher_msginit, + &envoy_type_matcher_v3_StructMatcher_PathSegment_msginit, +}; + +static const char descriptor[576] = {'\n', '\"', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', 'c', 'h', 'e', 'r', '/', 'v', '3', '/', 's', +'t', 'r', 'u', 'c', 't', '.', 'p', 'r', 'o', 't', 'o', '\022', '\025', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', +'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '\032', '!', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e', '/', 'm', 'a', 't', +'c', 'h', 'e', 'r', '/', 'v', '3', '/', 'v', 'a', 'l', 'u', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', +'/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', 't', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', +'\032', '!', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 'v', 'e', 'r', 's', 'i', 'o', +'n', 'i', 'n', 'g', '.', 'p', 'r', 'o', 't', 'o', '\032', '\027', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', +'d', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\"', '\276', '\002', '\n', '\r', 'S', 't', 'r', 'u', 'c', 't', 'M', 'a', 't', 'c', +'h', 'e', 'r', '\022', 'N', '\n', '\004', 'p', 'a', 't', 'h', '\030', '\002', ' ', '\003', '(', '\013', '2', '0', '.', 'e', 'n', 'v', 'o', 'y', +'.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'S', 't', 'r', 'u', 'c', 't', 'M', 'a', +'t', 'c', 'h', 'e', 'r', '.', 'P', 'a', 't', 'h', 'S', 'e', 'g', 'm', 'e', 'n', 't', 'B', '\010', '\372', 'B', '\005', '\222', '\001', '\002', +'\010', '\001', 'R', '\004', 'p', 'a', 't', 'h', '\022', 'C', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '#', +'.', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', '.', 'V', 'a', +'l', 'u', 'e', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'B', '\010', '\372', 'B', '\005', '\212', '\001', '\002', '\020', '\001', 'R', '\005', 'v', 'a', 'l', +'u', 'e', '\032', 'o', '\n', '\013', 'P', 'a', 't', 'h', 'S', 'e', 'g', 'm', 'e', 'n', 't', '\022', '\033', '\n', '\003', 'k', 'e', 'y', '\030', +'\001', ' ', '\001', '(', '\t', 'B', '\007', '\372', 'B', '\004', 'r', '\002', '\020', '\001', 'H', '\000', 'R', '\003', 'k', 'e', 'y', ':', '3', '\232', '\305', +'\210', '\036', '.', '\n', ',', 'e', 'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'S', +'t', 'r', 'u', 'c', 't', 'M', 'a', 't', 'c', 'h', 'e', 'r', '.', 'P', 'a', 't', 'h', 'S', 'e', 'g', 'm', 'e', 'n', 't', 'B', +'\016', '\n', '\007', 's', 'e', 'g', 'm', 'e', 'n', 't', '\022', '\003', '\370', 'B', '\001', ':', '\'', '\232', '\305', '\210', '\036', '\"', '\n', ' ', 'e', +'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'S', 't', 'r', 'u', 'c', 't', 'M', +'a', 't', 'c', 'h', 'e', 'r', 'B', '<', '\n', '#', 'i', 'o', '.', 'e', 'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', +'n', 'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'm', 'a', 't', 'c', 'h', 'e', 'r', '.', 'v', '3', 'B', '\013', 'S', 't', 'r', +'u', 'c', 't', 'P', 'r', 'o', 't', 'o', 'P', '\001', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', 'o', +'3', +}; + +static upb_def_init *deps[5] = { + &envoy_type_matcher_v3_value_proto_upbdefinit, + &udpa_annotations_status_proto_upbdefinit, + &udpa_annotations_versioning_proto_upbdefinit, + &validate_validate_proto_upbdefinit, + NULL +}; + +upb_def_init envoy_type_matcher_v3_struct_proto_upbdefinit = { + deps, + layouts, + "envoy/type/matcher/v3/struct.proto", + UPB_STRVIEW_INIT(descriptor, 576) +}; diff --git a/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h new file mode 100644 index 00000000000..472d486aa8b --- /dev/null +++ b/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h @@ -0,0 +1,40 @@ +/* This file was generated by upbc (the upb compiler) from the input + * file: + * + * envoy/type/matcher/v3/struct.proto + * + * Do not edit -- your changes will be discarded when the file is + * regenerated. */ + +#ifndef ENVOY_TYPE_MATCHER_V3_STRUCT_PROTO_UPBDEFS_H_ +#define ENVOY_TYPE_MATCHER_V3_STRUCT_PROTO_UPBDEFS_H_ + +#include "upb/def.h" +#include "upb/port_def.inc" +#ifdef __cplusplus +extern "C" { +#endif + +#include "upb/def.h" + +#include "upb/port_def.inc" + +extern upb_def_init envoy_type_matcher_v3_struct_proto_upbdefinit; + +UPB_INLINE const upb_msgdef *envoy_type_matcher_v3_StructMatcher_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_type_matcher_v3_struct_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.type.matcher.v3.StructMatcher"); +} + +UPB_INLINE const upb_msgdef *envoy_type_matcher_v3_StructMatcher_PathSegment_getmsgdef(upb_symtab *s) { + _upb_symtab_loaddefinit(s, &envoy_type_matcher_v3_struct_proto_upbdefinit); + return upb_symtab_lookupmsg(s, "envoy.type.matcher.v3.StructMatcher.PathSegment"); +} + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#include "upb/port_undef.inc" + +#endif /* ENVOY_TYPE_MATCHER_V3_STRUCT_PROTO_UPBDEFS_H_ */ diff --git a/src/core/ext/xds/xds_api.cc b/src/core/ext/xds/xds_api.cc index be2abf5b98e..766ded0e5a8 100644 --- a/src/core/ext/xds/xds_api.cc +++ b/src/core/ext/xds/xds_api.cc @@ -28,11 +28,13 @@ #include "absl/strings/str_format.h" #include "absl/strings/str_join.h" #include "absl/strings/str_split.h" +#include "envoy/admin/v3/config_dump.upb.h" #include "envoy/config/cluster/v3/circuit_breaker.upb.h" #include "envoy/config/cluster/v3/cluster.upb.h" #include "envoy/config/cluster/v3/cluster.upbdefs.h" #include "envoy/config/core/v3/address.upb.h" #include "envoy/config/core/v3/base.upb.h" +#include "envoy/config/core/v3/base.upbdefs.h" #include "envoy/config/core/v3/config_source.upb.h" #include "envoy/config/core/v3/health_check.upb.h" #include "envoy/config/core/v3/protocol.upb.h" @@ -47,11 +49,14 @@ #include "envoy/config/route/v3/route.upb.h" #include "envoy/config/route/v3/route.upbdefs.h" #include "envoy/config/route/v3/route_components.upb.h" +#include "envoy/config/route/v3/route_components.upbdefs.h" #include "envoy/extensions/clusters/aggregate/v3/cluster.upb.h" +#include "envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h" #include "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h" #include "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h" #include "envoy/extensions/transport_sockets/tls/v3/common.upb.h" #include "envoy/extensions/transport_sockets/tls/v3/tls.upb.h" +#include "envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h" #include "envoy/service/cluster/v3/cds.upb.h" #include "envoy/service/cluster/v3/cds.upbdefs.h" #include "envoy/service/discovery/v3/discovery.upb.h" @@ -63,6 +68,8 @@ #include "envoy/service/load_stats/v3/lrs.upbdefs.h" #include "envoy/service/route/v3/rds.upb.h" #include "envoy/service/route/v3/rds.upbdefs.h" +#include "envoy/service/status/v3/csds.upb.h" +#include "envoy/service/status/v3/csds.upbdefs.h" #include "envoy/type/matcher/v3/regex.upb.h" #include "envoy/type/matcher/v3/string.upb.h" #include "envoy/type/v3/percent.upb.h" @@ -70,6 +77,7 @@ #include "google/protobuf/any.upb.h" #include "google/protobuf/duration.upb.h" #include "google/protobuf/struct.upb.h" +#include "google/protobuf/timestamp.upb.h" #include "google/protobuf/wrappers.upb.h" #include "google/rpc/status.upb.h" #include "udpa/type/v1/typed_struct.upb.h" @@ -726,7 +734,11 @@ XdsApi::XdsApi(XdsClient* client, TraceFlag* tracer, envoy_config_listener_v3_Listener_getmsgdef(symtab_.ptr()); envoy_config_route_v3_RouteConfiguration_getmsgdef(symtab_.ptr()); envoy_config_cluster_v3_Cluster_getmsgdef(symtab_.ptr()); + envoy_extensions_clusters_aggregate_v3_ClusterConfig_getmsgdef(symtab_.ptr()); + envoy_config_cluster_v3_Cluster_getmsgdef(symtab_.ptr()); envoy_config_endpoint_v3_ClusterLoadAssignment_getmsgdef(symtab_.ptr()); + envoy_extensions_transport_sockets_tls_v3_UpstreamTlsContext_getmsgdef( + symtab_.ptr()); envoy_extensions_filters_network_http_connection_manager_v3_HttpConnectionManager_getmsgdef( symtab_.ptr()); // Load HTTP filter proto messages into the upb symtab. @@ -1514,6 +1526,9 @@ grpc_error* RouteConfigParse( for (size_t j = 0; j < num_routes; ++j) { const envoy_config_route_v3_RouteMatch* match = envoy_config_route_v3_Route_match(routes[j]); + if (match == nullptr) { + return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Match can't be null."); + } size_t query_parameters_size; static_cast(envoy_config_route_v3_RouteMatch_query_parameters( match, &query_parameters_size)); @@ -2128,7 +2143,11 @@ grpc_error* LdsResponseParse( resource_names_failed->insert(listener_name); continue; } - XdsApi::LdsUpdate& lds_update = (*lds_update_map)[listener_name]; + // Serialize into JSON and store it in the LdsUpdateMap + XdsApi::LdsResourceData& lds_resource_data = + (*lds_update_map)[listener_name]; + XdsApi::LdsUpdate& lds_update = lds_resource_data.resource; + lds_resource_data.serialized_proto = UpbStringToStdString(encoded_listener); // Check whether it's a client or server listener. const envoy_config_listener_v3_ApiListener* api_listener = envoy_config_listener_v3_Listener_api_listener(listener); @@ -2217,8 +2236,13 @@ grpc_error* RdsResponseParse( resource_names_failed->insert(route_config_name); continue; } + // Serialize into JSON and store it in the RdsUpdateMap + XdsApi::RdsResourceData& rds_resource_data = + (*rds_update_map)[route_config_name]; + XdsApi::RdsUpdate& rds_update = rds_resource_data.resource; + rds_resource_data.serialized_proto = + UpbStringToStdString(encoded_route_config); // Parse the route_config. - XdsApi::RdsUpdate& rds_update = (*rds_update_map)[route_config_name]; grpc_error* error = RouteConfigParse(context, route_config, &rds_update); if (error != GRPC_ERROR_NONE) { errors.push_back(grpc_error_add_child( @@ -2280,7 +2304,11 @@ grpc_error* CdsResponseParse( resource_names_failed->insert(cluster_name); continue; } - XdsApi::CdsUpdate& cds_update = (*cds_update_map)[cluster_name]; + // Serialize into JSON and store it in the CdsUpdateMap + XdsApi::CdsResourceData& cds_resource_data = + (*cds_update_map)[cluster_name]; + XdsApi::CdsUpdate& cds_update = cds_resource_data.resource; + cds_resource_data.serialized_proto = UpbStringToStdString(encoded_cluster); // Check the cluster_discovery_type. if (!envoy_config_cluster_v3_Cluster_has_type(cluster) && !envoy_config_cluster_v3_Cluster_has_cluster_type(cluster)) { @@ -2608,6 +2636,9 @@ grpc_error* LocalityParse( const envoy_config_core_v3_Locality* locality = envoy_config_endpoint_v3_LocalityLbEndpoints_locality( locality_lb_endpoints); + if (locality == nullptr) { + return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Empty locality."); + } std::string region = UpbStringToStdString(envoy_config_core_v3_Locality_region(locality)); std::string zone = @@ -2723,7 +2754,12 @@ grpc_error* EdsResponseParse( resource_names_failed->insert(eds_service_name); continue; } - XdsApi::EdsUpdate& eds_update = (*eds_update_map)[eds_service_name]; + // Serialize into JSON and store it in the EdsUpdateMap + XdsApi::EdsResourceData& eds_resource_data = + (*eds_update_map)[eds_service_name]; + XdsApi::EdsUpdate& eds_update = eds_resource_data.resource; + eds_resource_data.serialized_proto = + UpbStringToStdString(encoded_cluster_load_assignment); // Get the endpoints. size_t locality_size; const envoy_config_endpoint_v3_LocalityLbEndpoints* const* endpoints = @@ -3083,4 +3119,276 @@ grpc_error* XdsApi::ParseLrsResponse(const grpc_slice& encoded_response, return GRPC_ERROR_NONE; } +namespace { +google_protobuf_Timestamp* GrpcMillisToTimestamp(const EncodingContext& context, + grpc_millis value) { + google_protobuf_Timestamp* timestamp = + google_protobuf_Timestamp_new(context.arena); + gpr_timespec timespec = grpc_millis_to_timespec(value, GPR_CLOCK_MONOTONIC); + google_protobuf_Timestamp_set_seconds(timestamp, timespec.tv_sec); + google_protobuf_Timestamp_set_nanos(timestamp, timespec.tv_nsec); + return timestamp; +} + +envoy_admin_v3_UpdateFailureState* CreateUpdateFailureStateUpb( + const EncodingContext& context, + const XdsApi::ResourceMetadata* resource_metadata) { + auto* update_failure_state = + envoy_admin_v3_UpdateFailureState_new(context.arena); + envoy_admin_v3_UpdateFailureState_set_details( + update_failure_state, + StdStringToUpbString(resource_metadata->failed_details)); + envoy_admin_v3_UpdateFailureState_set_version_info( + update_failure_state, + StdStringToUpbString(resource_metadata->failed_version)); + envoy_admin_v3_UpdateFailureState_set_last_update_attempt( + update_failure_state, + GrpcMillisToTimestamp(context, resource_metadata->failed_update_time)); + return update_failure_state; +} + +void DumpLdsConfig(const EncodingContext& context, + const XdsApi::ResourceTypeMetadata& resource_type_metadata, + envoy_service_status_v3_PerXdsConfig* per_xds_config) { + upb_strview kLdsTypeUrlUpb = upb_strview_makez(XdsApi::kLdsTypeUrl); + auto* listener_config_dump = + envoy_service_status_v3_PerXdsConfig_mutable_listener_config( + per_xds_config, context.arena); + envoy_admin_v3_ListenersConfigDump_set_version_info( + listener_config_dump, + StdStringToUpbString(resource_type_metadata.version)); + for (auto& p : resource_type_metadata.resource_metadata_map) { + absl::string_view name = p.first; + const XdsApi::ResourceMetadata* meta = p.second; + const upb_strview name_upb = StdStringToUpbString(name); + auto* dynamic_listener = + envoy_admin_v3_ListenersConfigDump_add_dynamic_listeners( + listener_config_dump, context.arena); + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_name( + dynamic_listener, name_upb); + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_client_status( + dynamic_listener, meta->client_status); + if (!meta->serialized_proto.empty()) { + // Set in-effective listeners + auto* dynamic_listener_state = + envoy_admin_v3_ListenersConfigDump_DynamicListener_mutable_active_state( + dynamic_listener, context.arena); + envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_version_info( + dynamic_listener_state, StdStringToUpbString(meta->version)); + envoy_admin_v3_ListenersConfigDump_DynamicListenerState_set_last_updated( + dynamic_listener_state, + GrpcMillisToTimestamp(context, meta->update_time)); + auto* listener_any = + envoy_admin_v3_ListenersConfigDump_DynamicListenerState_mutable_listener( + dynamic_listener_state, context.arena); + google_protobuf_Any_set_type_url(listener_any, kLdsTypeUrlUpb); + google_protobuf_Any_set_value( + listener_any, StdStringToUpbString(meta->serialized_proto)); + } + if (meta->client_status == XdsApi::ResourceMetadata::NACKED) { + // Set error_state if NACKED + envoy_admin_v3_ListenersConfigDump_DynamicListener_set_error_state( + dynamic_listener, CreateUpdateFailureStateUpb(context, meta)); + } + } +} + +void DumpRdsConfig(const EncodingContext& context, + const XdsApi::ResourceTypeMetadata& resource_type_metadata, + envoy_service_status_v3_PerXdsConfig* per_xds_config) { + upb_strview kRdsTypeUrlUpb = upb_strview_makez(XdsApi::kRdsTypeUrl); + auto* route_config_dump = + envoy_service_status_v3_PerXdsConfig_mutable_route_config(per_xds_config, + context.arena); + for (auto& p : resource_type_metadata.resource_metadata_map) { + absl::string_view name = p.first; + const XdsApi::ResourceMetadata* meta = p.second; + const upb_strview name_upb = StdStringToUpbString(name); + auto* dynamic_route_config = + envoy_admin_v3_RoutesConfigDump_add_dynamic_route_configs( + route_config_dump, context.arena); + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_client_status( + dynamic_route_config, meta->client_status); + auto* route_config_any = + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_mutable_route_config( + dynamic_route_config, context.arena); + if (!meta->serialized_proto.empty()) { + // Set in-effective route configs + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_version_info( + dynamic_route_config, StdStringToUpbString(meta->version)); + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_last_updated( + dynamic_route_config, + GrpcMillisToTimestamp(context, meta->update_time)); + google_protobuf_Any_set_type_url(route_config_any, kRdsTypeUrlUpb); + google_protobuf_Any_set_value( + route_config_any, StdStringToUpbString(meta->serialized_proto)); + } else { + // If there isn't a working route config, we still need to print the + // name. + auto* route_config = + envoy_config_route_v3_RouteConfiguration_new(context.arena); + envoy_config_route_v3_RouteConfiguration_set_name(route_config, name_upb); + size_t length; + char* bytes = envoy_config_route_v3_RouteConfiguration_serialize( + route_config, context.arena, &length); + google_protobuf_Any_set_type_url(route_config_any, kRdsTypeUrlUpb); + google_protobuf_Any_set_value(route_config_any, + upb_strview_make(bytes, length)); + } + if (meta->client_status == XdsApi::ResourceMetadata::NACKED) { + // Set error_state if NACKED + envoy_admin_v3_RoutesConfigDump_DynamicRouteConfig_set_error_state( + dynamic_route_config, CreateUpdateFailureStateUpb(context, meta)); + } + } +} + +void DumpCdsConfig(const EncodingContext& context, + const XdsApi::ResourceTypeMetadata& resource_type_metadata, + envoy_service_status_v3_PerXdsConfig* per_xds_config) { + upb_strview kCdsTypeUrlUpb = upb_strview_makez(XdsApi::kCdsTypeUrl); + auto* cluster_config_dump = + envoy_service_status_v3_PerXdsConfig_mutable_cluster_config( + per_xds_config, context.arena); + envoy_admin_v3_ClustersConfigDump_set_version_info( + cluster_config_dump, + StdStringToUpbString(resource_type_metadata.version)); + for (auto& p : resource_type_metadata.resource_metadata_map) { + absl::string_view name = p.first; + const XdsApi::ResourceMetadata* meta = p.second; + const upb_strview name_upb = StdStringToUpbString(name); + auto* dynamic_cluster = + envoy_admin_v3_ClustersConfigDump_add_dynamic_active_clusters( + cluster_config_dump, context.arena); + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_client_status( + dynamic_cluster, meta->client_status); + auto* cluster_any = + envoy_admin_v3_ClustersConfigDump_DynamicCluster_mutable_cluster( + dynamic_cluster, context.arena); + if (!meta->serialized_proto.empty()) { + // Set in-effective clusters + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_version_info( + dynamic_cluster, StdStringToUpbString(meta->version)); + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_last_updated( + dynamic_cluster, GrpcMillisToTimestamp(context, meta->update_time)); + google_protobuf_Any_set_type_url(cluster_any, kCdsTypeUrlUpb); + google_protobuf_Any_set_value( + cluster_any, StdStringToUpbString(meta->serialized_proto)); + } else { + // If there isn't a working cluster, we still need to print the name. + auto* cluster = envoy_config_cluster_v3_Cluster_new(context.arena); + envoy_config_cluster_v3_Cluster_set_name(cluster, name_upb); + size_t length; + char* bytes = envoy_config_cluster_v3_Cluster_serialize( + cluster, context.arena, &length); + google_protobuf_Any_set_type_url(cluster_any, kCdsTypeUrlUpb); + google_protobuf_Any_set_value(cluster_any, + upb_strview_make(bytes, length)); + } + if (meta->client_status == XdsApi::ResourceMetadata::NACKED) { + // Set error_state if NACKED + envoy_admin_v3_ClustersConfigDump_DynamicCluster_set_error_state( + dynamic_cluster, CreateUpdateFailureStateUpb(context, meta)); + } + } +} + +void DumpEdsConfig(const EncodingContext& context, + const XdsApi::ResourceTypeMetadata& resource_type_metadata, + envoy_service_status_v3_PerXdsConfig* per_xds_config) { + upb_strview kEdsTypeUrlUpb = upb_strview_makez(XdsApi::kEdsTypeUrl); + auto* endpoint_config_dump = + envoy_service_status_v3_PerXdsConfig_mutable_endpoint_config( + per_xds_config, context.arena); + for (auto& p : resource_type_metadata.resource_metadata_map) { + absl::string_view name = p.first; + const XdsApi::ResourceMetadata* meta = p.second; + const upb_strview name_upb = StdStringToUpbString(name); + auto* dynamic_endpoint = + envoy_admin_v3_EndpointsConfigDump_add_dynamic_endpoint_configs( + endpoint_config_dump, context.arena); + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_client_status( + dynamic_endpoint, meta->client_status); + auto* endpoint_any = + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_mutable_endpoint_config( + dynamic_endpoint, context.arena); + if (!meta->serialized_proto.empty()) { + // Set in-effective endpoints + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_version_info( + dynamic_endpoint, StdStringToUpbString(meta->version)); + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_last_updated( + dynamic_endpoint, GrpcMillisToTimestamp(context, meta->update_time)); + google_protobuf_Any_set_type_url(endpoint_any, kEdsTypeUrlUpb); + google_protobuf_Any_set_value( + endpoint_any, StdStringToUpbString(meta->serialized_proto)); + } else { + // If there isn't a working endpoint, we still need to print the name. + auto* cluster_load_assignment = + envoy_config_endpoint_v3_ClusterLoadAssignment_new(context.arena); + envoy_config_endpoint_v3_ClusterLoadAssignment_set_cluster_name( + cluster_load_assignment, name_upb); + size_t length; + char* bytes = envoy_config_endpoint_v3_ClusterLoadAssignment_serialize( + cluster_load_assignment, context.arena, &length); + google_protobuf_Any_set_type_url(endpoint_any, kEdsTypeUrlUpb); + google_protobuf_Any_set_value(endpoint_any, + upb_strview_make(bytes, length)); + } + if (meta->client_status == XdsApi::ResourceMetadata::NACKED) { + // Set error_state if NACKED + envoy_admin_v3_EndpointsConfigDump_DynamicEndpointConfig_set_error_state( + dynamic_endpoint, CreateUpdateFailureStateUpb(context, meta)); + } + } +} + +} // namespace + +std::string XdsApi::AssembleClientConfig( + const ResourceTypeMetadataMap& resource_type_metadata_map) { + upb::Arena arena; + // Create the ClientConfig for resource metadata from XdsClient + auto* client_config = envoy_service_status_v3_ClientConfig_new(arena.ptr()); + // Fill-in the node information + auto* node = envoy_service_status_v3_ClientConfig_mutable_node(client_config, + arena.ptr()); + const EncodingContext context = {client_, tracer_, symtab_.ptr(), arena.ptr(), + true}; + PopulateNode(context, node_, build_version_, user_agent_name_, node); + // Dump each xDS-type config into PerXdsConfig + for (auto& p : resource_type_metadata_map) { + absl::string_view type_url = p.first; + const ResourceTypeMetadata& resource_type_metadata = p.second; + if (type_url == kLdsTypeUrl) { + auto* per_xds_config = + envoy_service_status_v3_ClientConfig_add_xds_config(client_config, + context.arena); + DumpLdsConfig(context, resource_type_metadata, per_xds_config); + } else if (type_url == kRdsTypeUrl) { + auto* per_xds_config = + envoy_service_status_v3_ClientConfig_add_xds_config(client_config, + context.arena); + DumpRdsConfig(context, resource_type_metadata, per_xds_config); + } else if (type_url == kCdsTypeUrl) { + auto* per_xds_config = + envoy_service_status_v3_ClientConfig_add_xds_config(client_config, + context.arena); + DumpCdsConfig(context, resource_type_metadata, per_xds_config); + } else if (type_url == kEdsTypeUrl) { + auto* per_xds_config = + envoy_service_status_v3_ClientConfig_add_xds_config(client_config, + context.arena); + DumpEdsConfig(context, resource_type_metadata, per_xds_config); + } else { + gpr_log(GPR_ERROR, "invalid type_url %s", std::string(type_url).c_str()); + return ""; + } + } + // Serialize the upb message to bytes + size_t output_length; + char* output = envoy_service_status_v3_ClientConfig_serialize( + client_config, arena.ptr(), &output_length); + return std::string(output, output_length); +} + } // namespace grpc_core diff --git a/src/core/ext/xds/xds_api.h b/src/core/ext/xds/xds_api.h index f936c192ec2..bc689976a7d 100644 --- a/src/core/ext/xds/xds_api.h +++ b/src/core/ext/xds/xds_api.h @@ -33,6 +33,7 @@ #include +#include "envoy/admin/v3/config_dump.upb.h" #include "src/core/ext/filters/client_channel/server_address.h" #include "src/core/ext/xds/xds_bootstrap.h" #include "src/core/ext/xds/xds_client_stats.h" @@ -329,9 +330,20 @@ class XdsApi { std::string ToString() const; }; - using LdsUpdateMap = std::map; + struct LdsResourceData { + LdsUpdate resource; + std::string serialized_proto; + }; + + using LdsUpdateMap = std::map; - using RdsUpdateMap = std::map; + struct RdsResourceData { + RdsUpdate resource; + std::string serialized_proto; + }; + + using RdsUpdateMap = + std::map; struct CdsUpdate { enum ClusterType { EDS, LOGICAL_DNS, AGGREGATE }; @@ -374,7 +386,12 @@ class XdsApi { std::string ToString() const; }; - using CdsUpdateMap = std::map; + struct CdsResourceData { + CdsUpdate resource; + std::string serialized_proto; + }; + + using CdsUpdateMap = std::map; struct EdsUpdate { struct Priority { @@ -458,7 +475,13 @@ class XdsApi { std::string ToString() const; }; - using EdsUpdateMap = std::map; + struct EdsResourceData { + EdsUpdate resource; + std::string serialized_proto; + }; + + using EdsUpdateMap = + std::map; struct ClusterLoadReport { XdsClusterDropStats::Snapshot dropped_requests; @@ -471,18 +494,66 @@ class XdsApi { std::pair, ClusterLoadReport>; - XdsApi(XdsClient* client, TraceFlag* tracer, const XdsBootstrap::Node* node); + // The metadata of the xDS resource; used by the xDS config dump. + struct ResourceMetadata { + // Resource status from the view of a xDS client, which tells the + // synchronization status between the xDS client and the xDS server. + enum ClientResourceStatus { + // Client requested this resource but hasn't received any update from + // management server. The client will not fail requests, but will queue + // them + // until update arrives or the client times out waiting for the resource. + REQUESTED = 1, + // This resource has been requested by the client but has either not been + // delivered by the server or was previously delivered by the server and + // then subsequently removed from resources provided by the server. + DOES_NOT_EXIST, + // Client received this resource and replied with ACK. + ACKED, + // Client received this resource and replied with NACK. + NACKED + }; - // Creates an ADS request. - // Takes ownership of \a error. - grpc_slice CreateAdsRequest(const XdsBootstrap::XdsServer& server, - const std::string& type_url, - const std::set& resource_names, - const std::string& version, - const std::string& nonce, grpc_error* error, - bool populate_node); + // The client status of this resource. + ClientResourceStatus client_status = REQUESTED; + // The serialized bytes of the last successfully updated raw xDS resource. + std::string serialized_proto; + // The timestamp when the resource was last successfully updated. + grpc_millis update_time = 0; + // The last successfully updated version of the resource. + std::string version; + // The rejected version string of the last failed update attempt. + std::string failed_version; + // Details about the last failed update attempt. + std::string failed_details; + // Timestamp of the last failed update attempt. + grpc_millis failed_update_time = 0; + }; + using ResourceMetadataMap = + std::map; + struct ResourceTypeMetadata { + absl::string_view version; + ResourceMetadataMap resource_metadata_map; + }; + using ResourceTypeMetadataMap = + std::map; + static_assert(static_cast( + envoy_admin_v3_REQUESTED) == + ResourceMetadata::ClientResourceStatus::REQUESTED, + ""); + static_assert(static_cast( + envoy_admin_v3_DOES_NOT_EXIST) == + ResourceMetadata::ClientResourceStatus::DOES_NOT_EXIST, + ""); + static_assert(static_cast( + envoy_admin_v3_ACKED) == + ResourceMetadata::ClientResourceStatus::ACKED, + ""); + static_assert(static_cast( + envoy_admin_v3_NACKED) == + ResourceMetadata::ClientResourceStatus::NACKED, + ""); - // Parses an ADS response. // If the response can't be parsed at the top level, the resulting // type_url will be empty. // If there is any other type of validation error, the parse_error @@ -501,6 +572,19 @@ class XdsApi { EdsUpdateMap eds_update_map; std::set resource_names_failed; }; + + XdsApi(XdsClient* client, TraceFlag* tracer, const XdsBootstrap::Node* node); + + // Creates an ADS request. + // Takes ownership of \a error. + grpc_slice CreateAdsRequest(const XdsBootstrap::XdsServer& server, + const std::string& type_url, + const std::set& resource_names, + const std::string& version, + const std::string& nonce, grpc_error* error, + bool populate_node); + + // Parses an ADS response. AdsParseResult ParseAdsResponse( const XdsBootstrap::XdsServer& server, const grpc_slice& encoded_response, const std::set& expected_listener_names, @@ -522,6 +606,10 @@ class XdsApi { std::set* cluster_names, grpc_millis* load_reporting_interval); + // Assemble the client config proto message and return the serialized result. + std::string AssembleClientConfig( + const ResourceTypeMetadataMap& resource_type_metadata_map); + private: XdsClient* client_; TraceFlag* tracer_; diff --git a/src/core/ext/xds/xds_client.cc b/src/core/ext/xds/xds_client.cc index 1d27c344446..f0b576206bc 100644 --- a/src/core/ext/xds/xds_client.cc +++ b/src/core/ext/xds/xds_client.cc @@ -35,6 +35,7 @@ #include "src/core/ext/filters/client_channel/client_channel.h" #include "src/core/ext/filters/client_channel/service_config.h" #include "src/core/ext/xds/xds_api.h" +#include "src/core/ext/xds/xds_bootstrap.h" #include "src/core/ext/xds/xds_channel_args.h" #include "src/core/ext/xds/xds_client.h" #include "src/core/ext/xds/xds_client_stats.h" @@ -195,28 +196,34 @@ class XdsClient::ChannelState::AdsCallState "timeout obtaining resource {type=%s name=%s} from xds server", type_url_, name_) .c_str()); + watcher_error = grpc_error_set_int( + watcher_error, GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE); if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { gpr_log(GPR_INFO, "[xds_client %p] %s", ads_calld_->xds_client(), grpc_error_string(watcher_error)); } if (type_url_ == XdsApi::kLdsTypeUrl) { ListenerState& state = ads_calld_->xds_client()->listener_map_[name_]; + state.meta.client_status = XdsApi::ResourceMetadata::DOES_NOT_EXIST; for (const auto& p : state.watchers) { p.first->OnError(GRPC_ERROR_REF(watcher_error)); } } else if (type_url_ == XdsApi::kRdsTypeUrl) { RouteConfigState& state = ads_calld_->xds_client()->route_config_map_[name_]; + state.meta.client_status = XdsApi::ResourceMetadata::DOES_NOT_EXIST; for (const auto& p : state.watchers) { p.first->OnError(GRPC_ERROR_REF(watcher_error)); } } else if (type_url_ == XdsApi::kCdsTypeUrl) { ClusterState& state = ads_calld_->xds_client()->cluster_map_[name_]; + state.meta.client_status = XdsApi::ResourceMetadata::DOES_NOT_EXIST; for (const auto& p : state.watchers) { p.first->OnError(GRPC_ERROR_REF(watcher_error)); } } else if (type_url_ == XdsApi::kEdsTypeUrl) { EndpointState& state = ads_calld_->xds_client()->endpoint_map_[name_]; + state.meta.client_status = XdsApi::ResourceMetadata::DOES_NOT_EXIST; for (const auto& p : state.watchers) { p.first->OnError(GRPC_ERROR_REF(watcher_error)); } @@ -252,10 +259,14 @@ class XdsClient::ChannelState::AdsCallState void SendMessageLocked(const std::string& type_url); - void AcceptLdsUpdate(XdsApi::LdsUpdateMap lds_update_map); - void AcceptRdsUpdate(XdsApi::RdsUpdateMap rds_update_map); - void AcceptCdsUpdate(XdsApi::CdsUpdateMap cds_update_map); - void AcceptEdsUpdate(XdsApi::EdsUpdateMap eds_update_map); + void AcceptLdsUpdate(std::string version, grpc_millis update_time, + XdsApi::LdsUpdateMap lds_update_map); + void AcceptRdsUpdate(std::string version, grpc_millis update_time, + XdsApi::RdsUpdateMap rds_update_map); + void AcceptCdsUpdate(std::string version, grpc_millis update_time, + XdsApi::CdsUpdateMap cds_update_map); + void AcceptEdsUpdate(std::string version, grpc_millis update_time, + XdsApi::EdsUpdateMap eds_update_map); static void OnRequestSent(void* arg, grpc_error* error); void OnRequestSentLocked(grpc_error* error); @@ -504,7 +515,7 @@ XdsClient::ChannelState::LrsCallState* XdsClient::ChannelState::lrs_calld() } bool XdsClient::ChannelState::HasActiveAdsCall() const { - return ads_calld_->calld() != nullptr; + return ads_calld_ != nullptr && ads_calld_->calld() != nullptr; } void XdsClient::ChannelState::MaybeStartLrsCall() { @@ -867,7 +878,24 @@ bool XdsClient::ChannelState::AdsCallState::HasSubscribedResources() const { return false; } +namespace { + +// Build a resource metadata struct for ADS result accepting methods and CSDS. +XdsApi::ResourceMetadata CreateResourceMetadataAcked( + std::string serialized_proto, std::string version, + grpc_millis update_time) { + XdsApi::ResourceMetadata resource_metadata; + resource_metadata.serialized_proto = std::move(serialized_proto); + resource_metadata.update_time = update_time; + resource_metadata.version = std::move(version); + resource_metadata.client_status = XdsApi::ResourceMetadata::ACKED; + return resource_metadata; +} + +} // namespace + void XdsClient::ChannelState::AdsCallState::AcceptLdsUpdate( + std::string version, grpc_millis update_time, XdsApi::LdsUpdateMap lds_update_map) { if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { gpr_log(GPR_INFO, @@ -879,7 +907,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptLdsUpdate( std::set rds_resource_names_seen; for (auto& p : lds_update_map) { const std::string& listener_name = p.first; - XdsApi::LdsUpdate& lds_update = p.second; + XdsApi::LdsUpdate& lds_update = p.second.resource; auto& state = lds_state.subscribed_resources[listener_name]; if (state != nullptr) state->Finish(); if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { @@ -905,6 +933,8 @@ void XdsClient::ChannelState::AdsCallState::AcceptLdsUpdate( } // Update the listener state. listener_state.update = std::move(lds_update); + listener_state.meta = CreateResourceMetadataAcked( + std::move(p.second.serialized_proto), version, update_time); // Notify watchers. for (const auto& p : listener_state.watchers) { p.first->OnListenerChanged(*listener_state.update); @@ -949,6 +979,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptLdsUpdate( } void XdsClient::ChannelState::AdsCallState::AcceptRdsUpdate( + std::string version, grpc_millis update_time, XdsApi::RdsUpdateMap rds_update_map) { if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { gpr_log(GPR_INFO, @@ -959,7 +990,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptRdsUpdate( auto& rds_state = state_map_[XdsApi::kRdsTypeUrl]; for (auto& p : rds_update_map) { const std::string& route_config_name = p.first; - XdsApi::RdsUpdate& rds_update = p.second; + XdsApi::RdsUpdate& rds_update = p.second.resource; auto& state = rds_state.subscribed_resources[route_config_name]; if (state != nullptr) state->Finish(); if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { @@ -980,6 +1011,8 @@ void XdsClient::ChannelState::AdsCallState::AcceptRdsUpdate( } // Update the cache. route_config_state.update = std::move(rds_update); + route_config_state.meta = CreateResourceMetadataAcked( + std::move(p.second.serialized_proto), version, update_time); // Notify all watchers. for (const auto& p : route_config_state.watchers) { p.first->OnRouteConfigChanged(*route_config_state.update); @@ -988,6 +1021,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptRdsUpdate( } void XdsClient::ChannelState::AdsCallState::AcceptCdsUpdate( + std::string version, grpc_millis update_time, XdsApi::CdsUpdateMap cds_update_map) { if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { gpr_log(GPR_INFO, @@ -999,7 +1033,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptCdsUpdate( std::set eds_resource_names_seen; for (auto& p : cds_update_map) { const char* cluster_name = p.first.c_str(); - XdsApi::CdsUpdate& cds_update = p.second; + XdsApi::CdsUpdate& cds_update = p.second.resource; auto& state = cds_state.subscribed_resources[cluster_name]; if (state != nullptr) state->Finish(); if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { @@ -1023,6 +1057,8 @@ void XdsClient::ChannelState::AdsCallState::AcceptCdsUpdate( } // Update the cluster state. cluster_state.update = std::move(cds_update); + cluster_state.meta = CreateResourceMetadataAcked( + std::move(p.second.serialized_proto), version, update_time); // Notify all watchers. for (const auto& p : cluster_state.watchers) { p.first->OnClusterChanged(cluster_state.update.value()); @@ -1066,6 +1102,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptCdsUpdate( } void XdsClient::ChannelState::AdsCallState::AcceptEdsUpdate( + std::string version, grpc_millis update_time, XdsApi::EdsUpdateMap eds_update_map) { if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { gpr_log(GPR_INFO, @@ -1076,7 +1113,7 @@ void XdsClient::ChannelState::AdsCallState::AcceptEdsUpdate( auto& eds_state = state_map_[XdsApi::kEdsTypeUrl]; for (auto& p : eds_update_map) { const char* eds_service_name = p.first.c_str(); - XdsApi::EdsUpdate& eds_update = p.second; + XdsApi::EdsUpdate& eds_update = p.second.resource; auto& state = eds_state.subscribed_resources[eds_service_name]; if (state != nullptr) state->Finish(); if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) { @@ -1097,6 +1134,8 @@ void XdsClient::ChannelState::AdsCallState::AcceptEdsUpdate( } // Update the cluster state. endpoint_state.update = std::move(eds_update); + endpoint_state.meta = CreateResourceMetadataAcked( + std::move(p.second.serialized_proto), version, update_time); // Notify all watchers. for (const auto& p : endpoint_state.watchers) { p.first->OnEndpointChanged(endpoint_state.update.value()); @@ -1176,11 +1215,14 @@ bool XdsClient::ChannelState::AdsCallState::OnResponseReceivedLocked() { xds_client(), grpc_error_string(result.parse_error)); GRPC_ERROR_UNREF(result.parse_error); } else { + grpc_millis update_time = grpc_core::ExecCtx::Get()->Now(); // Update nonce. auto& state = state_map_[result.type_url]; state.nonce = std::move(result.nonce); // NACK or ACK the response. if (result.parse_error != GRPC_ERROR_NONE) { + xds_client()->UpdateResourceMetadataWithFailedParseResult(update_time, + result); GRPC_ERROR_UNREF(state.error); state.error = result.parse_error; // NACK unacceptable update. @@ -1194,13 +1236,17 @@ bool XdsClient::ChannelState::AdsCallState::OnResponseReceivedLocked() { seen_response_ = true; // Accept the ADS response according to the type_url. if (result.type_url == XdsApi::kLdsTypeUrl) { - AcceptLdsUpdate(std::move(result.lds_update_map)); + AcceptLdsUpdate(result.version, update_time, + std::move(result.lds_update_map)); } else if (result.type_url == XdsApi::kRdsTypeUrl) { - AcceptRdsUpdate(std::move(result.rds_update_map)); + AcceptRdsUpdate(result.version, update_time, + std::move(result.rds_update_map)); } else if (result.type_url == XdsApi::kCdsTypeUrl) { - AcceptCdsUpdate(std::move(result.cds_update_map)); + AcceptCdsUpdate(result.version, update_time, + std::move(result.cds_update_map)); } else if (result.type_url == XdsApi::kEdsTypeUrl) { - AcceptEdsUpdate(std::move(result.eds_update_map)); + AcceptEdsUpdate(result.version, update_time, + std::move(result.eds_update_map)); } xds_client()->resource_version_map_[result.type_url] = std::move(result.version); @@ -2195,6 +2241,80 @@ XdsApi::ClusterLoadReportMap XdsClient::BuildLoadReportSnapshotLocked( return snapshot_map; } +void XdsClient::UpdateResourceMetadataWithFailedParseResult( + grpc_millis update_time, const XdsApi::AdsParseResult& result) { + // ADS update is rejected and the resource names in the failed update is + // available. + absl::string_view details = grpc_error_string(result.parse_error); + for (auto& name : result.resource_names_failed) { + XdsApi::ResourceMetadata* resource_metadata = nullptr; + if (result.type_url == XdsApi::kLdsTypeUrl) { + auto it = listener_map_.find(name); + if (it != listener_map_.end()) { + resource_metadata = &it->second.meta; + } + } else if (result.type_url == XdsApi::kRdsTypeUrl) { + auto it = route_config_map_.find(name); + if (route_config_map_.find(name) != route_config_map_.end()) { + resource_metadata = &it->second.meta; + } + } else if (result.type_url == XdsApi::kCdsTypeUrl) { + auto it = cluster_map_.find(name); + if (cluster_map_.find(name) != cluster_map_.end()) { + resource_metadata = &it->second.meta; + } + } else if (result.type_url == XdsApi::kEdsTypeUrl) { + auto it = endpoint_map_.find(name); + if (endpoint_map_.find(name) != endpoint_map_.end()) { + resource_metadata = &it->second.meta; + } + } + if (resource_metadata == nullptr) { + return; + } + resource_metadata->client_status = XdsApi::ResourceMetadata::NACKED; + resource_metadata->failed_version = result.version; + resource_metadata->failed_details = std::string(details); + resource_metadata->failed_update_time = update_time; + } +} + +std::string XdsClient::DumpClientConfigBinary() { + MutexLock lock(&mu_); + XdsApi::ResourceTypeMetadataMap resource_type_metadata_map; + // Update per-xds-type version if available, this version corresponding to the + // last successful ADS update version. + for (auto& p : resource_version_map_) { + resource_type_metadata_map[p.first].version = p.second; + } + // Collect resource metadata from listeners + auto& lds_map = + resource_type_metadata_map[XdsApi::kLdsTypeUrl].resource_metadata_map; + for (auto& p : listener_map_) { + lds_map[p.first] = &p.second.meta; + } + // Collect resource metadata from route configs + auto& rds_map = + resource_type_metadata_map[XdsApi::kRdsTypeUrl].resource_metadata_map; + for (auto& p : route_config_map_) { + rds_map[p.first] = &p.second.meta; + } + // Collect resource metadata from clusters + auto& cds_map = + resource_type_metadata_map[XdsApi::kCdsTypeUrl].resource_metadata_map; + for (auto& p : cluster_map_) { + cds_map[p.first] = &p.second.meta; + } + // Collect resource metadata from endpoints + auto& eds_map = + resource_type_metadata_map[XdsApi::kEdsTypeUrl].resource_metadata_map; + for (auto& p : endpoint_map_) { + eds_map[p.first] = &p.second.meta; + } + // Assemble config dump messages + return api_.AssembleClientConfig(resource_type_metadata_map); +} + // // accessors for global state // @@ -2248,3 +2368,17 @@ void SetXdsFallbackBootstrapConfig(const char* config) { } // namespace internal } // namespace grpc_core + +// The returned bytes may contain NULL(0), so we can't use c-string. +grpc_slice grpc_dump_xds_configs() { + grpc_core::ApplicationCallbackExecCtx callback_exec_ctx; + grpc_core::ExecCtx exec_ctx; + grpc_error* error = GRPC_ERROR_NONE; + auto xds_client = grpc_core::XdsClient::GetOrCreate(&error); + if (error != GRPC_ERROR_NONE) { + // If we isn't using xDS, just return an empty string. + GRPC_ERROR_UNREF(error); + return grpc_empty_slice(); + } + return grpc_slice_from_cpp_string(xds_client->DumpClientConfigBinary()); +} diff --git a/src/core/ext/xds/xds_client.h b/src/core/ext/xds/xds_client.h index 059e49cab3a..41e0a379568 100644 --- a/src/core/ext/xds/xds_client.h +++ b/src/core/ext/xds/xds_client.h @@ -191,6 +191,15 @@ class XdsClient : public DualRefCounted { // Resets connection backoff state. void ResetBackoff(); + // Dumps the active xDS config in JSON format. + // Individual xDS resource is encoded as envoy.admin.v3.*ConfigDump. Returns + // envoy.service.status.v3.ClientConfig which also includes the config + // status (e.g., CLIENT_REQUESTED, CLIENT_ACKED, CLIENT_NACKED). + // + // Expected to be invoked by wrapper languages in their CSDS service + // implementation. + std::string DumpClientConfigBinary(); + private: // Contains a channel to the xds server and all the data related to the // channel. Holds a ref to the xds client object. @@ -221,6 +230,7 @@ class XdsClient : public DualRefCounted { void MaybeStartLrsCall(); void StopLrsCall(); + bool HasAdsCall() const; bool HasActiveAdsCall() const; void StartConnectivityWatchLocked(); @@ -254,6 +264,7 @@ class XdsClient : public DualRefCounted { watchers; // The latest data seen from LDS. absl::optional update; + XdsApi::ResourceMetadata meta; }; struct RouteConfigState { @@ -262,6 +273,7 @@ class XdsClient : public DualRefCounted { watchers; // The latest data seen from RDS. absl::optional update; + XdsApi::ResourceMetadata meta; }; struct ClusterState { @@ -269,6 +281,7 @@ class XdsClient : public DualRefCounted { watchers; // The latest data seen from CDS. absl::optional update; + XdsApi::ResourceMetadata meta; }; struct EndpointState { @@ -277,6 +290,7 @@ class XdsClient : public DualRefCounted { watchers; // The latest data seen from EDS. absl::optional update; + XdsApi::ResourceMetadata meta; }; struct LoadReportState { @@ -299,6 +313,12 @@ class XdsClient : public DualRefCounted { XdsApi::ClusterLoadReportMap BuildLoadReportSnapshotLocked( bool send_all_clusters, const std::set& clusters); + void UpdateResourceMetadataWithFailedParseResult( + grpc_millis update_time, const XdsApi::AdsParseResult& result); + void UpdatePendingResources( + const std::string& type_url, + XdsApi::ResourceMetadataMap* resource_metadata_map); + const grpc_millis request_timeout_; grpc_pollset_set* interested_parties_; std::unique_ptr bootstrap_; diff --git a/src/cpp/server/csds/csds.cc b/src/cpp/server/csds/csds.cc new file mode 100644 index 00000000000..fc8e7e0e3c2 --- /dev/null +++ b/src/cpp/server/csds/csds.cc @@ -0,0 +1,94 @@ +// +// +// Copyright 2021 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// + +#include + +#include "src/cpp/server/csds/csds.h" + +#include "absl/status/statusor.h" + +#include +#include +#include + +#include + +#include "src/proto/grpc/testing/xds/v3/csds.grpc.pb.h" + +namespace grpc { +namespace xds { +namespace experimental { + +using envoy::service::status::v3::ClientConfig; +using envoy::service::status::v3::ClientStatusRequest; +using envoy::service::status::v3::ClientStatusResponse; + +namespace { + +absl::StatusOr DumpClientConfig() { + ClientConfig client_config; + grpc_slice serialized_client_config = grpc_dump_xds_configs(); + std::string bytes = StringFromCopiedSlice(serialized_client_config); + grpc_slice_unref(serialized_client_config); + if (!client_config.ParseFromString(bytes)) { + return absl::InternalError("Failed to parse ClientConfig."); + } + return client_config; +} + +} // namespace + +Status ClientStatusDiscoveryService::StreamClientStatus( + ServerContext* /*context*/, + ServerReaderWriter* stream) { + ClientStatusRequest request; + while (stream->Read(&request)) { + ClientStatusResponse response; + absl::StatusOr s = DumpClientConfig(); + if (!s.ok()) { + if (s.status().code() == absl::StatusCode::kUnavailable) { + // If the xDS client is not initialized, return empty response + stream->Write(response); + continue; + } + return Status(StatusCode(s.status().raw_code()), s.status().ToString()); + } + *response.add_config() = std::move(s.value()); + stream->Write(response); + } + return Status::OK; +} + +Status ClientStatusDiscoveryService::FetchClientStatus( + ServerContext* /*context*/, const ClientStatusRequest* /*request*/, + ClientStatusResponse* response) { + absl::StatusOr s = DumpClientConfig(); + if (!s.ok()) { + if (s.status().code() == absl::StatusCode::kUnavailable) { + // If the xDS client is not initialized, return empty response + return Status::OK; + } + return Status(StatusCode(s.status().raw_code()), s.status().ToString()); + } + *response->add_config() = std::move(s.value()); + return Status::OK; +} + +} // namespace experimental +} // namespace xds +} // namespace grpc diff --git a/src/cpp/server/csds/csds.h b/src/cpp/server/csds/csds.h new file mode 100644 index 00000000000..be2a4aa1ee8 --- /dev/null +++ b/src/cpp/server/csds/csds.h @@ -0,0 +1,55 @@ +// +// +// Copyright 2021 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// + +#ifndef GRPC_INTERNAL_CPP_SERVER_CSDS_H +#define GRPC_INTERNAL_CPP_SERVER_CSDS_H + +#include +#include +#include "absl/status/status.h" + +#include "src/proto/grpc/testing/xds/v3/csds.grpc.pb.h" + +namespace grpc { +namespace xds { +namespace experimental { + +// The implementation of +// envoy::service::status::v3::ClientStatusDiscoveryService +class ClientStatusDiscoveryService final + : public envoy::service::status::v3::ClientStatusDiscoveryService::Service { + public: + // A streaming call that responds client status for each request. + Status StreamClientStatus( + ServerContext* /*context*/, + ServerReaderWriter* + stream) override; + + // An unary call to fetch client status. + Status FetchClientStatus( + ServerContext* /*unused*/, + const envoy::service::status::v3::ClientStatusRequest* /*request*/, + envoy::service::status::v3::ClientStatusResponse* response) override; +}; + +} // namespace experimental +} // namespace xds +} // namespace grpc + +#endif // GRPC_INTERNAL_CPP_SERVER_CSDS_H diff --git a/src/proto/grpc/testing/xds/v3/BUILD b/src/proto/grpc/testing/xds/v3/BUILD index 7b0ebdc73be..38a1c14b63b 100644 --- a/src/proto/grpc/testing/xds/v3/BUILD +++ b/src/proto/grpc/testing/xds/v3/BUILD @@ -245,6 +245,26 @@ grpc_proto_library( ], ) +grpc_proto_library( + name = "config_dump_proto", + srcs = [ + "config_dump.proto", + ], + well_known_protos = True, +) + +grpc_proto_library( + name = "csds_proto", + srcs = [ + "csds.proto", + ], + well_known_protos = True, + deps = [ + "base_proto", + "config_dump_proto", + ], +) + grpc_proto_library( name = "fault_proto", srcs = [ diff --git a/src/proto/grpc/testing/xds/v3/config_dump.proto b/src/proto/grpc/testing/xds/v3/config_dump.proto new file mode 100644 index 00000000000..d69b3109aac --- /dev/null +++ b/src/proto/grpc/testing/xds/v3/config_dump.proto @@ -0,0 +1,284 @@ +// Copyright 2021 The gRPC Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Local copy of Envoy xDS proto file, used for testing only. + +syntax = "proto3"; + +package envoy.admin.v3; + +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; + +// Resource status from the view of a xDS client, which tells the synchronization +// status between the xDS client and the xDS server. +enum ClientResourceStatus { + // Resource status is not available/unknown. + UNKNOWN = 0; + + // Client requested this resource but hasn't received any update from management + // server. The client will not fail requests, but will queue them until update + // arrives or the client times out waiting for the resource. + REQUESTED = 1; + + // This resource has been requested by the client but has either not been + // delivered by the server or was previously delivered by the server and then + // subsequently removed from resources provided by the server. For more + // information, please refer to the :ref:`"Knowing When a Requested Resource + // Does Not Exist" ` section. + DOES_NOT_EXIST = 2; + + // Client received this resource and replied with ACK. + ACKED = 3; + + // Client received this resource and replied with NACK. + NACKED = 4; +} + +message UpdateFailureState { + // What the component configuration would have been if the update had succeeded. + // This field may not be populated by xDS clients due to storage overhead. + google.protobuf.Any failed_configuration = 1; + + // Time of the latest failed update attempt. + google.protobuf.Timestamp last_update_attempt = 2; + + // Details about the last failed update attempt. + string details = 3; + + // This is the version of the rejected resource. + // [#not-implemented-hide:] + string version_info = 4; +} + +// Envoy's listener manager fills this message with all currently known listeners. Listener +// configuration information can be used to recreate an Envoy configuration by populating all +// listeners as static listeners or by returning them in a LDS response. +message ListenersConfigDump { + // Describes a statically loaded listener. + message StaticListener { + // The listener config. + google.protobuf.Any listener = 1; + + // The timestamp when the Listener was last successfully updated. + google.protobuf.Timestamp last_updated = 2; + } + + message DynamicListenerState { + // This is the per-resource version information. This version is currently taken from the + // :ref:`version_info ` field at the time + // that the listener was loaded. In the future, discrete per-listener versions may be supported + // by the API. + string version_info = 1; + + // The listener config. + google.protobuf.Any listener = 2; + + // The timestamp when the Listener was last successfully updated. + google.protobuf.Timestamp last_updated = 3; + } + + // Describes a dynamically loaded listener via the LDS API. + // [#next-free-field: 7] + message DynamicListener { + // The name or unique id of this listener, pulled from the DynamicListenerState config. + string name = 1; + + // The listener state for any active listener by this name. + // These are listeners that are available to service data plane traffic. + DynamicListenerState active_state = 2; + + // The listener state for any warming listener by this name. + // These are listeners that are currently undergoing warming in preparation to service data + // plane traffic. Note that if attempting to recreate an Envoy configuration from a + // configuration dump, the warming listeners should generally be discarded. + DynamicListenerState warming_state = 3; + + // The listener state for any draining listener by this name. + // These are listeners that are currently undergoing draining in preparation to stop servicing + // data plane traffic. Note that if attempting to recreate an Envoy configuration from a + // configuration dump, the draining listeners should generally be discarded. + DynamicListenerState draining_state = 4; + + // Set if the last update failed, cleared after the next successful update. + // The *error_state* field contains the rejected version of this particular + // resource along with the reason and timestamp. For successfully updated or + // acknowledged resource, this field should be empty. + UpdateFailureState error_state = 5; + + // The client status of this resource. + // [#not-implemented-hide:] + ClientResourceStatus client_status = 6; + } + + // This is the :ref:`version_info ` in the + // last processed LDS discovery response. If there are only static bootstrap listeners, this field + // will be "". + string version_info = 1; + + // The statically loaded listener configs. + repeated StaticListener static_listeners = 2; + + // State for any warming, active, or draining listeners. + repeated DynamicListener dynamic_listeners = 3; +} + +// Envoy's cluster manager fills this message with all currently known clusters. Cluster +// configuration information can be used to recreate an Envoy configuration by populating all +// clusters as static clusters or by returning them in a CDS response. +message ClustersConfigDump { + // Describes a statically loaded cluster. + message StaticCluster { + // The cluster config. + google.protobuf.Any cluster = 1; + + // The timestamp when the Cluster was last updated. + google.protobuf.Timestamp last_updated = 2; + } + + // Describes a dynamically loaded cluster via the CDS API. + // [#next-free-field: 6] + message DynamicCluster { + // This is the per-resource version information. This version is currently taken from the + // :ref:`version_info ` field at the time + // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by + // the API. + string version_info = 1; + + // The cluster config. + google.protobuf.Any cluster = 2; + + // The timestamp when the Cluster was last updated. + google.protobuf.Timestamp last_updated = 3; + + // Set if the last update failed, cleared after the next successful update. + // The *error_state* field contains the rejected version of this particular + // resource along with the reason and timestamp. For successfully updated or + // acknowledged resource, this field should be empty. + // [#not-implemented-hide:] + UpdateFailureState error_state = 4; + + // The client status of this resource. + // [#not-implemented-hide:] + ClientResourceStatus client_status = 5; + } + + // This is the :ref:`version_info ` in the + // last processed CDS discovery response. If there are only static bootstrap clusters, this field + // will be "". + string version_info = 1; + + // The statically loaded cluster configs. + repeated StaticCluster static_clusters = 2; + + // The dynamically loaded active clusters. These are clusters that are available to service + // data plane traffic. + repeated DynamicCluster dynamic_active_clusters = 3; + + // The dynamically loaded warming clusters. These are clusters that are currently undergoing + // warming in preparation to service data plane traffic. Note that if attempting to recreate an + // Envoy configuration from a configuration dump, the warming clusters should generally be + // discarded. + repeated DynamicCluster dynamic_warming_clusters = 4; +} + +// Envoy's RDS implementation fills this message with all currently loaded routes, as described by +// their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration +// or defined inline while configuring listeners are separated from those configured dynamically via RDS. +// Route configuration information can be used to recreate an Envoy configuration by populating all routes +// as static routes or by returning them in RDS responses. +message RoutesConfigDump { + message StaticRouteConfig { + // The route config. + google.protobuf.Any route_config = 1; + + // The timestamp when the Route was last updated. + google.protobuf.Timestamp last_updated = 2; + } + + // [#next-free-field: 6] + message DynamicRouteConfig { + // This is the per-resource version information. This version is currently taken from the + // :ref:`version_info ` field at the time that + // the route configuration was loaded. + string version_info = 1; + + // The route config. + google.protobuf.Any route_config = 2; + + // The timestamp when the Route was last updated. + google.protobuf.Timestamp last_updated = 3; + + // Set if the last update failed, cleared after the next successful update. + // The *error_state* field contains the rejected version of this particular + // resource along with the reason and timestamp. For successfully updated or + // acknowledged resource, this field should be empty. + // [#not-implemented-hide:] + UpdateFailureState error_state = 4; + + // The client status of this resource. + // [#not-implemented-hide:] + ClientResourceStatus client_status = 5; + } + + // The statically loaded route configs. + repeated StaticRouteConfig static_route_configs = 2; + + // The dynamically loaded route configs. + repeated DynamicRouteConfig dynamic_route_configs = 3; +} + +// Envoy's admin fill this message with all currently known endpoints. Endpoint +// configuration information can be used to recreate an Envoy configuration by populating all +// endpoints as static endpoints or by returning them in an EDS response. +message EndpointsConfigDump { + message StaticEndpointConfig { + // The endpoint config. + google.protobuf.Any endpoint_config = 1; + + // [#not-implemented-hide:] The timestamp when the Endpoint was last updated. + google.protobuf.Timestamp last_updated = 2; + } + + // [#next-free-field: 6] + message DynamicEndpointConfig { + // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the + // :ref:`version_info ` field at the time that + // the endpoint configuration was loaded. + string version_info = 1; + + // The endpoint config. + google.protobuf.Any endpoint_config = 2; + + // [#not-implemented-hide:] The timestamp when the Endpoint was last updated. + google.protobuf.Timestamp last_updated = 3; + + // Set if the last update failed, cleared after the next successful update. + // The *error_state* field contains the rejected version of this particular + // resource along with the reason and timestamp. For successfully updated or + // acknowledged resource, this field should be empty. + // [#not-implemented-hide:] + UpdateFailureState error_state = 4; + + // The client status of this resource. + // [#not-implemented-hide:] + ClientResourceStatus client_status = 5; + } + + // The statically loaded endpoint configs. + repeated StaticEndpointConfig static_endpoint_configs = 2; + + // The dynamically loaded endpoint configs. + repeated DynamicEndpointConfig dynamic_endpoint_configs = 3; +} diff --git a/src/proto/grpc/testing/xds/v3/csds.proto b/src/proto/grpc/testing/xds/v3/csds.proto new file mode 100644 index 00000000000..bbdfd4e048b --- /dev/null +++ b/src/proto/grpc/testing/xds/v3/csds.proto @@ -0,0 +1,89 @@ +// Copyright 2021 The gRPC Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Local copy of Envoy xDS proto file, used for testing only. + +syntax = "proto3"; + +package envoy.service.status.v3; + +import "src/proto/grpc/testing/xds/v3/config_dump.proto"; +import "src/proto/grpc/testing/xds/v3/base.proto"; + + +// CSDS is Client Status Discovery Service. It can be used to get the status of +// an xDS-compliant client from the management server's point of view. It can +// also be used to get the current xDS states directly from the client. +service ClientStatusDiscoveryService { + rpc StreamClientStatus(stream ClientStatusRequest) returns (stream ClientStatusResponse) {} + rpc FetchClientStatus(ClientStatusRequest) returns (ClientStatusResponse) {} +} + +// Status of a config from a management server view. +enum ConfigStatus { + // Status info is not available/unknown. + UNKNOWN = 0; + + // Management server has sent the config to client and received ACK. + SYNCED = 1; + + // Config is not sent. + NOT_SENT = 2; + + // Management server has sent the config to client but hasn’t received + // ACK/NACK. + STALE = 3; + + // Management server has sent the config to client but received NACK. The + // attached config dump will be the latest config (the rejected one), since + // it is the persisted version in the management server. + ERROR = 4; +} + +// Request for client status of clients identified by a list of NodeMatchers. +message ClientStatusRequest { + // The node making the csds request. + config.core.v3.Node node = 2; +} + +// Detailed config (per xDS) with status. +// [#next-free-field: 8] +message PerXdsConfig { + // Config status generated by management servers. Will not be present if the + // CSDS server is an xDS client. + ConfigStatus status = 1; + + oneof per_xds_config { + admin.v3.ListenersConfigDump listener_config = 2; + + admin.v3.ClustersConfigDump cluster_config = 3; + + admin.v3.RoutesConfigDump route_config = 4; + + admin.v3.EndpointsConfigDump endpoint_config = 6; + } +} + +// All xds configs for a particular client. +message ClientConfig { + // Node for a particular client. + config.core.v3.Node node = 1; + + repeated PerXdsConfig xds_config = 2; +} + +message ClientStatusResponse { + // Client configs for the clients specified in the ClientStatusRequest. + repeated ClientConfig config = 1; +} diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index c35d1cd6591..33b8b0b2dc4 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -122,9 +122,11 @@ CORE_SOURCE_FILES = [ 'src/core/ext/transport/chttp2/transport/writing.cc', 'src/core/ext/transport/inproc/inproc_plugin.cc', 'src/core/ext/transport/inproc/inproc_transport.cc', + 'src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c', 'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c', 'src/core/ext/upb-generated/envoy/annotations/resource.upb.c', 'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c', + 'src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c', 'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c', @@ -149,6 +151,8 @@ CORE_SOURCE_FILES = [ 'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c', 'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c', 'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c', + 'src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c', + 'src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c', 'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c', 'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c', 'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c', @@ -171,11 +175,14 @@ CORE_SOURCE_FILES = [ 'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c', 'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c', 'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c', + 'src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c', + 'src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c', 'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c', 'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c', 'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c', @@ -214,9 +221,11 @@ CORE_SOURCE_FILES = [ 'src/core/ext/upb-generated/xds/core/v3/resource.upb.c', 'src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c', 'src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c', + 'src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c', @@ -241,6 +250,8 @@ CORE_SOURCE_FILES = [ 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c', @@ -262,11 +273,14 @@ CORE_SOURCE_FILES = [ 'src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c', + 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c', 'src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c', @@ -1022,8 +1036,6 @@ CORE_SOURCE_FILES = [ 'third_party/upb/upb/decode_fast.c', 'third_party/upb/upb/def.c', 'third_party/upb/upb/encode.c', - 'third_party/upb/upb/json_decode.c', - 'third_party/upb/upb/json_encode.c', 'third_party/upb/upb/msg.c', 'third_party/upb/upb/reflection.c', 'third_party/upb/upb/table.c', diff --git a/src/ruby/ext/grpc/rb_grpc_imports.generated.c b/src/ruby/ext/grpc/rb_grpc_imports.generated.c index 5d5d3e01d8a..8d799baa72d 100644 --- a/src/ruby/ext/grpc/rb_grpc_imports.generated.c +++ b/src/ruby/ext/grpc/rb_grpc_imports.generated.c @@ -98,6 +98,7 @@ grpc_resource_quota_ref_type grpc_resource_quota_ref_import; grpc_resource_quota_unref_type grpc_resource_quota_unref_import; grpc_resource_quota_resize_type grpc_resource_quota_resize_import; grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import; +grpc_dump_xds_configs_type grpc_dump_xds_configs_import; grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import; grpc_channelz_get_top_channels_type grpc_channelz_get_top_channels_import; grpc_channelz_get_servers_type grpc_channelz_get_servers_import; @@ -382,6 +383,7 @@ void grpc_rb_load_imports(HMODULE library) { grpc_resource_quota_unref_import = (grpc_resource_quota_unref_type) GetProcAddress(library, "grpc_resource_quota_unref"); grpc_resource_quota_resize_import = (grpc_resource_quota_resize_type) GetProcAddress(library, "grpc_resource_quota_resize"); grpc_resource_quota_set_max_threads_import = (grpc_resource_quota_set_max_threads_type) GetProcAddress(library, "grpc_resource_quota_set_max_threads"); + grpc_dump_xds_configs_import = (grpc_dump_xds_configs_type) GetProcAddress(library, "grpc_dump_xds_configs"); grpc_resource_quota_arg_vtable_import = (grpc_resource_quota_arg_vtable_type) GetProcAddress(library, "grpc_resource_quota_arg_vtable"); grpc_channelz_get_top_channels_import = (grpc_channelz_get_top_channels_type) GetProcAddress(library, "grpc_channelz_get_top_channels"); grpc_channelz_get_servers_import = (grpc_channelz_get_servers_type) GetProcAddress(library, "grpc_channelz_get_servers"); diff --git a/src/ruby/ext/grpc/rb_grpc_imports.generated.h b/src/ruby/ext/grpc/rb_grpc_imports.generated.h index 36af484e6a8..a61d1b2279e 100644 --- a/src/ruby/ext/grpc/rb_grpc_imports.generated.h +++ b/src/ruby/ext/grpc/rb_grpc_imports.generated.h @@ -269,6 +269,9 @@ extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import; typedef void(*grpc_resource_quota_set_max_threads_type)(grpc_resource_quota* resource_quota, int new_max_threads); extern grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import; #define grpc_resource_quota_set_max_threads grpc_resource_quota_set_max_threads_import +typedef grpc_slice(*grpc_dump_xds_configs_type)(); +extern grpc_dump_xds_configs_type grpc_dump_xds_configs_import; +#define grpc_dump_xds_configs grpc_dump_xds_configs_import typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void); extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import; #define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import diff --git a/src/upb/gen_build_yaml.py b/src/upb/gen_build_yaml.py index c2ceb9792d5..b556c3dea89 100755 --- a/src/upb/gen_build_yaml.py +++ b/src/upb/gen_build_yaml.py @@ -33,8 +33,6 @@ try: "third_party/upb/upb/decode.c", "third_party/upb/upb/def.c", "third_party/upb/upb/encode.c", - "third_party/upb/upb/json_decode.c", - "third_party/upb/upb/json_encode.c", "third_party/upb/upb/msg.c", "third_party/upb/upb/reflection.c", "third_party/upb/upb/table.c", @@ -50,8 +48,6 @@ try: "third_party/upb/upb/def.h", "third_party/upb/upb/def.hpp", "third_party/upb/upb/encode.h", - "third_party/upb/upb/json_decode.h", - "third_party/upb/upb/json_encode.h", "third_party/upb/upb/msg.h", "third_party/upb/upb/port_def.inc", "third_party/upb/upb/port_undef.inc", diff --git a/test/core/surface/public_headers_must_be_c89.c b/test/core/surface/public_headers_must_be_c89.c index 22f89ba27a4..6651afb2069 100644 --- a/test/core/surface/public_headers_must_be_c89.c +++ b/test/core/surface/public_headers_must_be_c89.c @@ -144,6 +144,7 @@ int main(int argc, char **argv) { printf("%lx", (unsigned long) grpc_resource_quota_unref); printf("%lx", (unsigned long) grpc_resource_quota_resize); printf("%lx", (unsigned long) grpc_resource_quota_set_max_threads); + printf("%lx", (unsigned long) grpc_dump_xds_configs); printf("%lx", (unsigned long) grpc_resource_quota_arg_vtable); printf("%lx", (unsigned long) grpc_channelz_get_top_channels); printf("%lx", (unsigned long) grpc_channelz_get_servers); diff --git a/test/cpp/end2end/BUILD b/test/cpp/end2end/BUILD index b4ea79d9cc8..09d631922e2 100644 --- a/test/cpp/end2end/BUILD +++ b/test/cpp/end2end/BUILD @@ -538,6 +538,7 @@ grpc_cc_test( "//:grpc", "//:grpc++", "//:grpc_resolver_fake", + "//:grpcpp_csds", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", diff --git a/test/cpp/end2end/xds_end2end_test.cc b/test/cpp/end2end/xds_end2end_test.cc index 9a45e10be93..3cd0641502f 100644 --- a/test/cpp/end2end/xds_end2end_test.cc +++ b/test/cpp/end2end/xds_end2end_test.cc @@ -69,23 +69,18 @@ #include "src/core/lib/iomgr/sockaddr.h" #include "src/core/lib/security/credentials/fake/fake_credentials.h" #include "src/cpp/client/secure_credentials.h" +#include "src/cpp/server/csds/csds.h" #include "src/cpp/server/secure_server_credentials.h" - -#include "test/core/util/port.h" -#include "test/core/util/resolve_localhost_ip46.h" -#include "test/core/util/test_config.h" -#include "test/cpp/end2end/test_service_impl.h" - #include "src/proto/grpc/testing/echo.grpc.pb.h" #include "src/proto/grpc/testing/xds/ads_for_test.grpc.pb.h" #include "src/proto/grpc/testing/xds/cds_for_test.grpc.pb.h" #include "src/proto/grpc/testing/xds/eds_for_test.grpc.pb.h" #include "src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.h" #include "src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.h" - #include "src/proto/grpc/testing/xds/v3/ads.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/aggregate_cluster.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h" +#include "src/proto/grpc/testing/xds/v3/csds.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/discovery.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h" @@ -95,6 +90,10 @@ #include "src/proto/grpc/testing/xds/v3/route.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/tls.grpc.pb.h" +#include "test/core/util/port.h" +#include "test/core/util/resolve_localhost_ip46.h" +#include "test/core/util/test_config.h" +#include "test/cpp/end2end/test_service_impl.h" namespace grpc { namespace testing { @@ -102,6 +101,7 @@ namespace { using std::chrono::system_clock; +using ::envoy::admin::v3::ClientResourceStatus; using ::envoy::config::cluster::v3::CircuitBreakers; using ::envoy::config::cluster::v3::Cluster; using ::envoy::config::cluster::v3::CustomClusterType; @@ -1341,6 +1341,11 @@ class TestType { return *this; } + TestType& set_use_csds_streaming() { + use_csds_streaming_ = true; + return *this; + } + TestType& set_filter_config_setup(const FilterConfigSetup& setup) { filter_config_setup_ = setup; return *this; @@ -1351,6 +1356,7 @@ class TestType { bool enable_rds_testing() const { return enable_rds_testing_; } bool use_v2() const { return use_v2_; } bool use_xds_credentials() const { return use_xds_credentials_; } + bool use_csds_streaming() const { return use_csds_streaming_; } const FilterConfigSetup& filter_config_setup() const { return filter_config_setup_; } @@ -1361,6 +1367,7 @@ class TestType { if (enable_load_reporting_) retval += "WithLoadReporting"; if (enable_rds_testing_) retval += "Rds"; if (use_xds_credentials_) retval += "XdsCreds"; + if (use_csds_streaming_) retval += "CsdsStreaming"; if (filter_config_setup_ == kRouteOverride) { retval += "FilterPerRouteOverride"; } @@ -1373,6 +1380,7 @@ class TestType { bool enable_rds_testing_ = false; bool use_v2_ = false; bool use_xds_credentials_ = false; + bool use_csds_streaming_ = false; FilterConfigSetup filter_config_setup_ = kHTTPConnectionManagerOriginal; }; @@ -1878,6 +1886,7 @@ class XdsEnd2endTest : public ::testing::TestWithParam { case METHOD_ECHO2: return (*stub)->Echo2(context, request, response); } + GPR_UNREACHABLE_CODE(); } void ResetBackendCounters(size_t start_index = 0, size_t stop_index = 0) { @@ -2419,6 +2428,19 @@ class XdsEnd2endTest : public ::testing::TestWithParam { std::shared_ptr lrs_service_; }; + class AdminServerThread : public ServerThread { + private: + void RegisterAllServices(ServerBuilder* builder) override { + builder->RegisterService(&csds_service_); + } + void StartAllServices() override {} + void ShutdownAllServices() override {} + + const char* Type() override { return "Admin"; } + + grpc::xds::experimental::ClientStatusDiscoveryService csds_service_; + }; + class LongRunningRpc { public: void StartRpc(grpc::testing::EchoTestService::Stub* stub, @@ -10014,6 +10036,768 @@ TEST_P(BootstrapContentsFromEnvVarTest, Vanilla) { WaitForAllBackends(); } +class ClientStatusDiscoveryServiceTest : public XdsEnd2endTest { + public: + ClientStatusDiscoveryServiceTest() : XdsEnd2endTest(1, 1) {} + + void SetUp() override { + XdsEnd2endTest::SetUp(); + admin_server_thread_ = absl::make_unique(); + admin_server_thread_->Start(); + std::string admin_server_address = absl::StrCat( + ipv6_only_ ? "[::1]:" : "127.0.0.1:", admin_server_thread_->port()); + admin_channel_ = grpc::CreateChannel( + admin_server_address, + std::make_shared( + grpc_fake_transport_security_credentials_create())); + csds_stub_ = + envoy::service::status::v3::ClientStatusDiscoveryService::NewStub( + admin_channel_); + if (GetParam().use_csds_streaming()) { + stream_ = csds_stub_->StreamClientStatus(&stream_context_); + } + } + + void TearDown() override { + if (stream_ != nullptr) { + EXPECT_TRUE(stream_->WritesDone()); + Status status = stream_->Finish(); + EXPECT_TRUE(status.ok()) << "code=" << status.error_code() + << " message=" << status.error_message(); + } + admin_server_thread_->Shutdown(); + XdsEnd2endTest::TearDown(); + } + + envoy::service::status::v3::ClientStatusResponse FetchCsdsResponse() { + envoy::service::status::v3::ClientStatusResponse response; + if (!GetParam().use_csds_streaming()) { + // Fetch through unary pulls + ClientContext context; + Status status = csds_stub_->FetchClientStatus( + &context, envoy::service::status::v3::ClientStatusRequest(), + &response); + EXPECT_TRUE(status.ok()) << "code=" << status.error_code() + << " message=" << status.error_message(); + } else { + // Fetch through streaming pulls + EXPECT_TRUE( + stream_->Write(envoy::service::status::v3::ClientStatusRequest())); + EXPECT_TRUE(stream_->Read(&response)); + } + return response; + } + + private: + std::unique_ptr admin_server_thread_; + std::shared_ptr admin_channel_; + std::unique_ptr< + envoy::service::status::v3::ClientStatusDiscoveryService::Stub> + csds_stub_; + ClientContext stream_context_; + std::unique_ptr< + ClientReaderWriter> + stream_; +}; + +MATCHER_P4(EqNode, id, user_agent_name, user_agent_version, client_features, + "equals Node") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(id, arg.id(), result_listener); + ok &= ::testing::ExplainMatchResult(user_agent_name, arg.user_agent_name(), + result_listener); + ok &= ::testing::ExplainMatchResult( + user_agent_version, arg.user_agent_version(), result_listener); + ok &= ::testing::ExplainMatchResult(client_features, arg.client_features(), + result_listener); + return ok; +} + +MATCHER_P2(EqListenersConfigDump, version_info, dynamic_listeners, + "equals ListenerConfigDump") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(::testing::ElementsAre(), + arg.static_listeners(), result_listener); + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + ok &= ::testing::ExplainMatchResult(dynamic_listeners, + arg.dynamic_listeners(), result_listener); + return ok; +} + +MATCHER_P2(EqDynamicListenerState, version_info, listener, + "equals DynamicListenerState") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + ok &= + ::testing::ExplainMatchResult(listener, arg.listener(), result_listener); + return ok; +} + +MATCHER_P2(EqListener, name, api_listener, "equals Listener") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(name, arg.name(), result_listener); + ok &= ::testing::ExplainMatchResult( + api_listener, arg.api_listener().api_listener(), result_listener); + return ok; +} + +MATCHER_P(EqHttpConnectionManagerNotRds, route_config, + "equals HttpConnectionManager") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(route_config, arg.route_config(), + result_listener); + return ok; +} + +MATCHER_P(EqRouteConfigurationName, name, "equals RouteConfiguration") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(name, arg.name(), result_listener); + return ok; +} + +MATCHER_P2(EqRouteConfiguration, name, cluster_name, + "equals RouteConfiguration") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(name, arg.name(), result_listener); + ok &= ::testing::ExplainMatchResult( + ::testing::ElementsAre(::testing::Property( + &envoy::config::route::v3::VirtualHost::routes, + ::testing::ElementsAre(::testing::Property( + &envoy::config::route::v3::Route::route, + ::testing::Property( + &envoy::config::route::v3::RouteAction::cluster, + cluster_name))))), + arg.virtual_hosts(), result_listener); + return ok; +} + +MATCHER_P(EqRoutesConfigDump, dynamic_route_configs, + "equals RoutesConfigDump") { + bool ok = true; + ok &= ::testing::ExplainMatchResult( + ::testing::ElementsAre(), arg.static_route_configs(), result_listener); + ok &= ::testing::ExplainMatchResult( + dynamic_route_configs, arg.dynamic_route_configs(), result_listener); + return ok; +} + +MATCHER_P2(EqClustersConfigDump, version_info, dynamic_active_clusters, + "equals ClustersConfigDump") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(::testing::ElementsAre(), + arg.static_clusters(), result_listener); + ok &= ::testing::ExplainMatchResult(::testing::ElementsAre(), + arg.dynamic_warming_clusters(), + result_listener); + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + ok &= ::testing::ExplainMatchResult( + dynamic_active_clusters, arg.dynamic_active_clusters(), result_listener); + return ok; +} + +MATCHER_P(EqCluster, name, "equals Cluster") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(name, arg.name(), result_listener); + return ok; +} + +MATCHER_P(EqEndpointsConfigDump, dynamic_endpoint_configs, + "equals EndpointsConfigDump") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(dynamic_endpoint_configs, + arg.dynamic_endpoint_configs(), + result_listener); + return ok; +} + +MATCHER_P(EqEndpoint, port, "equals Endpoint") { + bool ok = true; + ok &= ::testing::ExplainMatchResult( + port, arg.address().socket_address().port_value(), result_listener); + return ok; +} + +MATCHER_P2(EqLocalityLbEndpoints, port, weight, "equals LocalityLbEndpoints") { + bool ok = true; + ok &= ::testing::ExplainMatchResult( + ::testing::ElementsAre(::testing::Property( + &envoy::config::endpoint::v3::LbEndpoint::endpoint, + EqEndpoint(port))), + arg.lb_endpoints(), result_listener); + ok &= ::testing::ExplainMatchResult( + weight, arg.load_balancing_weight().value(), result_listener); + return ok; +} + +MATCHER_P(EqClusterLoadAssignmentName, cluster_name, + "equals ClusterLoadAssignment") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(cluster_name, arg.cluster_name(), + result_listener); + return ok; +} + +MATCHER_P3(EqClusterLoadAssignment, cluster_name, port, weight, + "equals ClusterLoadAssignment") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(cluster_name, arg.cluster_name(), + result_listener); + ok &= ::testing::ExplainMatchResult( + ::testing::ElementsAre(EqLocalityLbEndpoints(port, weight)), + arg.endpoints(), result_listener); + return ok; +} + +MATCHER_P2(EqUpdateFailureState, details, version_info, + "equals UpdateFailureState") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(details, arg.details(), result_listener); + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + return ok; +} + +MATCHER_P(UnpackListener, matcher, "is a Listener") { + Listener config; + if (!::testing::ExplainMatchResult(true, arg.UnpackTo(&config), + result_listener)) { + return false; + } + return ::testing::ExplainMatchResult(matcher, config, result_listener); +} + +MATCHER_P(UnpackRouteConfiguration, matcher, "is a RouteConfiguration") { + RouteConfiguration config; + if (!::testing::ExplainMatchResult(true, arg.UnpackTo(&config), + result_listener)) { + return false; + } + return ::testing::ExplainMatchResult(matcher, config, result_listener); +} + +MATCHER_P(UnpackHttpConnectionManager, matcher, "is a HttpConnectionManager") { + HttpConnectionManager config; + if (!::testing::ExplainMatchResult(true, arg.UnpackTo(&config), + result_listener)) { + return false; + } + return ::testing::ExplainMatchResult(matcher, config, result_listener); +} + +MATCHER_P(UnpackCluster, matcher, "is a Cluster") { + Cluster config; + if (!::testing::ExplainMatchResult(true, arg.UnpackTo(&config), + result_listener)) { + return false; + } + return ::testing::ExplainMatchResult(matcher, config, result_listener); +} + +MATCHER_P(UnpackClusterLoadAssignment, matcher, "is a ClusterLoadAssignment") { + ClusterLoadAssignment config; + if (!::testing::ExplainMatchResult(true, arg.UnpackTo(&config), + result_listener)) { + return false; + } + return ::testing::ExplainMatchResult(matcher, config, result_listener); +} + +MATCHER_P5(EqDynamicListener, name, version_info, client_status, + api_listener_matcher, error_state, "equals DynamicListener") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(false, arg.has_warming_state(), + result_listener); + ok &= ::testing::ExplainMatchResult(false, arg.has_draining_state(), + result_listener); + ok &= ::testing::ExplainMatchResult(name, arg.name(), result_listener); + ok &= ::testing::ExplainMatchResult(client_status, arg.client_status(), + result_listener); + if (client_status == ClientResourceStatus::ACKED || + client_status == ClientResourceStatus::NACKED) { + ok &= ::testing::ExplainMatchResult( + EqDynamicListenerState(version_info, UnpackListener(EqListener( + name, api_listener_matcher))), + arg.active_state(), result_listener); + } + ok &= ::testing::ExplainMatchResult(error_state, arg.error_state(), + result_listener); + return ok; +} + +MATCHER_P5(EqDynamicRouteConfig, name, version_info, client_status, + cluster_name, error_state, "equals DynamicRouteConfig") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + if (client_status == ClientResourceStatus::REQUESTED || + client_status == ClientResourceStatus::DOES_NOT_EXIST) { + ok &= ::testing::ExplainMatchResult( + UnpackRouteConfiguration(EqRouteConfigurationName(name)), + arg.route_config(), result_listener); + } else { + ok &= ::testing::ExplainMatchResult( + UnpackRouteConfiguration(EqRouteConfiguration(name, cluster_name)), + arg.route_config(), result_listener); + } + ok &= ::testing::ExplainMatchResult(error_state, arg.error_state(), + result_listener); + ok &= ::testing::ExplainMatchResult(client_status, arg.client_status(), + result_listener); + return ok; +} + +MATCHER_P4(EqDynamicCluster, name, version_info, client_status, error_state, + "equals DynamicCluster") { + bool ok = true; + ok &= ::testing::ExplainMatchResult(UnpackCluster(EqCluster(name)), + arg.cluster(), result_listener); + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + ok &= ::testing::ExplainMatchResult(client_status, arg.client_status(), + result_listener); + ok &= ::testing::ExplainMatchResult(error_state, arg.error_state(), + result_listener); + return ok; +} + +MATCHER_P6(EqDynamicEndpointConfig, name, version_info, client_status, port, + weight, error_state, "equals DynamicEndpointConfig") { + bool ok = true; + if (client_status == ClientResourceStatus::REQUESTED || + client_status == ClientResourceStatus::DOES_NOT_EXIST) { + ok &= ::testing::ExplainMatchResult( + UnpackClusterLoadAssignment(EqClusterLoadAssignmentName(name)), + arg.endpoint_config(), result_listener); + } else { + ok &= ::testing::ExplainMatchResult( + UnpackClusterLoadAssignment( + EqClusterLoadAssignment(name, port, weight)), + arg.endpoint_config(), result_listener); + } + ok &= ::testing::ExplainMatchResult(version_info, arg.version_info(), + result_listener); + ok &= ::testing::ExplainMatchResult(client_status, arg.client_status(), + result_listener); + ok &= ::testing::ExplainMatchResult(error_state, arg.error_state(), + result_listener); + return ok; +} + +MATCHER(IsRdsEnabledHCM, "is a RDS enabled HttpConnectionManager") { + return ::testing::ExplainMatchResult( + UnpackHttpConnectionManager( + ::testing::Property(&HttpConnectionManager::has_rds, true)), + arg, result_listener); +} + +MATCHER_P2(EqNoRdsHCM, route_configuration_name, cluster_name, + "equals RDS disabled HttpConnectionManager") { + return ::testing::ExplainMatchResult( + UnpackHttpConnectionManager(EqHttpConnectionManagerNotRds( + EqRouteConfiguration(route_configuration_name, cluster_name))), + arg, result_listener); +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpVanilla) { + const size_t kNumRpcs = 5; + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + AdsServiceImpl::EdsResourceArgs args({ + {"locality0", {backends_[0]->port()}}, + }); + balancers_[0]->ads_service()->SetEdsResource( + BuildEdsResource(args, DefaultEdsServiceName())); + // Send several RPCs to ensure the xDS setup works + CheckRpcSendOk(kNumRpcs); + // Fetches the client config + auto csds_response = FetchCsdsResponse(); + gpr_log(GPR_INFO, "xDS config dump: %s", csds_response.DebugString().c_str()); + EXPECT_EQ(1, csds_response.config_size()); + const auto& client_config = csds_response.config(0); + // Validate the Node information + EXPECT_THAT(client_config.node(), + EqNode("xds_end2end_test", ::testing::HasSubstr("C-core"), + ::testing::HasSubstr(grpc_version_string()), + ::testing::ElementsAre( + "envoy.lb.does_not_support_overprovisioning"))); + // Prepare matches for RDS on or off + ::testing::Matcher api_listener_matcher; + ::testing::Matcher + route_config_dump_matcher; + if (GetParam().enable_rds_testing()) { + api_listener_matcher = IsRdsEnabledHCM(); + route_config_dump_matcher = + EqRoutesConfigDump(::testing::ElementsAre(EqDynamicRouteConfig( + kDefaultRouteConfigurationName, "1", ClientResourceStatus::ACKED, + kDefaultClusterName, ::testing::_))); + } else { + api_listener_matcher = + EqNoRdsHCM(kDefaultRouteConfigurationName, kDefaultClusterName); + route_config_dump_matcher = EqRoutesConfigDump(::testing::ElementsAre()); + } + // Validate the dumped xDS configs + EXPECT_THAT( + client_config.xds_config(), + ::testing::UnorderedElementsAre( + ::testing::Property( + &envoy::service::status::v3::PerXdsConfig::listener_config, + EqListenersConfigDump( + "1", ::testing::ElementsAre(EqDynamicListener( + kServerName, "1", ClientResourceStatus::ACKED, + api_listener_matcher, ::testing::_)))), + ::testing::Property( + &envoy::service::status::v3::PerXdsConfig::route_config, + route_config_dump_matcher), + ::testing::Property( + &envoy::service::status::v3::PerXdsConfig::cluster_config, + EqClustersConfigDump( + "1", ::testing::ElementsAre(EqDynamicCluster( + kDefaultClusterName, "1", + ClientResourceStatus::ACKED, ::testing::_)))), + ::testing::Property( + &envoy::service::status::v3::PerXdsConfig::endpoint_config, + EqEndpointsConfigDump( + ::testing::ElementsAre(EqDynamicEndpointConfig( + kDefaultEdsServiceName, "1", ClientResourceStatus::ACKED, + backends_[0]->port(), kDefaultLocalityWeight, + ::testing::_)))))); +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpEmpty) { + // The CSDS service should not fail if XdsClient is not initialized or there + // is no working xDS configs. + FetchCsdsResponse(); +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpListenerError) { + int kFetchConfigRetries = 3; + int kFetchIntervalMilliseconds = 200; + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + AdsServiceImpl::EdsResourceArgs args({ + {"locality0", {backends_[0]->port()}}, + }); + balancers_[0]->ads_service()->SetEdsResource( + BuildEdsResource(args, DefaultEdsServiceName())); + // Ensure the xDS resolver has working configs. + CheckRpcSendOk(); + // Bad Listener should be rejected. + Listener listener; + listener.set_name(kServerName); + balancers_[0]->ads_service()->SetLdsResource(listener); + // The old xDS configs should still be effective. + CheckRpcSendOk(); + ::testing::Matcher api_listener_matcher; + if (GetParam().enable_rds_testing()) { + api_listener_matcher = IsRdsEnabledHCM(); + } else { + api_listener_matcher = + EqNoRdsHCM(kDefaultRouteConfigurationName, kDefaultClusterName); + } + for (int o = 0; o < kFetchConfigRetries; o++) { + auto csds_response = FetchCsdsResponse(); + // Check if error state is propagated + bool ok = ::testing::Value( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::listener_config, + EqListenersConfigDump( + "1", + ::testing::ElementsAre(EqDynamicListener( + kServerName, "1", ClientResourceStatus::NACKED, + api_listener_matcher, + EqUpdateFailureState( + ::testing::HasSubstr( + "Listener has neither address nor ApiListener"), + "2"))))))); + if (ok) return; // TEST PASSED! + gpr_sleep_until( + grpc_timeout_milliseconds_to_deadline(kFetchIntervalMilliseconds)); + } + FAIL() << "error_state not seen in CSDS responses"; +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpRouteError) { + int kFetchConfigRetries = 3; + int kFetchIntervalMilliseconds = 200; + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + AdsServiceImpl::EdsResourceArgs args({ + {"locality0", {backends_[0]->port()}}, + }); + balancers_[0]->ads_service()->SetEdsResource( + BuildEdsResource(args, DefaultEdsServiceName())); + // Ensure the xDS resolver has working configs. + CheckRpcSendOk(); + // Bad route config will be rejected. + RouteConfiguration route_config; + route_config.set_name(kDefaultRouteConfigurationName); + route_config.add_virtual_hosts(); + SetRouteConfiguration(0, route_config); + // The old xDS configs should still be effective. + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + CheckRpcSendOk(); + for (int o = 0; o < kFetchConfigRetries; o++) { + auto csds_response = FetchCsdsResponse(); + bool ok = false; + if (GetParam().enable_rds_testing()) { + ok = ::testing::Value( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::route_config, + EqRoutesConfigDump(::testing::ElementsAre(EqDynamicRouteConfig( + kDefaultRouteConfigurationName, "1", + ClientResourceStatus::NACKED, kDefaultClusterName, + EqUpdateFailureState( + ::testing::HasSubstr("VirtualHost has no domains"), + "2"))))))); + } else { + ok = ::testing::Value( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::listener_config, + EqListenersConfigDump( + "1", + ::testing::ElementsAre(EqDynamicListener( + kServerName, "1", ClientResourceStatus::NACKED, + EqNoRdsHCM(kDefaultRouteConfigurationName, + kDefaultClusterName), + EqUpdateFailureState( + ::testing::HasSubstr("VirtualHost has no domains"), + "2"))))))); + } + if (ok) return; // TEST PASSED! + gpr_sleep_until( + grpc_timeout_milliseconds_to_deadline(kFetchIntervalMilliseconds)); + } + FAIL() << "error_state not seen in CSDS responses"; +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpClusterError) { + int kFetchConfigRetries = 3; + int kFetchIntervalMilliseconds = 200; + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + AdsServiceImpl::EdsResourceArgs args({ + {"locality0", {backends_[0]->port()}}, + }); + balancers_[0]->ads_service()->SetEdsResource( + BuildEdsResource(args, DefaultEdsServiceName())); + // Ensure the xDS resolver has working configs. + CheckRpcSendOk(); + // Listener without any route, will be rejected. + Cluster cluster; + cluster.set_name(kDefaultClusterName); + balancers_[0]->ads_service()->SetCdsResource(cluster); + // The old xDS configs should still be effective. + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + CheckRpcSendOk(); + for (int o = 0; o < kFetchConfigRetries; o++) { + auto csds_response = FetchCsdsResponse(); + // Check if error state is propagated + bool ok = ::testing::Value( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::cluster_config, + EqClustersConfigDump( + "1", ::testing::ElementsAre(EqDynamicCluster( + kDefaultClusterName, "1", ClientResourceStatus::NACKED, + EqUpdateFailureState( + ::testing::HasSubstr("DiscoveryType not found"), + "2"))))))); + if (ok) return; // TEST PASSED! + gpr_sleep_until( + grpc_timeout_milliseconds_to_deadline(kFetchIntervalMilliseconds)); + } + FAIL() << "error_state not seen in CSDS responses"; +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpEndpointError) { + int kFetchConfigRetries = 3; + int kFetchIntervalMilliseconds = 200; + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + AdsServiceImpl::EdsResourceArgs args({ + {"locality0", {backends_[0]->port()}}, + }); + balancers_[0]->ads_service()->SetEdsResource( + BuildEdsResource(args, DefaultEdsServiceName())); + // Ensure the xDS resolver has working configs. + CheckRpcSendOk(); + // Bad endpoint config will be rejected. + ClusterLoadAssignment cluster_load_assignment; + cluster_load_assignment.set_cluster_name(kDefaultEdsServiceName); + auto* endpoints = cluster_load_assignment.add_endpoints(); + endpoints->mutable_load_balancing_weight()->set_value(1); + auto* endpoint = endpoints->add_lb_endpoints()->mutable_endpoint(); + endpoint->mutable_address()->mutable_socket_address()->set_port_value(1 << 1); + balancers_[0]->ads_service()->SetEdsResource(cluster_load_assignment); + // The old xDS configs should still be effective. + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + CheckRpcSendOk(); + for (int o = 0; o < kFetchConfigRetries; o++) { + auto csds_response = FetchCsdsResponse(); + + // Check if error state is propagated + bool ok = ::testing::Value( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::endpoint_config, + EqEndpointsConfigDump( + ::testing::ElementsAre(EqDynamicEndpointConfig( + kDefaultEdsServiceName, "1", ClientResourceStatus::NACKED, + backends_[0]->port(), kDefaultLocalityWeight, + EqUpdateFailureState(::testing::HasSubstr("Empty locality"), + "2"))))))); + if (ok) return; // TEST PASSED! + gpr_sleep_until( + grpc_timeout_milliseconds_to_deadline(kFetchIntervalMilliseconds)); + } + FAIL() << "error_state not seen in CSDS responses"; +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpListenerRequested) { + int kTimeoutMillisecond = 1000; + balancers_[0]->ads_service()->UnsetResource(kLdsTypeUrl, kServerName); + CheckRpcSendFailure(1, RpcOptions().set_timeout_ms(kTimeoutMillisecond), + grpc::DEADLINE_EXCEEDED); + auto csds_response = FetchCsdsResponse(); + EXPECT_THAT(csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::listener_config, + EqListenersConfigDump( + ::testing::_, ::testing::ElementsAre(EqDynamicListener( + kServerName, ::testing::_, + ClientResourceStatus::REQUESTED, + ::testing::_, ::testing::_)))))); +} + +TEST_P(ClientStatusDiscoveryServiceTest, XdsConfigDumpClusterRequested) { + int kTimeoutMillisecond = 1000; + std::string kClusterName1 = "cluster-1"; + std::string kClusterName2 = "cluster-2"; + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + // Create a route config requesting two non-existing clusters + RouteConfiguration route_config; + route_config.set_name(kDefaultRouteConfigurationName); + auto* vh = route_config.add_virtual_hosts(); + // The VirtualHost must match the domain name, otherwise will cause resolver + // transient failure. + vh->add_domains("*"); + auto* routes1 = vh->add_routes(); + routes1->mutable_match()->set_prefix(""); + routes1->mutable_route()->set_cluster(kClusterName1); + auto* routes2 = vh->add_routes(); + routes2->mutable_match()->set_prefix(""); + routes2->mutable_route()->set_cluster(kClusterName2); + SetRouteConfiguration(0, route_config); + // Try to get the configs plumb through + CheckRpcSendFailure(1, RpcOptions().set_timeout_ms(kTimeoutMillisecond), + grpc::DEADLINE_EXCEEDED); + auto csds_response = FetchCsdsResponse(); + EXPECT_THAT(csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::cluster_config, + EqClustersConfigDump( + ::testing::_, + ::testing::UnorderedElementsAre( + EqDynamicCluster(kClusterName1, ::testing::_, + ClientResourceStatus::REQUESTED, + ::testing::_), + EqDynamicCluster(kClusterName2, ::testing::_, + ClientResourceStatus::REQUESTED, + ::testing::_)))))); +} + +class CsdsShortAdsTimeoutTest : public ClientStatusDiscoveryServiceTest { + void SetUp() override { + // Shorten the ADS subscription timeout to speed up the test run. + xds_resource_does_not_exist_timeout_ms_ = 500; + ClientStatusDiscoveryServiceTest::SetUp(); + } +}; + +TEST_P(CsdsShortAdsTimeoutTest, XdsConfigDumpListenerDoesNotExist) { + int kTimeoutMillisecond = 1000000; // 1000s wait for the transient failure. + balancers_[0]->ads_service()->UnsetResource(kLdsTypeUrl, kServerName); + CheckRpcSendFailure(1, RpcOptions().set_timeout_ms(kTimeoutMillisecond), + grpc::UNAVAILABLE); + auto csds_response = FetchCsdsResponse(); + EXPECT_THAT(csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::listener_config, + EqListenersConfigDump( + ::testing::_, ::testing::ElementsAre(EqDynamicListener( + kServerName, ::testing::_, + ClientResourceStatus::DOES_NOT_EXIST, + ::testing::_, ::testing::_)))))); +} + +TEST_P(CsdsShortAdsTimeoutTest, XdsConfigDumpRouteConfigDoesNotExist) { + if (!GetParam().enable_rds_testing()) return; + int kTimeoutMillisecond = 1000000; // 1000s wait for the transient failure. + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + balancers_[0]->ads_service()->UnsetResource(kRdsTypeUrl, + kDefaultRouteConfigurationName); + CheckRpcSendFailure(1, RpcOptions().set_timeout_ms(kTimeoutMillisecond), + grpc::UNAVAILABLE); + auto csds_response = FetchCsdsResponse(); + EXPECT_THAT( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::route_config, + EqRoutesConfigDump(::testing::ElementsAre( + EqDynamicRouteConfig(kDefaultRouteConfigurationName, ::testing::_, + ClientResourceStatus::DOES_NOT_EXIST, + ::testing::_, ::testing::_)))))); +} + +TEST_P(CsdsShortAdsTimeoutTest, XdsConfigDumpClusterDoesNotExist) { + int kTimeoutMillisecond = 1000000; // 1000s wait for the transient failure. + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + balancers_[0]->ads_service()->UnsetResource(kCdsTypeUrl, kDefaultClusterName); + CheckRpcSendFailure(1, RpcOptions().set_timeout_ms(kTimeoutMillisecond), + grpc::UNAVAILABLE); + auto csds_response = FetchCsdsResponse(); + EXPECT_THAT(csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::cluster_config, + EqClustersConfigDump(::testing::_, + ::testing::ElementsAre(EqDynamicCluster( + kDefaultClusterName, ::testing::_, + ClientResourceStatus::DOES_NOT_EXIST, + ::testing::_)))))); +} + +TEST_P(CsdsShortAdsTimeoutTest, XdsConfigDumpEndpointDoesNotExist) { + int kTimeoutMillisecond = 1000000; // 1000s wait for the transient failure. + SetNextResolution({}); + SetNextResolutionForLbChannelAllBalancers(); + balancers_[0]->ads_service()->UnsetResource(kEdsTypeUrl, + kDefaultEdsServiceName); + CheckRpcSendFailure(1, RpcOptions().set_timeout_ms(kTimeoutMillisecond), + grpc::UNAVAILABLE); + auto csds_response = FetchCsdsResponse(); + EXPECT_THAT( + csds_response.config(0).xds_config(), + ::testing::Contains(::testing::Property( + &envoy::service::status::v3::PerXdsConfig::endpoint_config, + EqEndpointsConfigDump(::testing::ElementsAre(EqDynamicEndpointConfig( + kDefaultEdsServiceName, ::testing::_, + ClientResourceStatus::DOES_NOT_EXIST, ::testing::_, ::testing::_, + ::testing::_)))))); +} + std::string TestTypeName(const ::testing::TestParamInfo& info) { return info.param.AsString(); } @@ -10169,6 +10953,23 @@ INSTANTIATE_TEST_SUITE_P( INSTANTIATE_TEST_SUITE_P(XdsTest, BootstrapContentsFromEnvVarTest, ::testing::Values(TestType()), &TestTypeName); +// Run CSDS tests with RDS enabled and disabled. +INSTANTIATE_TEST_SUITE_P( + XdsTest, ClientStatusDiscoveryServiceTest, + ::testing::Values( + TestType(), TestType().set_enable_rds_testing(), + TestType().set_use_csds_streaming(), + TestType().set_enable_rds_testing().set_use_csds_streaming()), + &TestTypeName); + +INSTANTIATE_TEST_SUITE_P( + XdsTest, CsdsShortAdsTimeoutTest, + ::testing::Values( + TestType(), TestType().set_enable_rds_testing(), + TestType().set_use_csds_streaming(), + TestType().set_enable_rds_testing().set_use_csds_streaming()), + &TestTypeName); + } // namespace } // namespace testing } // namespace grpc diff --git a/tools/codegen/core/gen_upb_api.sh b/tools/codegen/core/gen_upb_api.sh index 3fd675b8edb..63ed717ec45 100755 --- a/tools/codegen/core/gen_upb_api.sh +++ b/tools/codegen/core/gen_upb_api.sh @@ -43,9 +43,11 @@ $bazel build @upb//upbc:protoc-gen-upbdefs UPBDEFS_PLUGIN=$PWD/bazel-bin/external/upb/upbc/protoc-gen-upbdefs proto_files=( \ + "envoy/admin/v3/config_dump.proto" \ "envoy/annotations/deprecation.proto" \ "envoy/annotations/resource.proto" \ "envoy/config/accesslog/v3/accesslog.proto" \ + "envoy/config/bootstrap/v3/bootstrap.proto" \ "envoy/config/cluster/v3/circuit_breaker.proto" \ "envoy/config/cluster/v3/cluster.proto" \ "envoy/config/cluster/v3/filter.proto" \ @@ -70,6 +72,8 @@ proto_files=( \ "envoy/config/listener/v3/listener.proto" \ "envoy/config/listener/v3/listener_components.proto" \ "envoy/config/listener/v3/udp_listener_config.proto" \ + "envoy/config/metrics/v3/stats.proto" \ + "envoy/config/overload/v3/overload.proto" \ "envoy/config/rbac/v3/rbac.proto" \ "envoy/config/route/v3/route.proto" \ "envoy/config/route/v3/route_components.proto" \ @@ -92,11 +96,14 @@ proto_files=( \ "envoy/service/load_stats/v3/lrs.proto" \ "envoy/service/route/v3/rds.proto" \ "envoy/service/route/v3/srds.proto" \ + "envoy/service/status/v3/csds.proto" \ "envoy/type/matcher/v3/metadata.proto" \ + "envoy/type/matcher/v3/node.proto" \ "envoy/type/matcher/v3/number.proto" \ "envoy/type/matcher/v3/path.proto" \ "envoy/type/matcher/v3/regex.proto" \ "envoy/type/matcher/v3/string.proto" \ + "envoy/type/matcher/v3/struct.proto" \ "envoy/type/matcher/v3/value.proto" \ "envoy/type/metadata/v3/metadata.proto" \ "envoy/type/tracing/v3/custom_tag.proto" \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 452680c5a36..ba378fdaf5c 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -1231,12 +1231,16 @@ src/core/ext/transport/chttp2/transport/writing.cc \ src/core/ext/transport/inproc/inproc_plugin.cc \ src/core/ext/transport/inproc/inproc_transport.cc \ src/core/ext/transport/inproc/inproc_transport.h \ +src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c \ +src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h \ src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \ src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h \ src/core/ext/upb-generated/envoy/annotations/resource.upb.c \ src/core/ext/upb-generated/envoy/annotations/resource.upb.h \ src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \ src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h \ +src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c \ +src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h \ src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h \ src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \ @@ -1285,6 +1289,10 @@ src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h \ src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h \ +src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c \ +src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h \ +src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c \ +src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h \ src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \ src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h \ src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \ @@ -1329,8 +1337,12 @@ src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h \ src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h \ +src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c \ +src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h \ +src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c \ +src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \ @@ -1339,6 +1351,8 @@ src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h \ +src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c \ +src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h \ src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \ @@ -1413,12 +1427,16 @@ src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h \ src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h \ +src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c \ @@ -1467,6 +1485,10 @@ src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbd src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c \ @@ -1509,8 +1531,12 @@ src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c \ @@ -1519,6 +1545,8 @@ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 72d0a522f65..094c5a092e8 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1066,12 +1066,16 @@ src/core/ext/transport/chttp2/transport/writing.cc \ src/core/ext/transport/inproc/inproc_plugin.cc \ src/core/ext/transport/inproc/inproc_transport.cc \ src/core/ext/transport/inproc/inproc_transport.h \ +src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c \ +src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h \ src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \ src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h \ src/core/ext/upb-generated/envoy/annotations/resource.upb.c \ src/core/ext/upb-generated/envoy/annotations/resource.upb.h \ src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \ src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h \ +src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c \ +src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h \ src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \ src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h \ src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \ @@ -1120,6 +1124,10 @@ src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h \ src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \ src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h \ +src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c \ +src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h \ +src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c \ +src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h \ src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \ src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h \ src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \ @@ -1164,8 +1172,12 @@ src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h \ src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \ src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h \ +src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c \ +src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h \ +src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c \ +src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \ @@ -1174,6 +1186,8 @@ src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h \ +src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c \ +src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h \ src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \ src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h \ src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \ @@ -1248,12 +1262,16 @@ src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h \ src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c \ src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h \ +src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c \ @@ -1302,6 +1320,10 @@ src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbd src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c \ @@ -1344,8 +1366,12 @@ src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c \ @@ -1354,6 +1380,8 @@ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c \ +src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c \ src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h \ src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c \