1use crate::config_registry::{
3 generated::schema, structs, Pipeline, PipelineAffinity, SalukiAnnotation, Schema, SchemaEntry, SupportLevel,
4 ValueType,
5};
6
7static SQL_DBMS: SchemaEntry = SchemaEntry {
11 schema: Schema::Saluki,
12 yaml_path: "apm_config.obfuscation.sql.dbms",
13 env_vars: &[],
14 value_type: ValueType::String,
15 default: None,
16};
17
18static SQL_DOLLAR_QUOTED: SchemaEntry = SchemaEntry {
19 schema: Schema::Saluki,
20 yaml_path: "apm_config.obfuscation.sql.dollar_quoted_func",
21 env_vars: &[],
22 value_type: ValueType::Bool,
23 default: None,
24};
25
26static SQL_KEEP_ALIAS: SchemaEntry = SchemaEntry {
27 schema: Schema::Saluki,
28 yaml_path: "apm_config.obfuscation.sql.keep_sql_alias",
29 env_vars: &[],
30 value_type: ValueType::Bool,
31 default: None,
32};
33
34static SQL_REPLACE_DIGITS: SchemaEntry = SchemaEntry {
35 schema: Schema::Saluki,
36 yaml_path: "apm_config.obfuscation.sql.replace_digits",
37 env_vars: &[],
38 value_type: ValueType::Bool,
39 default: None,
40};
41
42static SQL_TABLE_NAMES: SchemaEntry = SchemaEntry {
43 schema: Schema::Saluki,
44 yaml_path: "apm_config.obfuscation.sql.table_names",
45 env_vars: &[],
46 value_type: ValueType::Bool,
47 default: None,
48};
49
50crate::declare_annotations! {
51 CONFIG_CREDIT_CARDS_ENABLED = SalukiAnnotation {
53 schema: &schema::APM_CONFIG_OBFUSCATION_CREDIT_CARDS_ENABLED,
54 support_level: SupportLevel::Full,
55 additional_yaml_paths: &[],
56 env_var_override: None,
57 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
58 value_type_override: None,
59 test_json: Some("true"),
60 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
61 };
62
63 CONFIG_CREDIT_CARDS_KEEP_VALUES = SalukiAnnotation {
65 schema: &schema::APM_CONFIG_OBFUSCATION_CREDIT_CARDS_KEEP_VALUES,
66 support_level: SupportLevel::Full,
67 additional_yaml_paths: &[],
68 env_var_override: None,
69 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
70 value_type_override: None,
71 test_json: None,
72 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
73 };
74
75 CONFIG_CREDIT_CARDS_LUHN = SalukiAnnotation {
77 schema: &schema::APM_CONFIG_OBFUSCATION_CREDIT_CARDS_LUHN,
78 support_level: SupportLevel::Full,
79 additional_yaml_paths: &[],
80 env_var_override: None,
81 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
82 value_type_override: None,
83 test_json: None,
84 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
85 };
86
87 CONFIG_ES_ENABLED = SalukiAnnotation {
89 schema: &schema::APM_CONFIG_OBFUSCATION_ELASTICSEARCH_ENABLED,
90 support_level: SupportLevel::Full,
91 additional_yaml_paths: &[],
92 env_var_override: None,
93 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
94 value_type_override: None,
95 test_json: Some("true"),
96 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
97 };
98
99 CONFIG_ES_KEEP_VALUES = SalukiAnnotation {
101 schema: &schema::APM_CONFIG_OBFUSCATION_ELASTICSEARCH_KEEP_VALUES,
102 support_level: SupportLevel::Full,
103 additional_yaml_paths: &[],
104 env_var_override: None,
105 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
106 value_type_override: None,
107 test_json: None,
108 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
109 };
110
111 CONFIG_ES_OBFUSCATE_SQL_VALUES = SalukiAnnotation {
113 schema: &schema::APM_CONFIG_OBFUSCATION_ELASTICSEARCH_OBFUSCATE_SQL_VALUES,
114 support_level: SupportLevel::Full,
115 additional_yaml_paths: &[],
116 env_var_override: None,
117 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
118 value_type_override: None,
119 test_json: None,
120 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
121 };
122
123 CONFIG_HTTP_REMOVE_PATH_DIGITS = SalukiAnnotation {
125 schema: &schema::APM_CONFIG_OBFUSCATION_HTTP_REMOVE_PATHS_WITH_DIGITS,
126 support_level: SupportLevel::Full,
127 additional_yaml_paths: &[],
128 env_var_override: None,
129 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
130 value_type_override: None,
131 test_json: None,
132 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
133 };
134
135 CONFIG_HTTP_REMOVE_QUERY_STRING = SalukiAnnotation {
137 schema: &schema::APM_CONFIG_OBFUSCATION_HTTP_REMOVE_QUERY_STRING,
138 support_level: SupportLevel::Full,
139 additional_yaml_paths: &[],
140 env_var_override: None,
141 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
142 value_type_override: None,
143 test_json: None,
144 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
145 };
146
147 CONFIG_MEMCACHED_ENABLED = SalukiAnnotation {
149 schema: &schema::APM_CONFIG_OBFUSCATION_MEMCACHED_ENABLED,
150 support_level: SupportLevel::Full,
151 additional_yaml_paths: &[],
152 env_var_override: None,
153 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
154 value_type_override: None,
155 test_json: Some("true"),
156 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
157 };
158
159 CONFIG_MEMCACHED_KEEP_COMMAND = SalukiAnnotation {
161 schema: &schema::APM_CONFIG_OBFUSCATION_MEMCACHED_KEEP_COMMAND,
162 support_level: SupportLevel::Full,
163 additional_yaml_paths: &[],
164 env_var_override: None,
165 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
166 value_type_override: None,
167 test_json: None,
168 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
169 };
170
171 CONFIG_MONGO_ENABLED = SalukiAnnotation {
173 schema: &schema::APM_CONFIG_OBFUSCATION_MONGODB_ENABLED,
174 support_level: SupportLevel::Full,
175 additional_yaml_paths: &[],
176 env_var_override: None,
177 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
178 value_type_override: None,
179 test_json: Some("true"),
180 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
181 };
182
183 CONFIG_MONGO_KEEP_VALUES = SalukiAnnotation {
185 schema: &schema::APM_CONFIG_OBFUSCATION_MONGODB_KEEP_VALUES,
186 support_level: SupportLevel::Full,
187 additional_yaml_paths: &[],
188 env_var_override: None,
189 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
190 value_type_override: None,
191 test_json: None,
192 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
193 };
194
195 CONFIG_MONGO_OBFUSCATE_SQL_VALUES = SalukiAnnotation {
197 schema: &schema::APM_CONFIG_OBFUSCATION_MONGODB_OBFUSCATE_SQL_VALUES,
198 support_level: SupportLevel::Full,
199 additional_yaml_paths: &[],
200 env_var_override: None,
201 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
202 value_type_override: None,
203 test_json: None,
204 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
205 };
206
207 CONFIG_OPEN_SEARCH_ENABLED = SalukiAnnotation {
209 schema: &schema::APM_CONFIG_OBFUSCATION_OPENSEARCH_ENABLED,
210 support_level: SupportLevel::Full,
211 additional_yaml_paths: &[],
212 env_var_override: None,
213 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
214 value_type_override: None,
215 test_json: Some("true"),
216 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
217 };
218
219 CONFIG_OPEN_SEARCH_KEEP_VALUES = SalukiAnnotation {
221 schema: &schema::APM_CONFIG_OBFUSCATION_OPENSEARCH_KEEP_VALUES,
222 support_level: SupportLevel::Full,
223 additional_yaml_paths: &[],
224 env_var_override: None,
225 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
226 value_type_override: None,
227 test_json: None,
228 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
229 };
230
231 CONFIG_OPEN_SEARCH_OBFUSCATE_SQL_VALUES = SalukiAnnotation {
233 schema: &schema::APM_CONFIG_OBFUSCATION_OPENSEARCH_OBFUSCATE_SQL_VALUES,
234 support_level: SupportLevel::Full,
235 additional_yaml_paths: &[],
236 env_var_override: None,
237 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
238 value_type_override: None,
239 test_json: None,
240 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
241 };
242
243 CONFIG_REDIS_ENABLED = SalukiAnnotation {
245 schema: &schema::APM_CONFIG_OBFUSCATION_REDIS_ENABLED,
246 support_level: SupportLevel::Full,
247 additional_yaml_paths: &[],
248 env_var_override: None,
249 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
250 value_type_override: None,
251 test_json: Some("true"),
252 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
253 };
254
255 CONFIG_REDIS_REMOVE_ALL_ARGS = SalukiAnnotation {
257 schema: &schema::APM_CONFIG_OBFUSCATION_REDIS_REMOVE_ALL_ARGS,
258 support_level: SupportLevel::Full,
259 additional_yaml_paths: &[],
260 env_var_override: None,
261 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
262 value_type_override: None,
263 test_json: None,
264 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
265 };
266
267 CONFIG_SQL_DBMS = SalukiAnnotation {
269 schema: &SQL_DBMS,
270 support_level: SupportLevel::Full,
271 additional_yaml_paths: &[],
272 env_var_override: None,
273 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
274 value_type_override: None,
275 test_json: None,
276 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
277 };
278
279 CONFIG_SQL_DOLLAR_QUOTED_FUNC = SalukiAnnotation {
281 schema: &SQL_DOLLAR_QUOTED,
282 support_level: SupportLevel::Full,
283 additional_yaml_paths: &[],
284 env_var_override: None,
285 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
286 value_type_override: None,
287 test_json: None,
288 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
289 };
290
291 CONFIG_SQL_KEEP_SQL_ALIAS = SalukiAnnotation {
293 schema: &SQL_KEEP_ALIAS,
294 support_level: SupportLevel::Full,
295 additional_yaml_paths: &[],
296 env_var_override: None,
297 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
298 value_type_override: None,
299 test_json: None,
300 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
301 };
302
303 CONFIG_SQL_REPLACE_DIGITS = SalukiAnnotation {
305 schema: &SQL_REPLACE_DIGITS,
306 support_level: SupportLevel::Full,
307 additional_yaml_paths: &[],
308 env_var_override: None,
309 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
310 value_type_override: None,
311 test_json: None,
312 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
313 };
314
315 CONFIG_SQL_TABLE_NAMES = SalukiAnnotation {
317 schema: &SQL_TABLE_NAMES,
318 support_level: SupportLevel::Full,
319 additional_yaml_paths: &[],
320 env_var_override: None,
321 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
322 value_type_override: None,
323 test_json: None,
324 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
325 };
326
327 CONFIG_VALKEY_ENABLED = SalukiAnnotation {
329 schema: &schema::APM_CONFIG_OBFUSCATION_VALKEY_ENABLED,
330 support_level: SupportLevel::Full,
331 additional_yaml_paths: &[],
332 env_var_override: None,
333 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
334 value_type_override: None,
335 test_json: Some("true"),
336 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
337 };
338
339 CONFIG_VALKEY_REMOVE_ALL_ARGS = SalukiAnnotation {
341 schema: &schema::APM_CONFIG_OBFUSCATION_VALKEY_REMOVE_ALL_ARGS,
342 support_level: SupportLevel::Full,
343 additional_yaml_paths: &[],
344 env_var_override: None,
345 used_by: &[structs::TRACE_OBFUSCATION_CONFIGURATION],
346 value_type_override: None,
347 test_json: None,
348 pipeline_affinity: PipelineAffinity::Pipelines(&[Pipeline::Traces]),
349 };
350}