@@ -545,6 +545,59 @@ public ObservabilityPipelineConfigProcessorItem deserialize(
545545 e );
546546 }
547547
548+ // deserialize ObservabilityPipelineGenerateMetricsV2Processor
549+ try {
550+ boolean attemptParsing = true ;
551+ // ensure that we respect type coercion as set on the client ObjectMapper
552+ if (ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Integer .class )
553+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Long .class )
554+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Float .class )
555+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Double .class )
556+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Boolean .class )
557+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (String .class )) {
558+ attemptParsing = typeCoercion ;
559+ if (!attemptParsing ) {
560+ attemptParsing |=
561+ ((ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Integer .class )
562+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Long .class ))
563+ && token == JsonToken .VALUE_NUMBER_INT );
564+ attemptParsing |=
565+ ((ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Float .class )
566+ || ObservabilityPipelineGenerateMetricsV2Processor .class .equals (
567+ Double .class ))
568+ && (token == JsonToken .VALUE_NUMBER_FLOAT
569+ || token == JsonToken .VALUE_NUMBER_INT ));
570+ attemptParsing |=
571+ (ObservabilityPipelineGenerateMetricsV2Processor .class .equals (Boolean .class )
572+ && (token == JsonToken .VALUE_FALSE || token == JsonToken .VALUE_TRUE ));
573+ attemptParsing |=
574+ (ObservabilityPipelineGenerateMetricsV2Processor .class .equals (String .class )
575+ && token == JsonToken .VALUE_STRING );
576+ }
577+ }
578+ if (attemptParsing ) {
579+ tmp =
580+ tree .traverse (jp .getCodec ())
581+ .readValueAs (ObservabilityPipelineGenerateMetricsV2Processor .class );
582+ // TODO: there is no validation against JSON schema constraints
583+ // (min, max, enum, pattern...), this does not perform a strict JSON
584+ // validation, which means the 'match' count may be higher than it should be.
585+ if (!((ObservabilityPipelineGenerateMetricsV2Processor ) tmp ).unparsed ) {
586+ deserialized = tmp ;
587+ match ++;
588+ }
589+ log .log (
590+ Level .FINER ,
591+ "Input data matches schema 'ObservabilityPipelineGenerateMetricsV2Processor'" );
592+ }
593+ } catch (Exception e ) {
594+ // deserialization failed, continue
595+ log .log (
596+ Level .FINER ,
597+ "Input data does not match schema 'ObservabilityPipelineGenerateMetricsV2Processor'" ,
598+ e );
599+ }
600+
548601 // deserialize ObservabilityPipelineOcsfMapperProcessor
549602 try {
550603 boolean attemptParsing = true ;
@@ -1491,6 +1544,12 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineGenerateMet
14911544 setActualInstance (o );
14921545 }
14931546
1547+ public ObservabilityPipelineConfigProcessorItem (
1548+ ObservabilityPipelineGenerateMetricsV2Processor o ) {
1549+ super ("oneOf" , Boolean .FALSE );
1550+ setActualInstance (o );
1551+ }
1552+
14941553 public ObservabilityPipelineConfigProcessorItem (ObservabilityPipelineOcsfMapperProcessor o ) {
14951554 super ("oneOf" , Boolean .FALSE );
14961555 setActualInstance (o );
@@ -1607,6 +1666,9 @@ public ObservabilityPipelineConfigProcessorItem(
16071666 schemas .put (
16081667 "ObservabilityPipelineGenerateMetricsProcessor" ,
16091668 new GenericType <ObservabilityPipelineGenerateMetricsProcessor >() {});
1669+ schemas .put (
1670+ "ObservabilityPipelineGenerateMetricsV2Processor" ,
1671+ new GenericType <ObservabilityPipelineGenerateMetricsV2Processor >() {});
16101672 schemas .put (
16111673 "ObservabilityPipelineOcsfMapperProcessor" ,
16121674 new GenericType <ObservabilityPipelineOcsfMapperProcessor >() {});
@@ -1674,14 +1736,15 @@ public Map<String, GenericType> getSchemas() {
16741736 * ObservabilityPipelineAddHostnameProcessor, ObservabilityPipelineCustomProcessor,
16751737 * ObservabilityPipelineDatadogTagsProcessor, ObservabilityPipelineDedupeProcessor,
16761738 * ObservabilityPipelineEnrichmentTableProcessor, ObservabilityPipelineGenerateMetricsProcessor,
1677- * ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineParseGrokProcessor,
1678- * ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineParseXMLProcessor,
1679- * ObservabilityPipelineQuotaProcessor, ObservabilityPipelineReduceProcessor,
1680- * ObservabilityPipelineRemoveFieldsProcessor, ObservabilityPipelineRenameFieldsProcessor,
1681- * ObservabilityPipelineSampleProcessor, ObservabilityPipelineSensitiveDataScannerProcessor,
1682- * ObservabilityPipelineSplitArrayProcessor, ObservabilityPipelineThrottleProcessor,
1683- * ObservabilityPipelineAddMetricTagsProcessor, ObservabilityPipelineAggregateProcessor,
1684- * ObservabilityPipelineMetricTagsProcessor, ObservabilityPipelineRenameMetricTagsProcessor,
1739+ * ObservabilityPipelineGenerateMetricsV2Processor, ObservabilityPipelineOcsfMapperProcessor,
1740+ * ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineParseJSONProcessor,
1741+ * ObservabilityPipelineParseXMLProcessor, ObservabilityPipelineQuotaProcessor,
1742+ * ObservabilityPipelineReduceProcessor, ObservabilityPipelineRemoveFieldsProcessor,
1743+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineSampleProcessor,
1744+ * ObservabilityPipelineSensitiveDataScannerProcessor, ObservabilityPipelineSplitArrayProcessor,
1745+ * ObservabilityPipelineThrottleProcessor, ObservabilityPipelineAddMetricTagsProcessor,
1746+ * ObservabilityPipelineAggregateProcessor, ObservabilityPipelineMetricTagsProcessor,
1747+ * ObservabilityPipelineRenameMetricTagsProcessor,
16851748 * ObservabilityPipelineTagCardinalityLimitProcessor
16861749 *
16871750 * <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
@@ -1734,6 +1797,11 @@ public void setActualInstance(Object instance) {
17341797 super .setActualInstance (instance );
17351798 return ;
17361799 }
1800+ if (JSON .isInstanceOf (
1801+ ObservabilityPipelineGenerateMetricsV2Processor .class , instance , new HashSet <Class <?>>())) {
1802+ super .setActualInstance (instance );
1803+ return ;
1804+ }
17371805 if (JSON .isInstanceOf (
17381806 ObservabilityPipelineOcsfMapperProcessor .class , instance , new HashSet <Class <?>>())) {
17391807 super .setActualInstance (instance );
@@ -1835,6 +1903,7 @@ public void setActualInstance(Object instance) {
18351903 + " ObservabilityPipelineDatadogTagsProcessor, ObservabilityPipelineDedupeProcessor,"
18361904 + " ObservabilityPipelineEnrichmentTableProcessor,"
18371905 + " ObservabilityPipelineGenerateMetricsProcessor,"
1906+ + " ObservabilityPipelineGenerateMetricsV2Processor,"
18381907 + " ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineParseGrokProcessor,"
18391908 + " ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineParseXMLProcessor,"
18401909 + " ObservabilityPipelineQuotaProcessor, ObservabilityPipelineReduceProcessor,"
@@ -1854,22 +1923,24 @@ public void setActualInstance(Object instance) {
18541923 * ObservabilityPipelineAddHostnameProcessor, ObservabilityPipelineCustomProcessor,
18551924 * ObservabilityPipelineDatadogTagsProcessor, ObservabilityPipelineDedupeProcessor,
18561925 * ObservabilityPipelineEnrichmentTableProcessor, ObservabilityPipelineGenerateMetricsProcessor,
1857- * ObservabilityPipelineOcsfMapperProcessor, ObservabilityPipelineParseGrokProcessor,
1858- * ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineParseXMLProcessor,
1859- * ObservabilityPipelineQuotaProcessor, ObservabilityPipelineReduceProcessor,
1860- * ObservabilityPipelineRemoveFieldsProcessor, ObservabilityPipelineRenameFieldsProcessor,
1861- * ObservabilityPipelineSampleProcessor, ObservabilityPipelineSensitiveDataScannerProcessor,
1862- * ObservabilityPipelineSplitArrayProcessor, ObservabilityPipelineThrottleProcessor,
1863- * ObservabilityPipelineAddMetricTagsProcessor, ObservabilityPipelineAggregateProcessor,
1864- * ObservabilityPipelineMetricTagsProcessor, ObservabilityPipelineRenameMetricTagsProcessor,
1926+ * ObservabilityPipelineGenerateMetricsV2Processor, ObservabilityPipelineOcsfMapperProcessor,
1927+ * ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineParseJSONProcessor,
1928+ * ObservabilityPipelineParseXMLProcessor, ObservabilityPipelineQuotaProcessor,
1929+ * ObservabilityPipelineReduceProcessor, ObservabilityPipelineRemoveFieldsProcessor,
1930+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineSampleProcessor,
1931+ * ObservabilityPipelineSensitiveDataScannerProcessor, ObservabilityPipelineSplitArrayProcessor,
1932+ * ObservabilityPipelineThrottleProcessor, ObservabilityPipelineAddMetricTagsProcessor,
1933+ * ObservabilityPipelineAggregateProcessor, ObservabilityPipelineMetricTagsProcessor,
1934+ * ObservabilityPipelineRenameMetricTagsProcessor,
18651935 * ObservabilityPipelineTagCardinalityLimitProcessor
18661936 *
18671937 * @return The actual instance (ObservabilityPipelineFilterProcessor,
18681938 * ObservabilityPipelineAddEnvVarsProcessor, ObservabilityPipelineAddFieldsProcessor,
18691939 * ObservabilityPipelineAddHostnameProcessor, ObservabilityPipelineCustomProcessor,
18701940 * ObservabilityPipelineDatadogTagsProcessor, ObservabilityPipelineDedupeProcessor,
18711941 * ObservabilityPipelineEnrichmentTableProcessor,
1872- * ObservabilityPipelineGenerateMetricsProcessor, ObservabilityPipelineOcsfMapperProcessor,
1942+ * ObservabilityPipelineGenerateMetricsProcessor,
1943+ * ObservabilityPipelineGenerateMetricsV2Processor, ObservabilityPipelineOcsfMapperProcessor,
18731944 * ObservabilityPipelineParseGrokProcessor, ObservabilityPipelineParseJSONProcessor,
18741945 * ObservabilityPipelineParseXMLProcessor, ObservabilityPipelineQuotaProcessor,
18751946 * ObservabilityPipelineReduceProcessor, ObservabilityPipelineRemoveFieldsProcessor,
@@ -1997,6 +2068,20 @@ public ObservabilityPipelineDedupeProcessor getObservabilityPipelineDedupeProces
19972068 return (ObservabilityPipelineGenerateMetricsProcessor ) super .getActualInstance ();
19982069 }
19992070
2071+ /**
2072+ * Get the actual instance of `ObservabilityPipelineGenerateMetricsV2Processor`. If the actual
2073+ * instance is not `ObservabilityPipelineGenerateMetricsV2Processor`, the ClassCastException will
2074+ * be thrown.
2075+ *
2076+ * @return The actual instance of `ObservabilityPipelineGenerateMetricsV2Processor`
2077+ * @throws ClassCastException if the instance is not
2078+ * `ObservabilityPipelineGenerateMetricsV2Processor`
2079+ */
2080+ public ObservabilityPipelineGenerateMetricsV2Processor
2081+ getObservabilityPipelineGenerateMetricsV2Processor () throws ClassCastException {
2082+ return (ObservabilityPipelineGenerateMetricsV2Processor ) super .getActualInstance ();
2083+ }
2084+
20002085 /**
20012086 * Get the actual instance of `ObservabilityPipelineOcsfMapperProcessor`. If the actual instance
20022087 * is not `ObservabilityPipelineOcsfMapperProcessor`, the ClassCastException will be thrown.
0 commit comments