1#![allow(clippy::all, dead_code, missing_docs, unused)]
4
5use std::collections::HashMap;
6
7use super::datadog_configuration::*;
8use crate::translate_error::{TranslateError, TranslateErrors};
9
10pub trait DatadogConfigWitness {
16 fn consume_additional_endpoints(&mut self, value: HashMap<String, Vec<String>>);
17 fn consume_agent_ipc_grpc_max_message_size(&mut self, value: i64);
18 fn consume_aggregator_stop_timeout(&mut self, value: i64);
19 fn consume_allow_arbitrary_tags(&mut self, value: bool);
20 fn consume_api_key(&mut self, value: String);
21 fn consume_apm_config_compute_stats_by_span_kind(&mut self, value: bool);
22 fn consume_apm_config_enable_rare_sampler(&mut self, value: bool);
23 fn consume_apm_config_error_tracking_standalone_enabled(&mut self, value: bool);
24 fn consume_apm_config_errors_per_second(&mut self, value: f64);
25 fn consume_apm_config_obfuscation_credit_cards_enabled(&mut self, value: bool);
26 fn consume_apm_config_obfuscation_credit_cards_keep_values(&mut self, value: Vec<String>);
27 fn consume_apm_config_obfuscation_credit_cards_luhn(&mut self, value: bool);
28 fn consume_apm_config_obfuscation_elasticsearch_enabled(&mut self, value: bool);
29 fn consume_apm_config_obfuscation_elasticsearch_keep_values(&mut self, value: Vec<String>);
30 fn consume_apm_config_obfuscation_elasticsearch_obfuscate_sql_values(&mut self, value: Vec<String>);
31 fn consume_apm_config_obfuscation_http_remove_paths_with_digits(&mut self, value: bool);
32 fn consume_apm_config_obfuscation_http_remove_query_string(&mut self, value: bool);
33 fn consume_apm_config_obfuscation_memcached_enabled(&mut self, value: bool);
34 fn consume_apm_config_obfuscation_memcached_keep_command(&mut self, value: bool);
35 fn consume_apm_config_obfuscation_mongodb_enabled(&mut self, value: bool);
36 fn consume_apm_config_obfuscation_mongodb_keep_values(&mut self, value: Vec<String>);
37 fn consume_apm_config_obfuscation_mongodb_obfuscate_sql_values(&mut self, value: Vec<String>);
38 fn consume_apm_config_obfuscation_opensearch_enabled(&mut self, value: bool);
39 fn consume_apm_config_obfuscation_opensearch_keep_values(&mut self, value: Vec<String>);
40 fn consume_apm_config_obfuscation_opensearch_obfuscate_sql_values(&mut self, value: Vec<String>);
41 fn consume_apm_config_obfuscation_redis_enabled(&mut self, value: bool);
42 fn consume_apm_config_obfuscation_redis_remove_all_args(&mut self, value: bool);
43 fn consume_apm_config_obfuscation_valkey_enabled(&mut self, value: bool);
44 fn consume_apm_config_obfuscation_valkey_remove_all_args(&mut self, value: bool);
45 fn consume_apm_config_peer_tags(&mut self, value: Vec<String>);
46 fn consume_apm_config_peer_tags_aggregation(&mut self, value: bool);
47 fn consume_apm_config_probabilistic_sampler_enabled(&mut self, value: bool);
48 fn consume_apm_config_probabilistic_sampler_sampling_percentage(&mut self, value: f64);
49 fn consume_apm_config_target_traces_per_second(&mut self, value: f64);
50 fn consume_autoscaling_failover_enabled(&mut self, value: bool);
51 fn consume_autoscaling_failover_metrics(&mut self, value: Vec<String>);
52 fn consume_basic_telemetry_add_container_tags(&mut self, value: bool);
53 fn consume_bind_host(&mut self, value: String);
54 fn consume_cluster_agent_auth_token(&mut self, value: String);
55 fn consume_cluster_agent_enabled(&mut self, value: bool);
56 fn consume_cluster_agent_kubernetes_service_name(&mut self, value: String);
57 fn consume_cluster_agent_url(&mut self, value: String);
58 fn consume_cmd_port(&mut self, value: i64);
59 fn consume_cri_connection_timeout(&mut self, value: i64);
60 fn consume_cri_query_timeout(&mut self, value: i64);
61 fn consume_data_plane_api_listen_address(&mut self, value: String);
62 fn consume_data_plane_dogstatsd_aggregator_tag_filter_cache_capacity(&mut self, value: i64);
63 fn consume_data_plane_dogstatsd_enabled(&mut self, value: bool);
64 fn consume_data_plane_enabled(&mut self, value: bool);
65 fn consume_data_plane_log_file(&mut self, value: String);
66 fn consume_data_plane_otlp_enabled(&mut self, value: bool);
67 fn consume_data_plane_otlp_proxy_enabled(&mut self, value: bool);
68 fn consume_data_plane_otlp_proxy_logs_enabled(&mut self, value: bool);
69 fn consume_data_plane_otlp_proxy_metrics_enabled(&mut self, value: bool);
70 fn consume_data_plane_otlp_proxy_receiver_protocols_grpc_endpoint(&mut self, value: String);
71 fn consume_data_plane_otlp_proxy_traces_enabled(&mut self, value: bool);
72 fn consume_data_plane_remote_agent_enabled(&mut self, value: bool);
73 fn consume_data_plane_secure_api_listen_address(&mut self, value: String);
74 fn consume_data_plane_use_new_config_stream_endpoint(&mut self, value: bool);
75 fn consume_dd_url(&mut self, value: String);
76 fn consume_disable_file_logging(&mut self, value: bool);
77 fn consume_dogstatsd_buffer_size(&mut self, value: i64);
78 fn consume_dogstatsd_capture_depth(&mut self, value: i64);
79 fn consume_dogstatsd_capture_path(&mut self, value: String);
80 fn consume_dogstatsd_context_expiry_seconds(&mut self, value: i64);
81 fn consume_dogstatsd_disable_verbose_logs(&mut self, value: bool);
82 fn consume_dogstatsd_entity_id_precedence(&mut self, value: bool);
83 fn consume_dogstatsd_eol_required(&mut self, value: Vec<String>);
84 fn consume_dogstatsd_expiry_seconds(&mut self, value: i64);
85 fn consume_dogstatsd_flush_incomplete_buckets(&mut self, value: bool);
86 fn consume_dogstatsd_log_file(&mut self, value: String);
87 fn consume_dogstatsd_log_file_max_rolls(&mut self, value: i64);
88 fn consume_dogstatsd_log_file_max_size(&mut self, value: String);
89 fn consume_dogstatsd_logging_enabled(&mut self, value: bool);
90 fn consume_dogstatsd_mapper_cache_size(&mut self, value: i64);
91 fn consume_dogstatsd_mapper_profiles(&mut self, value: Vec<::serde_json::Value>);
92 fn consume_dogstatsd_metrics_stats_enable(&mut self, value: bool);
93 fn consume_dogstatsd_no_aggregation_pipeline(&mut self, value: bool);
94 fn consume_dogstatsd_non_local_traffic(&mut self, value: bool);
95 fn consume_dogstatsd_origin_detection(&mut self, value: bool);
96 fn consume_dogstatsd_origin_detection_client(&mut self, value: bool);
97 fn consume_dogstatsd_origin_optout_enabled(&mut self, value: bool);
98 fn consume_dogstatsd_pipe_name(&mut self, value: String);
99 fn consume_dogstatsd_port(&mut self, value: i64);
100 fn consume_dogstatsd_so_rcvbuf(&mut self, value: i64);
101 fn consume_dogstatsd_socket(&mut self, value: Option<String>);
102 fn consume_dogstatsd_stream_log_too_big(&mut self, value: bool);
103 fn consume_dogstatsd_stream_socket(&mut self, value: String);
104 fn consume_dogstatsd_string_interner_size(&mut self, value: i64);
105 fn consume_dogstatsd_tag_cardinality(&mut self, value: String);
106 fn consume_dogstatsd_tags(&mut self, value: Vec<String>);
107 fn consume_dogstatsd_windows_pipe_security_descriptor(&mut self, value: String);
108 fn consume_enable_payloads_events(&mut self, value: bool);
109 fn consume_enable_payloads_series(&mut self, value: bool);
110 fn consume_enable_payloads_service_checks(&mut self, value: bool);
111 fn consume_enable_payloads_sketches(&mut self, value: bool);
112 fn consume_env(&mut self, value: String);
113 fn consume_expected_tags_duration(&mut self, value: std::time::Duration);
114 fn consume_forwarder_apikey_validation_interval(&mut self, value: i64);
115 fn consume_forwarder_backoff_base(&mut self, value: i64);
116 fn consume_forwarder_backoff_factor(&mut self, value: i64);
117 fn consume_forwarder_backoff_max(&mut self, value: i64);
118 fn consume_forwarder_connection_reset_interval(&mut self, value: i64);
119 fn consume_forwarder_flush_to_disk_mem_ratio(&mut self, value: f64);
120 fn consume_forwarder_high_prio_buffer_size(&mut self, value: i64);
121 fn consume_forwarder_http_protocol(&mut self, value: String);
122 fn consume_forwarder_max_concurrent_requests(&mut self, value: i64);
123 fn consume_forwarder_num_workers(&mut self, value: i64);
124 fn consume_forwarder_outdated_file_in_days(&mut self, value: i64);
125 fn consume_forwarder_recovery_interval(&mut self, value: i64);
126 fn consume_forwarder_recovery_reset(&mut self, value: bool);
127 fn consume_forwarder_retry_queue_capacity_time_interval_sec(&mut self, value: i64);
128 fn consume_forwarder_retry_queue_max_size(&mut self, value: i64);
129 fn consume_forwarder_retry_queue_payloads_max_size(&mut self, value: i64);
130 fn consume_forwarder_stop_timeout(&mut self, value: i64);
131 fn consume_forwarder_storage_max_disk_ratio(&mut self, value: f64);
132 fn consume_forwarder_storage_max_size_in_bytes(&mut self, value: i64);
133 fn consume_forwarder_storage_path(&mut self, value: String);
134 fn consume_forwarder_timeout(&mut self, value: i64);
135 fn consume_histogram_aggregates(&mut self, value: Vec<String>);
136 fn consume_histogram_copy_to_distribution(&mut self, value: bool);
137 fn consume_histogram_copy_to_distribution_prefix(&mut self, value: String);
138 fn consume_histogram_percentiles(&mut self, value: Vec<String>);
139 fn consume_log_file_max_rolls(&mut self, value: i64);
140 fn consume_log_file_max_size(&mut self, value: String);
141 fn consume_log_format_json(&mut self, value: bool);
142 fn consume_log_format_rfc3339(&mut self, value: bool);
143 fn consume_log_level(&mut self, value: String);
144 fn consume_log_payloads(&mut self, value: bool);
145 fn consume_log_to_console(&mut self, value: bool);
146 fn consume_log_to_syslog(&mut self, value: bool);
147 fn consume_metric_filterlist(&mut self, value: Vec<String>);
148 fn consume_metric_filterlist_match_prefix(&mut self, value: bool);
149 fn consume_metric_tag_filterlist(&mut self, value: Vec<::serde_json::Value>);
150 fn consume_min_tls_version(&mut self, value: String);
151 fn consume_multi_region_failover_api_key(&mut self, value: String);
152 fn consume_multi_region_failover_dd_url(&mut self, value: String);
153 fn consume_multi_region_failover_enabled(&mut self, value: bool);
154 fn consume_multi_region_failover_failover_metrics(&mut self, value: bool);
155 fn consume_multi_region_failover_metric_allowlist(&mut self, value: Vec<String>);
156 fn consume_multi_region_failover_site(&mut self, value: String);
157 fn consume_no_proxy_nonexact_match(&mut self, value: bool);
158 fn consume_observability_pipelines_worker_metrics_enabled(&mut self, value: bool);
159 fn consume_observability_pipelines_worker_metrics_url(&mut self, value: String);
160 fn consume_observability_pipelines_worker_metrics_use_v3_api_series(&mut self, value: bool);
161 fn consume_origin_detection_unified(&mut self, value: bool);
162 fn consume_otlp_config_logs_enabled(&mut self, value: bool);
163 fn consume_otlp_config_metrics_enabled(&mut self, value: bool);
164 fn consume_otlp_config_metrics_histograms_mode(&mut self, value: String);
165 fn consume_otlp_config_metrics_histograms_send_aggregation_metrics(&mut self, value: bool);
166 fn consume_otlp_config_metrics_resource_attributes_as_tags(&mut self, value: bool);
167 fn consume_otlp_config_metrics_summaries_mode(&mut self, value: String);
168 fn consume_otlp_config_metrics_sums_cumulative_monotonic_mode(&mut self, value: String);
169 fn consume_otlp_config_metrics_sums_initial_cumulative_monotonic_value(&mut self, value: String);
170 fn consume_otlp_config_metrics_tags(&mut self, value: String);
171 fn consume_otlp_config_receiver_protocols_grpc_endpoint(&mut self, value: String);
172 fn consume_otlp_config_receiver_protocols_grpc_max_recv_msg_size_mib(&mut self, value: i64);
173 fn consume_otlp_config_receiver_protocols_grpc_transport(&mut self, value: String);
174 fn consume_otlp_config_receiver_protocols_http_endpoint(&mut self, value: String);
175 fn consume_otlp_config_traces_enabled(&mut self, value: bool);
176 fn consume_otlp_config_traces_internal_port(&mut self, value: i64);
177 fn consume_otlp_config_traces_probabilistic_sampler_sampling_percentage(&mut self, value: f64);
178 fn consume_provider_kind(&mut self, value: String);
179 fn consume_proxy_http(&mut self, value: String);
180 fn consume_proxy_https(&mut self, value: String);
181 fn consume_proxy_no_proxy(&mut self, value: Vec<String>);
182 fn consume_serializer_compressor_kind(&mut self, value: String);
183 fn consume_serializer_experimental_use_v3_api_compression_level(&mut self, value: i64);
184 fn consume_serializer_experimental_use_v3_api_series_beta_route(&mut self, value: String);
185 fn consume_serializer_experimental_use_v3_api_series_endpoints(&mut self, value: Vec<String>);
186 fn consume_serializer_experimental_use_v3_api_series_shadow_sample_rate(&mut self, value: f64);
187 fn consume_serializer_experimental_use_v3_api_series_shadow_sites(&mut self, value: Vec<String>);
188 fn consume_serializer_experimental_use_v3_api_series_use_beta(&mut self, value: bool);
189 fn consume_serializer_experimental_use_v3_api_series_validate(&mut self, value: bool);
190 fn consume_serializer_experimental_use_v3_api_sketches_endpoints(&mut self, value: Vec<String>);
191 fn consume_serializer_experimental_use_v3_api_sketches_validate(&mut self, value: bool);
192 fn consume_serializer_max_payload_size(&mut self, value: i64);
193 fn consume_serializer_max_series_payload_size(&mut self, value: i64);
194 fn consume_serializer_max_series_points_per_payload(&mut self, value: i64);
195 fn consume_serializer_max_series_uncompressed_payload_size(&mut self, value: i64);
196 fn consume_serializer_max_uncompressed_payload_size(&mut self, value: i64);
197 fn consume_serializer_zstd_compressor_level(&mut self, value: i64);
198 fn consume_site(&mut self, value: String);
199 fn consume_skip_ssl_validation(&mut self, value: bool);
200 fn consume_sslkeylogfile(&mut self, value: String);
201 fn consume_statsd_forward_host(&mut self, value: String);
202 fn consume_statsd_forward_port(&mut self, value: i64);
203 fn consume_statsd_metric_blocklist(&mut self, value: Vec<String>);
204 fn consume_statsd_metric_blocklist_match_prefix(&mut self, value: bool);
205 fn consume_statsd_metric_namespace(&mut self, value: String);
206 fn consume_statsd_metric_namespace_blacklist(&mut self, value: Vec<String>);
207 fn consume_syslog_rfc(&mut self, value: bool);
208 fn consume_syslog_uri(&mut self, value: String);
209 fn consume_telemetry_dogstatsd_origin(&mut self, value: bool);
210 fn consume_use_proxy_for_cloud_metadata(&mut self, value: bool);
211 fn consume_use_v2_api_series(&mut self, value: bool);
212 fn consume_use_v3_api_series_enabled(&mut self, value: String);
213 fn consume_use_v3_api_series_endpoints(&mut self, value: ::serde_json::Map<String, ::serde_json::Value>);
214 fn consume_vector_metrics_enabled(&mut self, value: bool);
215 fn consume_vector_metrics_url(&mut self, value: String);
216 fn consume_vector_metrics_use_v3_api_series(&mut self, value: bool);
217 fn consume_vsock_addr(&mut self, value: String);
218
219 fn translate_errors(&mut self) -> Vec<TranslateError> {
221 Vec::new()
222 }
223}
224
225pub fn drive(config: &DatadogConfiguration, consumer: &mut impl DatadogConfigWitness) -> Result<(), TranslateErrors> {
232 consumer.consume_additional_endpoints(config.additional_endpoints.clone());
233 consumer.consume_agent_ipc_grpc_max_message_size(config.agent_ipc.grpc_max_message_size.clone());
234 consumer.consume_aggregator_stop_timeout(config.aggregator_stop_timeout.clone());
235 consumer.consume_allow_arbitrary_tags(config.allow_arbitrary_tags.clone());
236 consumer.consume_api_key(config.api_key.clone());
237 consumer.consume_apm_config_compute_stats_by_span_kind(config.apm_config.compute_stats_by_span_kind.clone());
238 consumer.consume_apm_config_enable_rare_sampler(config.apm_config.enable_rare_sampler.clone());
239 consumer.consume_apm_config_error_tracking_standalone_enabled(config.apm_config.error_tracking_standalone.enabled.clone());
240 consumer.consume_apm_config_errors_per_second(config.apm_config.errors_per_second.clone());
241 consumer.consume_apm_config_obfuscation_credit_cards_enabled(config.apm_config.obfuscation.credit_cards.enabled.clone());
242 consumer.consume_apm_config_obfuscation_credit_cards_keep_values(config.apm_config.obfuscation.credit_cards.keep_values.clone());
243 consumer.consume_apm_config_obfuscation_credit_cards_luhn(config.apm_config.obfuscation.credit_cards.luhn.clone());
244 consumer.consume_apm_config_obfuscation_elasticsearch_enabled(config.apm_config.obfuscation.elasticsearch.enabled.clone());
245 consumer.consume_apm_config_obfuscation_elasticsearch_keep_values(config.apm_config.obfuscation.elasticsearch.keep_values.clone());
246 consumer.consume_apm_config_obfuscation_elasticsearch_obfuscate_sql_values(config.apm_config.obfuscation.elasticsearch.obfuscate_sql_values.clone());
247 consumer.consume_apm_config_obfuscation_http_remove_paths_with_digits(config.apm_config.obfuscation.http.remove_paths_with_digits.clone());
248 consumer.consume_apm_config_obfuscation_http_remove_query_string(config.apm_config.obfuscation.http.remove_query_string.clone());
249 consumer.consume_apm_config_obfuscation_memcached_enabled(config.apm_config.obfuscation.memcached.enabled.clone());
250 consumer.consume_apm_config_obfuscation_memcached_keep_command(config.apm_config.obfuscation.memcached.keep_command.clone());
251 consumer.consume_apm_config_obfuscation_mongodb_enabled(config.apm_config.obfuscation.mongodb.enabled.clone());
252 consumer.consume_apm_config_obfuscation_mongodb_keep_values(config.apm_config.obfuscation.mongodb.keep_values.clone());
253 consumer.consume_apm_config_obfuscation_mongodb_obfuscate_sql_values(config.apm_config.obfuscation.mongodb.obfuscate_sql_values.clone());
254 consumer.consume_apm_config_obfuscation_opensearch_enabled(config.apm_config.obfuscation.opensearch.enabled.clone());
255 consumer.consume_apm_config_obfuscation_opensearch_keep_values(config.apm_config.obfuscation.opensearch.keep_values.clone());
256 consumer.consume_apm_config_obfuscation_opensearch_obfuscate_sql_values(config.apm_config.obfuscation.opensearch.obfuscate_sql_values.clone());
257 consumer.consume_apm_config_obfuscation_redis_enabled(config.apm_config.obfuscation.redis.enabled.clone());
258 consumer.consume_apm_config_obfuscation_redis_remove_all_args(config.apm_config.obfuscation.redis.remove_all_args.clone());
259 consumer.consume_apm_config_obfuscation_valkey_enabled(config.apm_config.obfuscation.valkey.enabled.clone());
260 consumer.consume_apm_config_obfuscation_valkey_remove_all_args(config.apm_config.obfuscation.valkey.remove_all_args.clone());
261 consumer.consume_apm_config_peer_tags(config.apm_config.peer_tags.clone());
262 consumer.consume_apm_config_peer_tags_aggregation(config.apm_config.peer_tags_aggregation.clone());
263 consumer.consume_apm_config_probabilistic_sampler_enabled(config.apm_config.probabilistic_sampler.enabled.clone());
264 consumer.consume_apm_config_probabilistic_sampler_sampling_percentage(config.apm_config.probabilistic_sampler.sampling_percentage.clone());
265 consumer.consume_apm_config_target_traces_per_second(config.apm_config.target_traces_per_second.clone());
266 consumer.consume_autoscaling_failover_enabled(config.autoscaling.failover.enabled.clone());
267 consumer.consume_autoscaling_failover_metrics(config.autoscaling.failover.metrics.clone());
268 consumer.consume_basic_telemetry_add_container_tags(config.basic_telemetry_add_container_tags.clone());
269 consumer.consume_bind_host(config.bind_host.clone());
270 consumer.consume_cluster_agent_auth_token(config.cluster_agent.auth_token.clone());
271 consumer.consume_cluster_agent_enabled(config.cluster_agent.enabled.clone());
272 consumer.consume_cluster_agent_kubernetes_service_name(config.cluster_agent.kubernetes_service_name.clone());
273 consumer.consume_cluster_agent_url(config.cluster_agent.url.clone());
274 consumer.consume_cmd_port(config.cmd_port.clone());
275 consumer.consume_cri_connection_timeout(config.cri_connection_timeout.clone());
276 consumer.consume_cri_query_timeout(config.cri_query_timeout.clone());
277 consumer.consume_data_plane_api_listen_address(config.data_plane.api_listen_address.clone());
278 consumer.consume_data_plane_dogstatsd_aggregator_tag_filter_cache_capacity(config.data_plane.dogstatsd.aggregator_tag_filter_cache_capacity.clone());
279 consumer.consume_data_plane_dogstatsd_enabled(config.data_plane.dogstatsd.enabled.clone());
280 consumer.consume_data_plane_enabled(config.data_plane.enabled.clone());
281 consumer.consume_data_plane_log_file(config.data_plane.log_file.clone());
282 consumer.consume_data_plane_otlp_enabled(config.data_plane.otlp.enabled.clone());
283 consumer.consume_data_plane_otlp_proxy_enabled(config.data_plane.otlp.proxy.enabled.clone());
284 consumer.consume_data_plane_otlp_proxy_logs_enabled(config.data_plane.otlp.proxy.logs.enabled.clone());
285 consumer.consume_data_plane_otlp_proxy_metrics_enabled(config.data_plane.otlp.proxy.metrics.enabled.clone());
286 consumer.consume_data_plane_otlp_proxy_receiver_protocols_grpc_endpoint(config.data_plane.otlp.proxy.receiver.protocols.grpc.endpoint.clone());
287 consumer.consume_data_plane_otlp_proxy_traces_enabled(config.data_plane.otlp.proxy.traces.enabled.clone());
288 consumer.consume_data_plane_remote_agent_enabled(config.data_plane.remote_agent_enabled.clone());
289 consumer.consume_data_plane_secure_api_listen_address(config.data_plane.secure_api_listen_address.clone());
290 consumer.consume_data_plane_use_new_config_stream_endpoint(config.data_plane.use_new_config_stream_endpoint.clone());
291 consumer.consume_dd_url(config.dd_url.clone());
292 consumer.consume_disable_file_logging(config.disable_file_logging.clone());
293 consumer.consume_dogstatsd_buffer_size(config.dogstatsd_buffer_size.clone());
294 consumer.consume_dogstatsd_capture_depth(config.dogstatsd_capture_depth.clone());
295 consumer.consume_dogstatsd_capture_path(config.dogstatsd_capture_path.clone());
296 consumer.consume_dogstatsd_context_expiry_seconds(config.dogstatsd_context_expiry_seconds.clone());
297 consumer.consume_dogstatsd_disable_verbose_logs(config.dogstatsd_disable_verbose_logs.clone());
298 consumer.consume_dogstatsd_entity_id_precedence(config.dogstatsd_entity_id_precedence.clone());
299 consumer.consume_dogstatsd_eol_required(config.dogstatsd_eol_required.clone());
300 consumer.consume_dogstatsd_expiry_seconds(config.dogstatsd_expiry_seconds.clone());
301 consumer.consume_dogstatsd_flush_incomplete_buckets(config.dogstatsd_flush_incomplete_buckets.clone());
302 consumer.consume_dogstatsd_log_file(config.dogstatsd_log_file.clone());
303 consumer.consume_dogstatsd_log_file_max_rolls(config.dogstatsd_log_file_max_rolls.clone());
304 consumer.consume_dogstatsd_log_file_max_size(config.dogstatsd_log_file_max_size.clone());
305 consumer.consume_dogstatsd_logging_enabled(config.dogstatsd_logging_enabled.clone());
306 consumer.consume_dogstatsd_mapper_cache_size(config.dogstatsd_mapper_cache_size.clone());
307 consumer.consume_dogstatsd_mapper_profiles(config.dogstatsd_mapper_profiles.clone());
308 consumer.consume_dogstatsd_metrics_stats_enable(config.dogstatsd_metrics_stats_enable.clone());
309 consumer.consume_dogstatsd_no_aggregation_pipeline(config.dogstatsd_no_aggregation_pipeline.clone());
310 consumer.consume_dogstatsd_non_local_traffic(config.dogstatsd_non_local_traffic.clone());
311 consumer.consume_dogstatsd_origin_detection(config.dogstatsd_origin_detection.clone());
312 consumer.consume_dogstatsd_origin_detection_client(config.dogstatsd_origin_detection_client.clone());
313 consumer.consume_dogstatsd_origin_optout_enabled(config.dogstatsd_origin_optout_enabled.clone());
314 consumer.consume_dogstatsd_pipe_name(config.dogstatsd_pipe_name.clone());
315 consumer.consume_dogstatsd_port(config.dogstatsd_port.clone());
316 consumer.consume_dogstatsd_so_rcvbuf(config.dogstatsd_so_rcvbuf.clone());
317 consumer.consume_dogstatsd_socket(config.dogstatsd_socket.clone());
318 consumer.consume_dogstatsd_stream_log_too_big(config.dogstatsd_stream_log_too_big.clone());
319 consumer.consume_dogstatsd_stream_socket(config.dogstatsd_stream_socket.clone());
320 consumer.consume_dogstatsd_string_interner_size(config.dogstatsd_string_interner_size.clone());
321 consumer.consume_dogstatsd_tag_cardinality(config.dogstatsd_tag_cardinality.clone());
322 consumer.consume_dogstatsd_tags(config.dogstatsd_tags.clone());
323 consumer.consume_dogstatsd_windows_pipe_security_descriptor(config.dogstatsd_windows_pipe_security_descriptor.clone());
324 consumer.consume_enable_payloads_events(config.enable_payloads.events.clone());
325 consumer.consume_enable_payloads_series(config.enable_payloads.series.clone());
326 consumer.consume_enable_payloads_service_checks(config.enable_payloads.service_checks.clone());
327 consumer.consume_enable_payloads_sketches(config.enable_payloads.sketches.clone());
328 consumer.consume_env(config.env.clone());
329 consumer.consume_expected_tags_duration(config.expected_tags_duration.clone());
330 consumer.consume_forwarder_apikey_validation_interval(config.forwarder_apikey_validation_interval.clone());
331 consumer.consume_forwarder_backoff_base(config.forwarder_backoff_base.clone());
332 consumer.consume_forwarder_backoff_factor(config.forwarder_backoff_factor.clone());
333 consumer.consume_forwarder_backoff_max(config.forwarder_backoff_max.clone());
334 consumer.consume_forwarder_connection_reset_interval(config.forwarder_connection_reset_interval.clone());
335 consumer.consume_forwarder_flush_to_disk_mem_ratio(config.forwarder_flush_to_disk_mem_ratio.clone());
336 consumer.consume_forwarder_high_prio_buffer_size(config.forwarder_high_prio_buffer_size.clone());
337 consumer.consume_forwarder_http_protocol(config.forwarder_http_protocol.clone());
338 consumer.consume_forwarder_max_concurrent_requests(config.forwarder_max_concurrent_requests.clone());
339 consumer.consume_forwarder_num_workers(config.forwarder_num_workers.clone());
340 consumer.consume_forwarder_outdated_file_in_days(config.forwarder_outdated_file_in_days.clone());
341 consumer.consume_forwarder_recovery_interval(config.forwarder_recovery_interval.clone());
342 consumer.consume_forwarder_recovery_reset(config.forwarder_recovery_reset.clone());
343 consumer.consume_forwarder_retry_queue_capacity_time_interval_sec(config.forwarder_retry_queue_capacity_time_interval_sec.clone());
344 consumer.consume_forwarder_retry_queue_max_size(config.forwarder_retry_queue_max_size.clone());
345 consumer.consume_forwarder_retry_queue_payloads_max_size(config.forwarder_retry_queue_payloads_max_size.clone());
346 consumer.consume_forwarder_stop_timeout(config.forwarder_stop_timeout.clone());
347 consumer.consume_forwarder_storage_max_disk_ratio(config.forwarder_storage_max_disk_ratio.clone());
348 consumer.consume_forwarder_storage_max_size_in_bytes(config.forwarder_storage_max_size_in_bytes.clone());
349 consumer.consume_forwarder_storage_path(config.forwarder_storage_path.clone());
350 consumer.consume_forwarder_timeout(config.forwarder_timeout.clone());
351 consumer.consume_histogram_aggregates(config.histogram_aggregates.clone());
352 consumer.consume_histogram_copy_to_distribution(config.histogram_copy_to_distribution.clone());
353 consumer.consume_histogram_copy_to_distribution_prefix(config.histogram_copy_to_distribution_prefix.clone());
354 consumer.consume_histogram_percentiles(config.histogram_percentiles.clone());
355 consumer.consume_log_file_max_rolls(config.log_file_max_rolls.clone());
356 consumer.consume_log_file_max_size(config.log_file_max_size.clone());
357 consumer.consume_log_format_json(config.log_format_json.clone());
358 consumer.consume_log_format_rfc3339(config.log_format_rfc3339.clone());
359 consumer.consume_log_level(config.log_level.clone());
360 consumer.consume_log_payloads(config.log_payloads.clone());
361 consumer.consume_log_to_console(config.log_to_console.clone());
362 consumer.consume_log_to_syslog(config.log_to_syslog.clone());
363 consumer.consume_metric_filterlist(config.metric_filterlist.clone());
364 consumer.consume_metric_filterlist_match_prefix(config.metric_filterlist_match_prefix.clone());
365 consumer.consume_metric_tag_filterlist(config.metric_tag_filterlist.clone());
366 consumer.consume_min_tls_version(config.min_tls_version.clone());
367 consumer.consume_multi_region_failover_api_key(config.multi_region_failover.api_key.clone());
368 consumer.consume_multi_region_failover_dd_url(config.multi_region_failover.dd_url.clone());
369 consumer.consume_multi_region_failover_enabled(config.multi_region_failover.enabled.clone());
370 consumer.consume_multi_region_failover_failover_metrics(config.multi_region_failover.failover_metrics.clone());
371 consumer.consume_multi_region_failover_metric_allowlist(config.multi_region_failover.metric_allowlist.clone());
372 consumer.consume_multi_region_failover_site(config.multi_region_failover.site.clone());
373 consumer.consume_no_proxy_nonexact_match(config.no_proxy_nonexact_match.clone());
374 consumer.consume_observability_pipelines_worker_metrics_enabled(config.observability_pipelines_worker.metrics.enabled.clone());
375 consumer.consume_observability_pipelines_worker_metrics_url(config.observability_pipelines_worker.metrics.url.clone());
376 consumer.consume_observability_pipelines_worker_metrics_use_v3_api_series(config.observability_pipelines_worker.metrics.use_v3_api.series.clone());
377 consumer.consume_origin_detection_unified(config.origin_detection_unified.clone());
378 consumer.consume_otlp_config_logs_enabled(config.otlp_config.logs.enabled.clone());
379 consumer.consume_otlp_config_metrics_enabled(config.otlp_config.metrics.enabled.clone());
380 consumer.consume_otlp_config_metrics_histograms_mode(config.otlp_config.metrics.histograms.mode.clone());
381 consumer.consume_otlp_config_metrics_histograms_send_aggregation_metrics(config.otlp_config.metrics.histograms.send_aggregation_metrics.clone());
382 consumer.consume_otlp_config_metrics_resource_attributes_as_tags(config.otlp_config.metrics.resource_attributes_as_tags.clone());
383 consumer.consume_otlp_config_metrics_summaries_mode(config.otlp_config.metrics.summaries.mode.clone());
384 consumer.consume_otlp_config_metrics_sums_cumulative_monotonic_mode(config.otlp_config.metrics.sums.cumulative_monotonic_mode.clone());
385 consumer.consume_otlp_config_metrics_sums_initial_cumulative_monotonic_value(config.otlp_config.metrics.sums.initial_cumulative_monotonic_value.clone());
386 consumer.consume_otlp_config_metrics_tags(config.otlp_config.metrics.tags.clone());
387 consumer.consume_otlp_config_receiver_protocols_grpc_endpoint(config.otlp_config.receiver.protocols.grpc.endpoint.clone());
388 consumer.consume_otlp_config_receiver_protocols_grpc_max_recv_msg_size_mib(config.otlp_config.receiver.protocols.grpc.max_recv_msg_size_mib.clone());
389 consumer.consume_otlp_config_receiver_protocols_grpc_transport(config.otlp_config.receiver.protocols.grpc.transport.clone());
390 consumer.consume_otlp_config_receiver_protocols_http_endpoint(config.otlp_config.receiver.protocols.http.endpoint.clone());
391 consumer.consume_otlp_config_traces_enabled(config.otlp_config.traces.enabled.clone());
392 consumer.consume_otlp_config_traces_internal_port(config.otlp_config.traces.internal_port.clone());
393 consumer.consume_otlp_config_traces_probabilistic_sampler_sampling_percentage(config.otlp_config.traces.probabilistic_sampler.sampling_percentage.clone());
394 consumer.consume_provider_kind(config.provider_kind.clone());
395 consumer.consume_proxy_http(config.proxy.http.clone());
396 consumer.consume_proxy_https(config.proxy.https.clone());
397 consumer.consume_proxy_no_proxy(config.proxy.no_proxy.clone());
398 consumer.consume_serializer_compressor_kind(config.serializer_compressor_kind.clone());
399 consumer.consume_serializer_experimental_use_v3_api_compression_level(config.serializer_experimental_use_v3_api.compression_level.clone());
400 consumer.consume_serializer_experimental_use_v3_api_series_beta_route(config.serializer_experimental_use_v3_api.series.beta_route.clone());
401 consumer.consume_serializer_experimental_use_v3_api_series_endpoints(config.serializer_experimental_use_v3_api.series.endpoints.clone());
402 consumer.consume_serializer_experimental_use_v3_api_series_shadow_sample_rate(config.serializer_experimental_use_v3_api.series.shadow_sample_rate.clone());
403 consumer.consume_serializer_experimental_use_v3_api_series_shadow_sites(config.serializer_experimental_use_v3_api.series.shadow_sites.clone());
404 consumer.consume_serializer_experimental_use_v3_api_series_use_beta(config.serializer_experimental_use_v3_api.series.use_beta.clone());
405 consumer.consume_serializer_experimental_use_v3_api_series_validate(config.serializer_experimental_use_v3_api.series.validate.clone());
406 consumer.consume_serializer_experimental_use_v3_api_sketches_endpoints(config.serializer_experimental_use_v3_api.sketches.endpoints.clone());
407 consumer.consume_serializer_experimental_use_v3_api_sketches_validate(config.serializer_experimental_use_v3_api.sketches.validate.clone());
408 consumer.consume_serializer_max_payload_size(config.serializer_max_payload_size.clone());
409 consumer.consume_serializer_max_series_payload_size(config.serializer_max_series_payload_size.clone());
410 consumer.consume_serializer_max_series_points_per_payload(config.serializer_max_series_points_per_payload.clone());
411 consumer.consume_serializer_max_series_uncompressed_payload_size(config.serializer_max_series_uncompressed_payload_size.clone());
412 consumer.consume_serializer_max_uncompressed_payload_size(config.serializer_max_uncompressed_payload_size.clone());
413 consumer.consume_serializer_zstd_compressor_level(config.serializer_zstd_compressor_level.clone());
414 consumer.consume_site(config.site.clone());
415 consumer.consume_skip_ssl_validation(config.skip_ssl_validation.clone());
416 consumer.consume_sslkeylogfile(config.sslkeylogfile.clone());
417 consumer.consume_statsd_forward_host(config.statsd_forward_host.clone());
418 consumer.consume_statsd_forward_port(config.statsd_forward_port.clone());
419 consumer.consume_statsd_metric_blocklist(config.statsd_metric_blocklist.clone());
420 consumer.consume_statsd_metric_blocklist_match_prefix(config.statsd_metric_blocklist_match_prefix.clone());
421 consumer.consume_statsd_metric_namespace(config.statsd_metric_namespace.clone());
422 consumer.consume_statsd_metric_namespace_blacklist(config.statsd_metric_namespace_blacklist.clone());
423 consumer.consume_syslog_rfc(config.syslog_rfc.clone());
424 consumer.consume_syslog_uri(config.syslog_uri.clone());
425 consumer.consume_telemetry_dogstatsd_origin(config.telemetry.dogstatsd_origin.clone());
426 consumer.consume_use_proxy_for_cloud_metadata(config.use_proxy_for_cloud_metadata.clone());
427 consumer.consume_use_v2_api_series(config.use_v2_api.series.clone());
428 consumer.consume_use_v3_api_series_enabled(config.use_v3_api.series.enabled.clone());
429 consumer.consume_use_v3_api_series_endpoints(config.use_v3_api.series.endpoints.clone());
430 consumer.consume_vector_metrics_enabled(config.vector.metrics.enabled.clone());
431 consumer.consume_vector_metrics_url(config.vector.metrics.url.clone());
432 consumer.consume_vector_metrics_use_v3_api_series(config.vector.metrics.use_v3_api.series.clone());
433 consumer.consume_vsock_addr(config.vsock_addr.clone());
434
435 let errors = consumer.translate_errors();
436 if errors.is_empty() {
437 Ok(())
438 } else {
439 Err(TranslateErrors::new(errors))
440 }
441}