@@ -902,6 +902,57 @@ public ObservabilityPipelineConfigProcessorItem deserialize(
902
902
e );
903
903
}
904
904
905
+ // deserialize ObservabilityPipelineDatadogTagsProcessor
906
+ try {
907
+ boolean attemptParsing = true ;
908
+ // ensure that we respect type coercion as set on the client ObjectMapper
909
+ if (ObservabilityPipelineDatadogTagsProcessor .class .equals (Integer .class )
910
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (Long .class )
911
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (Float .class )
912
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (Double .class )
913
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (Boolean .class )
914
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (String .class )) {
915
+ attemptParsing = typeCoercion ;
916
+ if (!attemptParsing ) {
917
+ attemptParsing |=
918
+ ((ObservabilityPipelineDatadogTagsProcessor .class .equals (Integer .class )
919
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (Long .class ))
920
+ && token == JsonToken .VALUE_NUMBER_INT );
921
+ attemptParsing |=
922
+ ((ObservabilityPipelineDatadogTagsProcessor .class .equals (Float .class )
923
+ || ObservabilityPipelineDatadogTagsProcessor .class .equals (Double .class ))
924
+ && (token == JsonToken .VALUE_NUMBER_FLOAT
925
+ || token == JsonToken .VALUE_NUMBER_INT ));
926
+ attemptParsing |=
927
+ (ObservabilityPipelineDatadogTagsProcessor .class .equals (Boolean .class )
928
+ && (token == JsonToken .VALUE_FALSE || token == JsonToken .VALUE_TRUE ));
929
+ attemptParsing |=
930
+ (ObservabilityPipelineDatadogTagsProcessor .class .equals (String .class )
931
+ && token == JsonToken .VALUE_STRING );
932
+ }
933
+ }
934
+ if (attemptParsing ) {
935
+ tmp =
936
+ tree .traverse (jp .getCodec ())
937
+ .readValueAs (ObservabilityPipelineDatadogTagsProcessor .class );
938
+ // TODO: there is no validation against JSON schema constraints
939
+ // (min, max, enum, pattern...), this does not perform a strict JSON
940
+ // validation, which means the 'match' count may be higher than it should be.
941
+ if (!((ObservabilityPipelineDatadogTagsProcessor ) tmp ).unparsed ) {
942
+ deserialized = tmp ;
943
+ match ++;
944
+ }
945
+ log .log (
946
+ Level .FINER , "Input data matches schema 'ObservabilityPipelineDatadogTagsProcessor'" );
947
+ }
948
+ } catch (Exception e ) {
949
+ // deserialization failed, continue
950
+ log .log (
951
+ Level .FINER ,
952
+ "Input data does not match schema 'ObservabilityPipelineDatadogTagsProcessor'" ,
953
+ e );
954
+ }
955
+
905
956
ObservabilityPipelineConfigProcessorItem ret = new ObservabilityPipelineConfigProcessorItem ();
906
957
if (match == 1 ) {
907
958
ret .setActualInstance (deserialized );
@@ -1013,6 +1064,11 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineThrottlePro
1013
1064
setActualInstance (o );
1014
1065
}
1015
1066
1067
+ public ObservabilityPipelineConfigProcessorItem (ObservabilityPipelineDatadogTagsProcessor o ) {
1068
+ super ("oneOf" , Boolean .FALSE );
1069
+ setActualInstance (o );
1070
+ }
1071
+
1016
1072
static {
1017
1073
schemas .put (
1018
1074
"ObservabilityPipelineFilterProcessor" ,
@@ -1062,6 +1118,9 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineThrottlePro
1062
1118
schemas .put (
1063
1119
"ObservabilityPipelineThrottleProcessor" ,
1064
1120
new GenericType <ObservabilityPipelineThrottleProcessor >() {});
1121
+ schemas .put (
1122
+ "ObservabilityPipelineDatadogTagsProcessor" ,
1123
+ new GenericType <ObservabilityPipelineDatadogTagsProcessor >() {});
1065
1124
JSON .registerDescendants (
1066
1125
ObservabilityPipelineConfigProcessorItem .class , Collections .unmodifiableMap (schemas ));
1067
1126
}
@@ -1081,7 +1140,7 @@ public Map<String, GenericType> getSchemas() {
1081
1140
* ObservabilityPipelineSensitiveDataScannerProcessor, ObservabilityPipelineOcsfMapperProcessor,
1082
1141
* ObservabilityPipelineAddEnvVarsProcessor, ObservabilityPipelineDedupeProcessor,
1083
1142
* ObservabilityPipelineEnrichmentTableProcessor, ObservabilityPipelineReduceProcessor,
1084
- * ObservabilityPipelineThrottleProcessor
1143
+ * ObservabilityPipelineThrottleProcessor, ObservabilityPipelineDatadogTagsProcessor
1085
1144
*
1086
1145
* <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
1087
1146
* composed schema (allOf, anyOf, oneOf).
@@ -1170,6 +1229,11 @@ public void setActualInstance(Object instance) {
1170
1229
super .setActualInstance (instance );
1171
1230
return ;
1172
1231
}
1232
+ if (JSON .isInstanceOf (
1233
+ ObservabilityPipelineDatadogTagsProcessor .class , instance , new HashSet <Class <?>>())) {
1234
+ super .setActualInstance (instance );
1235
+ return ;
1236
+ }
1173
1237
1174
1238
if (JSON .isInstanceOf (UnparsedObject .class , instance , new HashSet <Class <?>>())) {
1175
1239
super .setActualInstance (instance );
@@ -1187,7 +1251,8 @@ public void setActualInstance(Object instance) {
1187
1251
+ " ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineAddEnvVarsProcessor,"
1188
1252
+ " ObservabilityPipelineDedupeProcessor,"
1189
1253
+ " ObservabilityPipelineEnrichmentTableProcessor,"
1190
- + " ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor" );
1254
+ + " ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor,"
1255
+ + " ObservabilityPipelineDatadogTagsProcessor" );
1191
1256
}
1192
1257
1193
1258
/**
@@ -1199,7 +1264,7 @@ public void setActualInstance(Object instance) {
1199
1264
* ObservabilityPipelineSensitiveDataScannerProcessor, ObservabilityPipelineOcsfMapperProcessor,
1200
1265
* ObservabilityPipelineAddEnvVarsProcessor, ObservabilityPipelineDedupeProcessor,
1201
1266
* ObservabilityPipelineEnrichmentTableProcessor, ObservabilityPipelineReduceProcessor,
1202
- * ObservabilityPipelineThrottleProcessor
1267
+ * ObservabilityPipelineThrottleProcessor, ObservabilityPipelineDatadogTagsProcessor
1203
1268
*
1204
1269
* @return The actual instance (ObservabilityPipelineFilterProcessor,
1205
1270
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
@@ -1209,7 +1274,8 @@ public void setActualInstance(Object instance) {
1209
1274
* ObservabilityPipelineSensitiveDataScannerProcessor,
1210
1275
* ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineAddEnvVarsProcessor,
1211
1276
* ObservabilityPipelineDedupeProcessor, ObservabilityPipelineEnrichmentTableProcessor,
1212
- * ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor)
1277
+ * ObservabilityPipelineReduceProcessor, ObservabilityPipelineThrottleProcessor,
1278
+ * ObservabilityPipelineDatadogTagsProcessor)
1213
1279
*/
1214
1280
@ Override
1215
1281
public Object getActualInstance () {
@@ -1413,4 +1479,16 @@ public ObservabilityPipelineThrottleProcessor getObservabilityPipelineThrottlePr
1413
1479
throws ClassCastException {
1414
1480
return (ObservabilityPipelineThrottleProcessor ) super .getActualInstance ();
1415
1481
}
1482
+
1483
+ /**
1484
+ * Get the actual instance of `ObservabilityPipelineDatadogTagsProcessor`. If the actual instance
1485
+ * is not `ObservabilityPipelineDatadogTagsProcessor`, the ClassCastException will be thrown.
1486
+ *
1487
+ * @return The actual instance of `ObservabilityPipelineDatadogTagsProcessor`
1488
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineDatadogTagsProcessor`
1489
+ */
1490
+ public ObservabilityPipelineDatadogTagsProcessor getObservabilityPipelineDatadogTagsProcessor ()
1491
+ throws ClassCastException {
1492
+ return (ObservabilityPipelineDatadogTagsProcessor ) super .getActualInstance ();
1493
+ }
1416
1494
}
0 commit comments