getSchemas() {
/**
* Set the instance that matches the oneOf child schema, check the instance parameter is valid
- * against the oneOf child schemas: ObservabilityPipelineDatadogLogsDestination
+ * against the oneOf child schemas: ObservabilityPipelineDatadogLogsDestination,
+ * ObservabilityPipelineAmazonS3Destination, ObservabilityPipelineGoogleCloudStorageDestination,
+ * ObservabilityPipelineSplunkHecDestination
*
* It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
* composed schema (allOf, anyOf, oneOf).
@@ -205,20 +388,44 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineAmazonS3Destination.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineGoogleCloudStorageDestination.class,
+ instance,
+ new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineSplunkHecDestination.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) {
super.setActualInstance(instance);
return;
}
throw new RuntimeException(
- "Invalid instance type. Must be ObservabilityPipelineDatadogLogsDestination");
+ "Invalid instance type. Must be ObservabilityPipelineDatadogLogsDestination,"
+ + " ObservabilityPipelineAmazonS3Destination,"
+ + " ObservabilityPipelineGoogleCloudStorageDestination,"
+ + " ObservabilityPipelineSplunkHecDestination");
}
/**
* Get the actual instance, which can be the following:
- * ObservabilityPipelineDatadogLogsDestination
+ * ObservabilityPipelineDatadogLogsDestination, ObservabilityPipelineAmazonS3Destination,
+ * ObservabilityPipelineGoogleCloudStorageDestination, ObservabilityPipelineSplunkHecDestination
*
- * @return The actual instance (ObservabilityPipelineDatadogLogsDestination)
+ * @return The actual instance (ObservabilityPipelineDatadogLogsDestination,
+ * ObservabilityPipelineAmazonS3Destination,
+ * ObservabilityPipelineGoogleCloudStorageDestination,
+ * ObservabilityPipelineSplunkHecDestination)
*/
@Override
public Object getActualInstance() {
@@ -237,4 +444,42 @@ public Object getActualInstance() {
getObservabilityPipelineDatadogLogsDestination() throws ClassCastException {
return (ObservabilityPipelineDatadogLogsDestination) super.getActualInstance();
}
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineAmazonS3Destination`. If the actual instance
+ * is not `ObservabilityPipelineAmazonS3Destination`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineAmazonS3Destination`
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineAmazonS3Destination`
+ */
+ public ObservabilityPipelineAmazonS3Destination getObservabilityPipelineAmazonS3Destination()
+ throws ClassCastException {
+ return (ObservabilityPipelineAmazonS3Destination) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineGoogleCloudStorageDestination`. If the actual
+ * instance is not `ObservabilityPipelineGoogleCloudStorageDestination`, the ClassCastException
+ * will be thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineGoogleCloudStorageDestination`
+ * @throws ClassCastException if the instance is not
+ * `ObservabilityPipelineGoogleCloudStorageDestination`
+ */
+ public ObservabilityPipelineGoogleCloudStorageDestination
+ getObservabilityPipelineGoogleCloudStorageDestination() throws ClassCastException {
+ return (ObservabilityPipelineGoogleCloudStorageDestination) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineSplunkHecDestination`. If the actual instance
+ * is not `ObservabilityPipelineSplunkHecDestination`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineSplunkHecDestination`
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineSplunkHecDestination`
+ */
+ public ObservabilityPipelineSplunkHecDestination getObservabilityPipelineSplunkHecDestination()
+ throws ClassCastException {
+ return (ObservabilityPipelineSplunkHecDestination) super.getActualInstance();
+ }
}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java
index aa99b3edb23..19ff3f3b473 100644
--- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigProcessorItem.java
@@ -393,6 +393,58 @@ public ObservabilityPipelineConfigProcessorItem deserialize(
e);
}
+ // deserialize ObservabilityPipelineGenerateMetricsProcessor
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ObservabilityPipelineGenerateMetricsProcessor.class.equals(Integer.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(Long.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(Float.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(Double.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(Boolean.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ObservabilityPipelineGenerateMetricsProcessor.class.equals(Integer.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ObservabilityPipelineGenerateMetricsProcessor.class.equals(Float.class)
+ || ObservabilityPipelineGenerateMetricsProcessor.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (ObservabilityPipelineGenerateMetricsProcessor.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ObservabilityPipelineGenerateMetricsProcessor.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec())
+ .readValueAs(ObservabilityPipelineGenerateMetricsProcessor.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((ObservabilityPipelineGenerateMetricsProcessor) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(
+ Level.FINER,
+ "Input data matches schema 'ObservabilityPipelineGenerateMetricsProcessor'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'ObservabilityPipelineGenerateMetricsProcessor'",
+ e);
+ }
+
ObservabilityPipelineConfigProcessorItem ret = new ObservabilityPipelineConfigProcessorItem();
if (match == 1) {
ret.setActualInstance(deserialized);
@@ -453,6 +505,11 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineRenameField
setActualInstance(o);
}
+ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineGenerateMetricsProcessor o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
static {
schemas.put(
"ObservabilityPipelineFilterProcessor",
@@ -472,6 +529,9 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineRenameField
schemas.put(
"ObservabilityPipelineRenameFieldsProcessor",
new GenericType() {});
+ schemas.put(
+ "ObservabilityPipelineGenerateMetricsProcessor",
+ new GenericType() {});
JSON.registerDescendants(
ObservabilityPipelineConfigProcessorItem.class, Collections.unmodifiableMap(schemas));
}
@@ -486,7 +546,7 @@ public Map getSchemas() {
* against the oneOf child schemas: ObservabilityPipelineFilterProcessor,
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
* ObservabilityPipelineAddFieldsProcessor, ObservabilityPipelineRemoveFieldsProcessor,
- * ObservabilityPipelineRenameFieldsProcessor
+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineGenerateMetricsProcessor
*
* It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
* composed schema (allOf, anyOf, oneOf).
@@ -523,6 +583,11 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineGenerateMetricsProcessor.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) {
super.setActualInstance(instance);
@@ -533,19 +598,20 @@ public void setActualInstance(Object instance) {
+ " ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,"
+ " ObservabilityPipelineAddFieldsProcessor,"
+ " ObservabilityPipelineRemoveFieldsProcessor,"
- + " ObservabilityPipelineRenameFieldsProcessor");
+ + " ObservabilityPipelineRenameFieldsProcessor,"
+ + " ObservabilityPipelineGenerateMetricsProcessor");
}
/**
* Get the actual instance, which can be the following: ObservabilityPipelineFilterProcessor,
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
* ObservabilityPipelineAddFieldsProcessor, ObservabilityPipelineRemoveFieldsProcessor,
- * ObservabilityPipelineRenameFieldsProcessor
+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineGenerateMetricsProcessor
*
* @return The actual instance (ObservabilityPipelineFilterProcessor,
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
* ObservabilityPipelineAddFieldsProcessor, ObservabilityPipelineRemoveFieldsProcessor,
- * ObservabilityPipelineRenameFieldsProcessor)
+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineGenerateMetricsProcessor)
*/
@Override
public Object getActualInstance() {
@@ -623,4 +689,18 @@ public ObservabilityPipelineRenameFieldsProcessor getObservabilityPipelineRename
throws ClassCastException {
return (ObservabilityPipelineRenameFieldsProcessor) super.getActualInstance();
}
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineGenerateMetricsProcessor`. If the actual
+ * instance is not `ObservabilityPipelineGenerateMetricsProcessor`, the ClassCastException will be
+ * thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineGenerateMetricsProcessor`
+ * @throws ClassCastException if the instance is not
+ * `ObservabilityPipelineGenerateMetricsProcessor`
+ */
+ public ObservabilityPipelineGenerateMetricsProcessor
+ getObservabilityPipelineGenerateMetricsProcessor() throws ClassCastException {
+ return (ObservabilityPipelineGenerateMetricsProcessor) super.getActualInstance();
+ }
}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java
index 68261e72ac1..8accb8006c9 100644
--- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineConfigSourceItem.java
@@ -186,6 +186,152 @@ public ObservabilityPipelineConfigSourceItem deserialize(
e);
}
+ // deserialize ObservabilityPipelineSplunkTcpSource
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ObservabilityPipelineSplunkTcpSource.class.equals(Integer.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(Long.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(Float.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(Double.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(Boolean.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ObservabilityPipelineSplunkTcpSource.class.equals(Integer.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ObservabilityPipelineSplunkTcpSource.class.equals(Float.class)
+ || ObservabilityPipelineSplunkTcpSource.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (ObservabilityPipelineSplunkTcpSource.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ObservabilityPipelineSplunkTcpSource.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec()).readValueAs(ObservabilityPipelineSplunkTcpSource.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((ObservabilityPipelineSplunkTcpSource) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(Level.FINER, "Input data matches schema 'ObservabilityPipelineSplunkTcpSource'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'ObservabilityPipelineSplunkTcpSource'",
+ e);
+ }
+
+ // deserialize ObservabilityPipelineSplunkHecSource
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ObservabilityPipelineSplunkHecSource.class.equals(Integer.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(Long.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(Float.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(Double.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(Boolean.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ObservabilityPipelineSplunkHecSource.class.equals(Integer.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ObservabilityPipelineSplunkHecSource.class.equals(Float.class)
+ || ObservabilityPipelineSplunkHecSource.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (ObservabilityPipelineSplunkHecSource.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ObservabilityPipelineSplunkHecSource.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec()).readValueAs(ObservabilityPipelineSplunkHecSource.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((ObservabilityPipelineSplunkHecSource) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(Level.FINER, "Input data matches schema 'ObservabilityPipelineSplunkHecSource'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'ObservabilityPipelineSplunkHecSource'",
+ e);
+ }
+
+ // deserialize ObservabilityPipelineAmazonS3Source
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ObservabilityPipelineAmazonS3Source.class.equals(Integer.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(Long.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(Float.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(Double.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(Boolean.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ObservabilityPipelineAmazonS3Source.class.equals(Integer.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ObservabilityPipelineAmazonS3Source.class.equals(Float.class)
+ || ObservabilityPipelineAmazonS3Source.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (ObservabilityPipelineAmazonS3Source.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ObservabilityPipelineAmazonS3Source.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp = tree.traverse(jp.getCodec()).readValueAs(ObservabilityPipelineAmazonS3Source.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((ObservabilityPipelineAmazonS3Source) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(Level.FINER, "Input data matches schema 'ObservabilityPipelineAmazonS3Source'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'ObservabilityPipelineAmazonS3Source'",
+ e);
+ }
+
ObservabilityPipelineConfigSourceItem ret = new ObservabilityPipelineConfigSourceItem();
if (match == 1) {
ret.setActualInstance(deserialized);
@@ -226,12 +372,36 @@ public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineDatadogAgentSo
setActualInstance(o);
}
+ public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineSplunkTcpSource o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineSplunkHecSource o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
+ public ObservabilityPipelineConfigSourceItem(ObservabilityPipelineAmazonS3Source o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
static {
schemas.put(
"ObservabilityPipelineKafkaSource", new GenericType() {});
schemas.put(
"ObservabilityPipelineDatadogAgentSource",
new GenericType() {});
+ schemas.put(
+ "ObservabilityPipelineSplunkTcpSource",
+ new GenericType() {});
+ schemas.put(
+ "ObservabilityPipelineSplunkHecSource",
+ new GenericType() {});
+ schemas.put(
+ "ObservabilityPipelineAmazonS3Source",
+ new GenericType() {});
JSON.registerDescendants(
ObservabilityPipelineConfigSourceItem.class, Collections.unmodifiableMap(schemas));
}
@@ -244,7 +414,8 @@ public Map getSchemas() {
/**
* Set the instance that matches the oneOf child schema, check the instance parameter is valid
* against the oneOf child schemas: ObservabilityPipelineKafkaSource,
- * ObservabilityPipelineDatadogAgentSource
+ * ObservabilityPipelineDatadogAgentSource, ObservabilityPipelineSplunkTcpSource,
+ * ObservabilityPipelineSplunkHecSource, ObservabilityPipelineAmazonS3Source
*
* It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
* composed schema (allOf, anyOf, oneOf).
@@ -261,6 +432,21 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineSplunkTcpSource.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineSplunkHecSource.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
+ if (JSON.isInstanceOf(
+ ObservabilityPipelineAmazonS3Source.class, instance, new HashSet>())) {
+ super.setActualInstance(instance);
+ return;
+ }
if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) {
super.setActualInstance(instance);
@@ -268,15 +454,18 @@ public void setActualInstance(Object instance) {
}
throw new RuntimeException(
"Invalid instance type. Must be ObservabilityPipelineKafkaSource,"
- + " ObservabilityPipelineDatadogAgentSource");
+ + " ObservabilityPipelineDatadogAgentSource, ObservabilityPipelineSplunkTcpSource,"
+ + " ObservabilityPipelineSplunkHecSource, ObservabilityPipelineAmazonS3Source");
}
/**
* Get the actual instance, which can be the following: ObservabilityPipelineKafkaSource,
- * ObservabilityPipelineDatadogAgentSource
+ * ObservabilityPipelineDatadogAgentSource, ObservabilityPipelineSplunkTcpSource,
+ * ObservabilityPipelineSplunkHecSource, ObservabilityPipelineAmazonS3Source
*
* @return The actual instance (ObservabilityPipelineKafkaSource,
- * ObservabilityPipelineDatadogAgentSource)
+ * ObservabilityPipelineDatadogAgentSource, ObservabilityPipelineSplunkTcpSource,
+ * ObservabilityPipelineSplunkHecSource, ObservabilityPipelineAmazonS3Source)
*/
@Override
public Object getActualInstance() {
@@ -306,4 +495,40 @@ public ObservabilityPipelineDatadogAgentSource getObservabilityPipelineDatadogAg
throws ClassCastException {
return (ObservabilityPipelineDatadogAgentSource) super.getActualInstance();
}
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineSplunkTcpSource`. If the actual instance is
+ * not `ObservabilityPipelineSplunkTcpSource`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineSplunkTcpSource`
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineSplunkTcpSource`
+ */
+ public ObservabilityPipelineSplunkTcpSource getObservabilityPipelineSplunkTcpSource()
+ throws ClassCastException {
+ return (ObservabilityPipelineSplunkTcpSource) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineSplunkHecSource`. If the actual instance is
+ * not `ObservabilityPipelineSplunkHecSource`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineSplunkHecSource`
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineSplunkHecSource`
+ */
+ public ObservabilityPipelineSplunkHecSource getObservabilityPipelineSplunkHecSource()
+ throws ClassCastException {
+ return (ObservabilityPipelineSplunkHecSource) super.getActualInstance();
+ }
+
+ /**
+ * Get the actual instance of `ObservabilityPipelineAmazonS3Source`. If the actual instance is not
+ * `ObservabilityPipelineAmazonS3Source`, the ClassCastException will be thrown.
+ *
+ * @return The actual instance of `ObservabilityPipelineAmazonS3Source`
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineAmazonS3Source`
+ */
+ public ObservabilityPipelineAmazonS3Source getObservabilityPipelineAmazonS3Source()
+ throws ClassCastException {
+ return (ObservabilityPipelineAmazonS3Source) super.getActualInstance();
+ }
}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGcpAuth.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGcpAuth.java
new file mode 100644
index 00000000000..6e65889c195
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGcpAuth.java
@@ -0,0 +1,145 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** GCP credentials used to authenticate with Google Cloud Storage. */
+@JsonPropertyOrder({ObservabilityPipelineGcpAuth.JSON_PROPERTY_CREDENTIALS_FILE})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineGcpAuth {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_CREDENTIALS_FILE = "credentials_file";
+ private String credentialsFile;
+
+ public ObservabilityPipelineGcpAuth() {}
+
+ @JsonCreator
+ public ObservabilityPipelineGcpAuth(
+ @JsonProperty(required = true, value = JSON_PROPERTY_CREDENTIALS_FILE)
+ String credentialsFile) {
+ this.credentialsFile = credentialsFile;
+ }
+
+ public ObservabilityPipelineGcpAuth credentialsFile(String credentialsFile) {
+ this.credentialsFile = credentialsFile;
+ return this;
+ }
+
+ /**
+ * Path to the GCP service account key file.
+ *
+ * @return credentialsFile
+ */
+ @JsonProperty(JSON_PROPERTY_CREDENTIALS_FILE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getCredentialsFile() {
+ return credentialsFile;
+ }
+
+ public void setCredentialsFile(String credentialsFile) {
+ this.credentialsFile = credentialsFile;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineGcpAuth
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineGcpAuth putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this ObservabilityPipelineGcpAuth object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineGcpAuth observabilityPipelineGcpAuth = (ObservabilityPipelineGcpAuth) o;
+ return Objects.equals(this.credentialsFile, observabilityPipelineGcpAuth.credentialsFile)
+ && Objects.equals(
+ this.additionalProperties, observabilityPipelineGcpAuth.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(credentialsFile, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineGcpAuth {\n");
+ sb.append(" credentialsFile: ").append(toIndentedString(credentialsFile)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGenerateMetricsProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGenerateMetricsProcessor.java
new file mode 100644
index 00000000000..9a17ba776eb
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGenerateMetricsProcessor.java
@@ -0,0 +1,293 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * The generate_datadog_metrics
processor creates custom metrics from logs and sends
+ * them to Datadog. Metrics can be counters, gauges, or distributions and optionally grouped by log
+ * fields.
+ */
+@JsonPropertyOrder({
+ ObservabilityPipelineGenerateMetricsProcessor.JSON_PROPERTY_ID,
+ ObservabilityPipelineGenerateMetricsProcessor.JSON_PROPERTY_INCLUDE,
+ ObservabilityPipelineGenerateMetricsProcessor.JSON_PROPERTY_INPUTS,
+ ObservabilityPipelineGenerateMetricsProcessor.JSON_PROPERTY_METRICS,
+ ObservabilityPipelineGenerateMetricsProcessor.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineGenerateMetricsProcessor {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_INCLUDE = "include";
+ private String include;
+
+ public static final String JSON_PROPERTY_INPUTS = "inputs";
+ private List inputs = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_METRICS = "metrics";
+ private List metrics = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private ObservabilityPipelineGenerateMetricsProcessorType type =
+ ObservabilityPipelineGenerateMetricsProcessorType.GENERATE_DATADOG_METRICS;
+
+ public ObservabilityPipelineGenerateMetricsProcessor() {}
+
+ @JsonCreator
+ public ObservabilityPipelineGenerateMetricsProcessor(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INCLUDE) String include,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INPUTS) List inputs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_METRICS)
+ List metrics,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ ObservabilityPipelineGenerateMetricsProcessorType type) {
+ this.id = id;
+ this.include = include;
+ this.inputs = inputs;
+ this.metrics = metrics;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * The unique identifier for this component. Used to reference this component in other parts of
+ * the pipeline.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor include(String include) {
+ this.include = include;
+ return this;
+ }
+
+ /**
+ * A Datadog search query used to determine which logs this processor targets.
+ *
+ * @return include
+ */
+ @JsonProperty(JSON_PROPERTY_INCLUDE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInclude() {
+ return include;
+ }
+
+ public void setInclude(String include) {
+ this.include = include;
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor inputs(List inputs) {
+ this.inputs = inputs;
+ return this;
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor addInputsItem(String inputsItem) {
+ this.inputs.add(inputsItem);
+ return this;
+ }
+
+ /**
+ * A list of component IDs whose output is used as the input
for this processor.
+ *
+ * @return inputs
+ */
+ @JsonProperty(JSON_PROPERTY_INPUTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(List inputs) {
+ this.inputs = inputs;
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor metrics(
+ List metrics) {
+ this.metrics = metrics;
+ for (ObservabilityPipelineGeneratedMetric item : metrics) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor addMetricsItem(
+ ObservabilityPipelineGeneratedMetric metricsItem) {
+ this.metrics.add(metricsItem);
+ this.unparsed |= metricsItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Configuration for generating individual metrics.
+ *
+ * @return metrics
+ */
+ @JsonProperty(JSON_PROPERTY_METRICS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getMetrics() {
+ return metrics;
+ }
+
+ public void setMetrics(List metrics) {
+ this.metrics = metrics;
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessor type(
+ ObservabilityPipelineGenerateMetricsProcessorType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The processor type. Always generate_datadog_metrics
.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGenerateMetricsProcessorType getType() {
+ return type;
+ }
+
+ public void setType(ObservabilityPipelineGenerateMetricsProcessorType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineGenerateMetricsProcessor
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineGenerateMetricsProcessor putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this ObservabilityPipelineGenerateMetricsProcessor object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineGenerateMetricsProcessor observabilityPipelineGenerateMetricsProcessor =
+ (ObservabilityPipelineGenerateMetricsProcessor) o;
+ return Objects.equals(this.id, observabilityPipelineGenerateMetricsProcessor.id)
+ && Objects.equals(this.include, observabilityPipelineGenerateMetricsProcessor.include)
+ && Objects.equals(this.inputs, observabilityPipelineGenerateMetricsProcessor.inputs)
+ && Objects.equals(this.metrics, observabilityPipelineGenerateMetricsProcessor.metrics)
+ && Objects.equals(this.type, observabilityPipelineGenerateMetricsProcessor.type)
+ && Objects.equals(
+ this.additionalProperties,
+ observabilityPipelineGenerateMetricsProcessor.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, include, inputs, metrics, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineGenerateMetricsProcessor {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" include: ").append(toIndentedString(include)).append("\n");
+ sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n");
+ sb.append(" metrics: ").append(toIndentedString(metrics)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGenerateMetricsProcessorType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGenerateMetricsProcessorType.java
new file mode 100644
index 00000000000..63639261867
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGenerateMetricsProcessorType.java
@@ -0,0 +1,63 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** The processor type. Always generate_datadog_metrics
. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGenerateMetricsProcessorType
+ .ObservabilityPipelineGenerateMetricsProcessorTypeSerializer.class)
+public class ObservabilityPipelineGenerateMetricsProcessorType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("generate_datadog_metrics"));
+
+ public static final ObservabilityPipelineGenerateMetricsProcessorType GENERATE_DATADOG_METRICS =
+ new ObservabilityPipelineGenerateMetricsProcessorType("generate_datadog_metrics");
+
+ ObservabilityPipelineGenerateMetricsProcessorType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGenerateMetricsProcessorTypeSerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGenerateMetricsProcessorTypeSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGenerateMetricsProcessorTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGenerateMetricsProcessorType value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGenerateMetricsProcessorType fromValue(String value) {
+ return new ObservabilityPipelineGenerateMetricsProcessorType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetric.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetric.java
new file mode 100644
index 00000000000..ccd6b71a7b7
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetric.java
@@ -0,0 +1,281 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Defines a log-based custom metric, including its name, type, filter, value computation strategy,
+ * and optional grouping fields.
+ */
+@JsonPropertyOrder({
+ ObservabilityPipelineGeneratedMetric.JSON_PROPERTY_GROUP_BY,
+ ObservabilityPipelineGeneratedMetric.JSON_PROPERTY_INCLUDE,
+ ObservabilityPipelineGeneratedMetric.JSON_PROPERTY_METRIC_TYPE,
+ ObservabilityPipelineGeneratedMetric.JSON_PROPERTY_NAME,
+ ObservabilityPipelineGeneratedMetric.JSON_PROPERTY_VALUE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineGeneratedMetric {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_GROUP_BY = "group_by";
+ private List groupBy = null;
+
+ public static final String JSON_PROPERTY_INCLUDE = "include";
+ private String include;
+
+ public static final String JSON_PROPERTY_METRIC_TYPE = "metric_type";
+ private ObservabilityPipelineGeneratedMetricMetricType metricType;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_VALUE = "value";
+ private ObservabilityPipelineMetricValue value;
+
+ public ObservabilityPipelineGeneratedMetric() {}
+
+ @JsonCreator
+ public ObservabilityPipelineGeneratedMetric(
+ @JsonProperty(required = true, value = JSON_PROPERTY_INCLUDE) String include,
+ @JsonProperty(required = true, value = JSON_PROPERTY_METRIC_TYPE)
+ ObservabilityPipelineGeneratedMetricMetricType metricType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VALUE)
+ ObservabilityPipelineMetricValue value) {
+ this.include = include;
+ this.metricType = metricType;
+ this.unparsed |= !metricType.isValid();
+ this.name = name;
+ this.value = value;
+ this.unparsed |= value.unparsed;
+ }
+
+ public ObservabilityPipelineGeneratedMetric groupBy(List groupBy) {
+ this.groupBy = groupBy;
+ return this;
+ }
+
+ public ObservabilityPipelineGeneratedMetric addGroupByItem(String groupByItem) {
+ if (this.groupBy == null) {
+ this.groupBy = new ArrayList<>();
+ }
+ this.groupBy.add(groupByItem);
+ return this;
+ }
+
+ /**
+ * Optional fields used to group the metric series.
+ *
+ * @return groupBy
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_GROUP_BY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getGroupBy() {
+ return groupBy;
+ }
+
+ public void setGroupBy(List groupBy) {
+ this.groupBy = groupBy;
+ }
+
+ public ObservabilityPipelineGeneratedMetric include(String include) {
+ this.include = include;
+ return this;
+ }
+
+ /**
+ * Datadog filter query to match logs for metric generation.
+ *
+ * @return include
+ */
+ @JsonProperty(JSON_PROPERTY_INCLUDE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInclude() {
+ return include;
+ }
+
+ public void setInclude(String include) {
+ this.include = include;
+ }
+
+ public ObservabilityPipelineGeneratedMetric metricType(
+ ObservabilityPipelineGeneratedMetricMetricType metricType) {
+ this.metricType = metricType;
+ this.unparsed |= !metricType.isValid();
+ return this;
+ }
+
+ /**
+ * Type of metric to create.
+ *
+ * @return metricType
+ */
+ @JsonProperty(JSON_PROPERTY_METRIC_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGeneratedMetricMetricType getMetricType() {
+ return metricType;
+ }
+
+ public void setMetricType(ObservabilityPipelineGeneratedMetricMetricType metricType) {
+ if (!metricType.isValid()) {
+ this.unparsed = true;
+ }
+ this.metricType = metricType;
+ }
+
+ public ObservabilityPipelineGeneratedMetric name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Name of the custom metric to be created.
+ *
+ * @return name
+ */
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ObservabilityPipelineGeneratedMetric value(ObservabilityPipelineMetricValue value) {
+ this.value = value;
+ this.unparsed |= value.unparsed;
+ return this;
+ }
+
+ /**
+ * Specifies how the value of the generated metric is computed.
+ *
+ * @return value
+ */
+ @JsonProperty(JSON_PROPERTY_VALUE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineMetricValue getValue() {
+ return value;
+ }
+
+ public void setValue(ObservabilityPipelineMetricValue value) {
+ this.value = value;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineGeneratedMetric
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineGeneratedMetric putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this ObservabilityPipelineGeneratedMetric object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineGeneratedMetric observabilityPipelineGeneratedMetric =
+ (ObservabilityPipelineGeneratedMetric) o;
+ return Objects.equals(this.groupBy, observabilityPipelineGeneratedMetric.groupBy)
+ && Objects.equals(this.include, observabilityPipelineGeneratedMetric.include)
+ && Objects.equals(this.metricType, observabilityPipelineGeneratedMetric.metricType)
+ && Objects.equals(this.name, observabilityPipelineGeneratedMetric.name)
+ && Objects.equals(this.value, observabilityPipelineGeneratedMetric.value)
+ && Objects.equals(
+ this.additionalProperties, observabilityPipelineGeneratedMetric.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(groupBy, include, metricType, name, value, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineGeneratedMetric {\n");
+ sb.append(" groupBy: ").append(toIndentedString(groupBy)).append("\n");
+ sb.append(" include: ").append(toIndentedString(include)).append("\n");
+ sb.append(" metricType: ").append(toIndentedString(metricType)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" value: ").append(toIndentedString(value)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByField.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByField.java
new file mode 100644
index 00000000000..8afca87a9c3
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByField.java
@@ -0,0 +1,188 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** The definition of ObservabilityPipelineGeneratedMetricIncrementByField
object. */
+@JsonPropertyOrder({
+ ObservabilityPipelineGeneratedMetricIncrementByField.JSON_PROPERTY_FIELD,
+ ObservabilityPipelineGeneratedMetricIncrementByField.JSON_PROPERTY_STRATEGY
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineGeneratedMetricIncrementByField {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_FIELD = "field";
+ private String field;
+
+ public static final String JSON_PROPERTY_STRATEGY = "strategy";
+ private ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy strategy;
+
+ public ObservabilityPipelineGeneratedMetricIncrementByField() {}
+
+ @JsonCreator
+ public ObservabilityPipelineGeneratedMetricIncrementByField(
+ @JsonProperty(required = true, value = JSON_PROPERTY_FIELD) String field,
+ @JsonProperty(required = true, value = JSON_PROPERTY_STRATEGY)
+ ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy strategy) {
+ this.field = field;
+ this.strategy = strategy;
+ this.unparsed |= !strategy.isValid();
+ }
+
+ public ObservabilityPipelineGeneratedMetricIncrementByField field(String field) {
+ this.field = field;
+ return this;
+ }
+
+ /**
+ * Name of the log field containing the numeric value to increment the metric by.
+ *
+ * @return field
+ */
+ @JsonProperty(JSON_PROPERTY_FIELD)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getField() {
+ return field;
+ }
+
+ public void setField(String field) {
+ this.field = field;
+ }
+
+ public ObservabilityPipelineGeneratedMetricIncrementByField strategy(
+ ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy strategy) {
+ this.strategy = strategy;
+ this.unparsed |= !strategy.isValid();
+ return this;
+ }
+
+ /**
+ * Uses a numeric field in the log event as the metric increment.
+ *
+ * @return strategy
+ */
+ @JsonProperty(JSON_PROPERTY_STRATEGY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy getStrategy() {
+ return strategy;
+ }
+
+ public void setStrategy(ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy strategy) {
+ if (!strategy.isValid()) {
+ this.unparsed = true;
+ }
+ this.strategy = strategy;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineGeneratedMetricIncrementByField
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineGeneratedMetricIncrementByField putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this ObservabilityPipelineGeneratedMetricIncrementByField object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineGeneratedMetricIncrementByField
+ observabilityPipelineGeneratedMetricIncrementByField =
+ (ObservabilityPipelineGeneratedMetricIncrementByField) o;
+ return Objects.equals(this.field, observabilityPipelineGeneratedMetricIncrementByField.field)
+ && Objects.equals(
+ this.strategy, observabilityPipelineGeneratedMetricIncrementByField.strategy)
+ && Objects.equals(
+ this.additionalProperties,
+ observabilityPipelineGeneratedMetricIncrementByField.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(field, strategy, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineGeneratedMetricIncrementByField {\n");
+ sb.append(" field: ").append(toIndentedString(field)).append("\n");
+ sb.append(" strategy: ").append(toIndentedString(strategy)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy.java
new file mode 100644
index 00000000000..8b83fe24a38
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy.java
@@ -0,0 +1,66 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Uses a numeric field in the log event as the metric increment. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy
+ .ObservabilityPipelineGeneratedMetricIncrementByFieldStrategySerializer.class)
+public class ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy
+ extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("increment_by_field"));
+
+ public static final ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy
+ INCREMENT_BY_FIELD =
+ new ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy("increment_by_field");
+
+ ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGeneratedMetricIncrementByFieldStrategySerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGeneratedMetricIncrementByFieldStrategySerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGeneratedMetricIncrementByFieldStrategySerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy fromValue(
+ String value) {
+ return new ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByOne.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByOne.java
new file mode 100644
index 00000000000..fdfe7654d8e
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByOne.java
@@ -0,0 +1,158 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** The definition of ObservabilityPipelineGeneratedMetricIncrementByOne
object. */
+@JsonPropertyOrder({ObservabilityPipelineGeneratedMetricIncrementByOne.JSON_PROPERTY_STRATEGY})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineGeneratedMetricIncrementByOne {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_STRATEGY = "strategy";
+ private ObservabilityPipelineGeneratedMetricIncrementByOneStrategy strategy;
+
+ public ObservabilityPipelineGeneratedMetricIncrementByOne() {}
+
+ @JsonCreator
+ public ObservabilityPipelineGeneratedMetricIncrementByOne(
+ @JsonProperty(required = true, value = JSON_PROPERTY_STRATEGY)
+ ObservabilityPipelineGeneratedMetricIncrementByOneStrategy strategy) {
+ this.strategy = strategy;
+ this.unparsed |= !strategy.isValid();
+ }
+
+ public ObservabilityPipelineGeneratedMetricIncrementByOne strategy(
+ ObservabilityPipelineGeneratedMetricIncrementByOneStrategy strategy) {
+ this.strategy = strategy;
+ this.unparsed |= !strategy.isValid();
+ return this;
+ }
+
+ /**
+ * Increments the metric by 1 for each matching event.
+ *
+ * @return strategy
+ */
+ @JsonProperty(JSON_PROPERTY_STRATEGY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGeneratedMetricIncrementByOneStrategy getStrategy() {
+ return strategy;
+ }
+
+ public void setStrategy(ObservabilityPipelineGeneratedMetricIncrementByOneStrategy strategy) {
+ if (!strategy.isValid()) {
+ this.unparsed = true;
+ }
+ this.strategy = strategy;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineGeneratedMetricIncrementByOne
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineGeneratedMetricIncrementByOne putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this ObservabilityPipelineGeneratedMetricIncrementByOne object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineGeneratedMetricIncrementByOne
+ observabilityPipelineGeneratedMetricIncrementByOne =
+ (ObservabilityPipelineGeneratedMetricIncrementByOne) o;
+ return Objects.equals(
+ this.strategy, observabilityPipelineGeneratedMetricIncrementByOne.strategy)
+ && Objects.equals(
+ this.additionalProperties,
+ observabilityPipelineGeneratedMetricIncrementByOne.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(strategy, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineGeneratedMetricIncrementByOne {\n");
+ sb.append(" strategy: ").append(toIndentedString(strategy)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByOneStrategy.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByOneStrategy.java
new file mode 100644
index 00000000000..1f1f47ed1ad
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricIncrementByOneStrategy.java
@@ -0,0 +1,63 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Increments the metric by 1 for each matching event. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGeneratedMetricIncrementByOneStrategy
+ .ObservabilityPipelineGeneratedMetricIncrementByOneStrategySerializer.class)
+public class ObservabilityPipelineGeneratedMetricIncrementByOneStrategy extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("increment_by_one"));
+
+ public static final ObservabilityPipelineGeneratedMetricIncrementByOneStrategy INCREMENT_BY_ONE =
+ new ObservabilityPipelineGeneratedMetricIncrementByOneStrategy("increment_by_one");
+
+ ObservabilityPipelineGeneratedMetricIncrementByOneStrategy(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGeneratedMetricIncrementByOneStrategySerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGeneratedMetricIncrementByOneStrategySerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGeneratedMetricIncrementByOneStrategySerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGeneratedMetricIncrementByOneStrategy value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGeneratedMetricIncrementByOneStrategy fromValue(String value) {
+ return new ObservabilityPipelineGeneratedMetricIncrementByOneStrategy(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricMetricType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricMetricType.java
new file mode 100644
index 00000000000..62b2d2e15f9
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGeneratedMetricMetricType.java
@@ -0,0 +1,67 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Type of metric to create. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGeneratedMetricMetricType
+ .ObservabilityPipelineGeneratedMetricMetricTypeSerializer.class)
+public class ObservabilityPipelineGeneratedMetricMetricType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("count", "gauge", "distribution"));
+
+ public static final ObservabilityPipelineGeneratedMetricMetricType COUNT =
+ new ObservabilityPipelineGeneratedMetricMetricType("count");
+ public static final ObservabilityPipelineGeneratedMetricMetricType GAUGE =
+ new ObservabilityPipelineGeneratedMetricMetricType("gauge");
+ public static final ObservabilityPipelineGeneratedMetricMetricType DISTRIBUTION =
+ new ObservabilityPipelineGeneratedMetricMetricType("distribution");
+
+ ObservabilityPipelineGeneratedMetricMetricType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGeneratedMetricMetricTypeSerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGeneratedMetricMetricTypeSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGeneratedMetricMetricTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGeneratedMetricMetricType value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGeneratedMetricMetricType fromValue(String value) {
+ return new ObservabilityPipelineGeneratedMetricMetricType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java
new file mode 100644
index 00000000000..9e3e233f2ce
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java
@@ -0,0 +1,447 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import org.openapitools.jackson.nullable.JsonNullable;
+
+/**
+ * The google_cloud_storage
destination stores logs in a Google Cloud Storage (GCS)
+ * bucket. It requires a bucket name, GCP authentication, and metadata fields.
+ */
+@JsonPropertyOrder({
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_ACL,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_AUTH,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_BUCKET,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_ID,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_INPUTS,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_KEY_PREFIX,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_METADATA,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_STORAGE_CLASS,
+ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineGoogleCloudStorageDestination {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ACL = "acl";
+ private ObservabilityPipelineGoogleCloudStorageDestinationAcl acl;
+
+ public static final String JSON_PROPERTY_AUTH = "auth";
+ private ObservabilityPipelineGcpAuth auth;
+
+ public static final String JSON_PROPERTY_BUCKET = "bucket";
+ private String bucket;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_INPUTS = "inputs";
+ private List inputs = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_KEY_PREFIX = "key_prefix";
+ private JsonNullable keyPrefix = JsonNullable.undefined();
+
+ public static final String JSON_PROPERTY_METADATA = "metadata";
+ private List metadata = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_STORAGE_CLASS = "storage_class";
+ private ObservabilityPipelineGoogleCloudStorageDestinationStorageClass storageClass;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private ObservabilityPipelineGoogleCloudStorageDestinationType type =
+ ObservabilityPipelineGoogleCloudStorageDestinationType.GOOGLE_CLOUD_STORAGE;
+
+ public ObservabilityPipelineGoogleCloudStorageDestination() {}
+
+ @JsonCreator
+ public ObservabilityPipelineGoogleCloudStorageDestination(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ACL)
+ ObservabilityPipelineGoogleCloudStorageDestinationAcl acl,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AUTH) ObservabilityPipelineGcpAuth auth,
+ @JsonProperty(required = true, value = JSON_PROPERTY_BUCKET) String bucket,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INPUTS) List inputs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_METADATA)
+ List metadata,
+ @JsonProperty(required = true, value = JSON_PROPERTY_STORAGE_CLASS)
+ ObservabilityPipelineGoogleCloudStorageDestinationStorageClass storageClass,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ ObservabilityPipelineGoogleCloudStorageDestinationType type) {
+ this.acl = acl;
+ this.unparsed |= !acl.isValid();
+ this.auth = auth;
+ this.unparsed |= auth.unparsed;
+ this.bucket = bucket;
+ this.id = id;
+ this.inputs = inputs;
+ this.metadata = metadata;
+ this.storageClass = storageClass;
+ this.unparsed |= !storageClass.isValid();
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination acl(
+ ObservabilityPipelineGoogleCloudStorageDestinationAcl acl) {
+ this.acl = acl;
+ this.unparsed |= !acl.isValid();
+ return this;
+ }
+
+ /**
+ * Access control list setting for objects written to the bucket.
+ *
+ * @return acl
+ */
+ @JsonProperty(JSON_PROPERTY_ACL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGoogleCloudStorageDestinationAcl getAcl() {
+ return acl;
+ }
+
+ public void setAcl(ObservabilityPipelineGoogleCloudStorageDestinationAcl acl) {
+ if (!acl.isValid()) {
+ this.unparsed = true;
+ }
+ this.acl = acl;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination auth(
+ ObservabilityPipelineGcpAuth auth) {
+ this.auth = auth;
+ this.unparsed |= auth.unparsed;
+ return this;
+ }
+
+ /**
+ * GCP credentials used to authenticate with Google Cloud Storage.
+ *
+ * @return auth
+ */
+ @JsonProperty(JSON_PROPERTY_AUTH)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGcpAuth getAuth() {
+ return auth;
+ }
+
+ public void setAuth(ObservabilityPipelineGcpAuth auth) {
+ this.auth = auth;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination bucket(String bucket) {
+ this.bucket = bucket;
+ return this;
+ }
+
+ /**
+ * Name of the GCS bucket.
+ *
+ * @return bucket
+ */
+ @JsonProperty(JSON_PROPERTY_BUCKET)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getBucket() {
+ return bucket;
+ }
+
+ public void setBucket(String bucket) {
+ this.bucket = bucket;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Unique identifier for the destination component.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination inputs(List inputs) {
+ this.inputs = inputs;
+ return this;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination addInputsItem(String inputsItem) {
+ this.inputs.add(inputsItem);
+ return this;
+ }
+
+ /**
+ * A list of component IDs whose output is used as the input
for this component.
+ *
+ * @return inputs
+ */
+ @JsonProperty(JSON_PROPERTY_INPUTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(List inputs) {
+ this.inputs = inputs;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination keyPrefix(String keyPrefix) {
+ this.keyPrefix = JsonNullable.of(keyPrefix);
+ return this;
+ }
+
+ /**
+ * Optional prefix for object keys within the GCS bucket.
+ *
+ * @return keyPrefix
+ */
+ @jakarta.annotation.Nullable
+ @JsonIgnore
+ public String getKeyPrefix() {
+ return keyPrefix.orElse(null);
+ }
+
+ @JsonProperty(JSON_PROPERTY_KEY_PREFIX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public JsonNullable getKeyPrefix_JsonNullable() {
+ return keyPrefix;
+ }
+
+ @JsonProperty(JSON_PROPERTY_KEY_PREFIX)
+ public void setKeyPrefix_JsonNullable(JsonNullable keyPrefix) {
+ this.keyPrefix = keyPrefix;
+ }
+
+ public void setKeyPrefix(String keyPrefix) {
+ this.keyPrefix = JsonNullable.of(keyPrefix);
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination metadata(
+ List metadata) {
+ this.metadata = metadata;
+ for (ObservabilityPipelineMetadataEntry item : metadata) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination addMetadataItem(
+ ObservabilityPipelineMetadataEntry metadataItem) {
+ this.metadata.add(metadataItem);
+ this.unparsed |= metadataItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Custom metadata key-value pairs added to each object.
+ *
+ * @return metadata
+ */
+ @JsonProperty(JSON_PROPERTY_METADATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(List metadata) {
+ this.metadata = metadata;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination storageClass(
+ ObservabilityPipelineGoogleCloudStorageDestinationStorageClass storageClass) {
+ this.storageClass = storageClass;
+ this.unparsed |= !storageClass.isValid();
+ return this;
+ }
+
+ /**
+ * Storage class used for objects stored in GCS.
+ *
+ * @return storageClass
+ */
+ @JsonProperty(JSON_PROPERTY_STORAGE_CLASS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGoogleCloudStorageDestinationStorageClass getStorageClass() {
+ return storageClass;
+ }
+
+ public void setStorageClass(
+ ObservabilityPipelineGoogleCloudStorageDestinationStorageClass storageClass) {
+ if (!storageClass.isValid()) {
+ this.unparsed = true;
+ }
+ this.storageClass = storageClass;
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestination type(
+ ObservabilityPipelineGoogleCloudStorageDestinationType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The destination type. Always google_cloud_storage
.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public ObservabilityPipelineGoogleCloudStorageDestinationType getType() {
+ return type;
+ }
+
+ public void setType(ObservabilityPipelineGoogleCloudStorageDestinationType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineGoogleCloudStorageDestination
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineGoogleCloudStorageDestination putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this ObservabilityPipelineGoogleCloudStorageDestination object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineGoogleCloudStorageDestination
+ observabilityPipelineGoogleCloudStorageDestination =
+ (ObservabilityPipelineGoogleCloudStorageDestination) o;
+ return Objects.equals(this.acl, observabilityPipelineGoogleCloudStorageDestination.acl)
+ && Objects.equals(this.auth, observabilityPipelineGoogleCloudStorageDestination.auth)
+ && Objects.equals(this.bucket, observabilityPipelineGoogleCloudStorageDestination.bucket)
+ && Objects.equals(this.id, observabilityPipelineGoogleCloudStorageDestination.id)
+ && Objects.equals(this.inputs, observabilityPipelineGoogleCloudStorageDestination.inputs)
+ && Objects.equals(
+ this.keyPrefix, observabilityPipelineGoogleCloudStorageDestination.keyPrefix)
+ && Objects.equals(
+ this.metadata, observabilityPipelineGoogleCloudStorageDestination.metadata)
+ && Objects.equals(
+ this.storageClass, observabilityPipelineGoogleCloudStorageDestination.storageClass)
+ && Objects.equals(this.type, observabilityPipelineGoogleCloudStorageDestination.type)
+ && Objects.equals(
+ this.additionalProperties,
+ observabilityPipelineGoogleCloudStorageDestination.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ acl,
+ auth,
+ bucket,
+ id,
+ inputs,
+ keyPrefix,
+ metadata,
+ storageClass,
+ type,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineGoogleCloudStorageDestination {\n");
+ sb.append(" acl: ").append(toIndentedString(acl)).append("\n");
+ sb.append(" auth: ").append(toIndentedString(auth)).append("\n");
+ sb.append(" bucket: ").append(toIndentedString(bucket)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n");
+ sb.append(" keyPrefix: ").append(toIndentedString(keyPrefix)).append("\n");
+ sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
+ sb.append(" storageClass: ").append(toIndentedString(storageClass)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationAcl.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationAcl.java
new file mode 100644
index 00000000000..21213127a0a
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationAcl.java
@@ -0,0 +1,82 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Access control list setting for objects written to the bucket. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGoogleCloudStorageDestinationAcl
+ .ObservabilityPipelineGoogleCloudStorageDestinationAclSerializer.class)
+public class ObservabilityPipelineGoogleCloudStorageDestinationAcl extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(
+ Arrays.asList(
+ "private",
+ "project-private",
+ "public-read",
+ "authenticated-read",
+ "bucket-owner-read",
+ "bucket-owner-full-control"));
+
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationAcl PRIVATE =
+ new ObservabilityPipelineGoogleCloudStorageDestinationAcl("private");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationAcl PROJECTNOT_PRIVATE =
+ new ObservabilityPipelineGoogleCloudStorageDestinationAcl("project-private");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationAcl PUBLICNOT_READ =
+ new ObservabilityPipelineGoogleCloudStorageDestinationAcl("public-read");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationAcl AUTHENTICATEDNOT_READ =
+ new ObservabilityPipelineGoogleCloudStorageDestinationAcl("authenticated-read");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationAcl
+ BUCKETNOT_OWNERNOT_READ =
+ new ObservabilityPipelineGoogleCloudStorageDestinationAcl("bucket-owner-read");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationAcl
+ BUCKETNOT_OWNERNOT_FULLNOT_CONTROL =
+ new ObservabilityPipelineGoogleCloudStorageDestinationAcl("bucket-owner-full-control");
+
+ ObservabilityPipelineGoogleCloudStorageDestinationAcl(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGoogleCloudStorageDestinationAclSerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGoogleCloudStorageDestinationAclSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestinationAclSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGoogleCloudStorageDestinationAcl value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGoogleCloudStorageDestinationAcl fromValue(String value) {
+ return new ObservabilityPipelineGoogleCloudStorageDestinationAcl(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationStorageClass.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationStorageClass.java
new file mode 100644
index 00000000000..eac7fa16f47
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationStorageClass.java
@@ -0,0 +1,71 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Storage class used for objects stored in GCS. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGoogleCloudStorageDestinationStorageClass
+ .ObservabilityPipelineGoogleCloudStorageDestinationStorageClassSerializer.class)
+public class ObservabilityPipelineGoogleCloudStorageDestinationStorageClass
+ extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("STANDARD", "NEARLINE", "COLDLINE", "ARCHIVE"));
+
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationStorageClass STANDARD =
+ new ObservabilityPipelineGoogleCloudStorageDestinationStorageClass("STANDARD");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationStorageClass NEARLINE =
+ new ObservabilityPipelineGoogleCloudStorageDestinationStorageClass("NEARLINE");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationStorageClass COLDLINE =
+ new ObservabilityPipelineGoogleCloudStorageDestinationStorageClass("COLDLINE");
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationStorageClass ARCHIVE =
+ new ObservabilityPipelineGoogleCloudStorageDestinationStorageClass("ARCHIVE");
+
+ ObservabilityPipelineGoogleCloudStorageDestinationStorageClass(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGoogleCloudStorageDestinationStorageClassSerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGoogleCloudStorageDestinationStorageClassSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestinationStorageClassSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGoogleCloudStorageDestinationStorageClass value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGoogleCloudStorageDestinationStorageClass fromValue(
+ String value) {
+ return new ObservabilityPipelineGoogleCloudStorageDestinationStorageClass(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationType.java
new file mode 100644
index 00000000000..85342e037af
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationType.java
@@ -0,0 +1,63 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** The destination type. Always google_cloud_storage
. */
+@JsonSerialize(
+ using =
+ ObservabilityPipelineGoogleCloudStorageDestinationType
+ .ObservabilityPipelineGoogleCloudStorageDestinationTypeSerializer.class)
+public class ObservabilityPipelineGoogleCloudStorageDestinationType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("google_cloud_storage"));
+
+ public static final ObservabilityPipelineGoogleCloudStorageDestinationType GOOGLE_CLOUD_STORAGE =
+ new ObservabilityPipelineGoogleCloudStorageDestinationType("google_cloud_storage");
+
+ ObservabilityPipelineGoogleCloudStorageDestinationType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class ObservabilityPipelineGoogleCloudStorageDestinationTypeSerializer
+ extends StdSerializer {
+ public ObservabilityPipelineGoogleCloudStorageDestinationTypeSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineGoogleCloudStorageDestinationTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineGoogleCloudStorageDestinationType value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static ObservabilityPipelineGoogleCloudStorageDestinationType fromValue(String value) {
+ return new ObservabilityPipelineGoogleCloudStorageDestinationType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMetadataEntry.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMetadataEntry.java
new file mode 100644
index 00000000000..9b7d800b53c
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMetadataEntry.java
@@ -0,0 +1,175 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** A custom metadata entry to attach to each object uploaded to the GCS bucket. */
+@JsonPropertyOrder({
+ ObservabilityPipelineMetadataEntry.JSON_PROPERTY_NAME,
+ ObservabilityPipelineMetadataEntry.JSON_PROPERTY_VALUE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineMetadataEntry {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_VALUE = "value";
+ private String value;
+
+ public ObservabilityPipelineMetadataEntry() {}
+
+ @JsonCreator
+ public ObservabilityPipelineMetadataEntry(
+ @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VALUE) String value) {
+ this.name = name;
+ this.value = value;
+ }
+
+ public ObservabilityPipelineMetadataEntry name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * The metadata key.
+ *
+ * @return name
+ */
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ObservabilityPipelineMetadataEntry value(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * The metadata value.
+ *
+ * @return value
+ */
+ @JsonProperty(JSON_PROPERTY_VALUE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return ObservabilityPipelineMetadataEntry
+ */
+ @JsonAnySetter
+ public ObservabilityPipelineMetadataEntry putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this ObservabilityPipelineMetadataEntry object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ObservabilityPipelineMetadataEntry observabilityPipelineMetadataEntry =
+ (ObservabilityPipelineMetadataEntry) o;
+ return Objects.equals(this.name, observabilityPipelineMetadataEntry.name)
+ && Objects.equals(this.value, observabilityPipelineMetadataEntry.value)
+ && Objects.equals(
+ this.additionalProperties, observabilityPipelineMetadataEntry.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, value, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ObservabilityPipelineMetadataEntry {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" value: ").append(toIndentedString(value)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMetricValue.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMetricValue.java
new file mode 100644
index 00000000000..fea24e8cb05
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMetricValue.java
@@ -0,0 +1,325 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.AbstractOpenApiSchema;
+import com.datadog.api.client.JSON;
+import com.datadog.api.client.UnparsedObject;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import jakarta.ws.rs.core.GenericType;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+@JsonDeserialize(
+ using = ObservabilityPipelineMetricValue.ObservabilityPipelineMetricValueDeserializer.class)
+@JsonSerialize(
+ using = ObservabilityPipelineMetricValue.ObservabilityPipelineMetricValueSerializer.class)
+public class ObservabilityPipelineMetricValue extends AbstractOpenApiSchema {
+ private static final Logger log =
+ Logger.getLogger(ObservabilityPipelineMetricValue.class.getName());
+
+ @JsonIgnore public boolean unparsed = false;
+
+ public static class ObservabilityPipelineMetricValueSerializer
+ extends StdSerializer {
+ public ObservabilityPipelineMetricValueSerializer(Class t) {
+ super(t);
+ }
+
+ public ObservabilityPipelineMetricValueSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ ObservabilityPipelineMetricValue value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.getActualInstance());
+ }
+ }
+
+ public static class ObservabilityPipelineMetricValueDeserializer
+ extends StdDeserializer {
+ public ObservabilityPipelineMetricValueDeserializer() {
+ this(ObservabilityPipelineMetricValue.class);
+ }
+
+ public ObservabilityPipelineMetricValueDeserializer(Class> vc) {
+ super(vc);
+ }
+
+ @Override
+ public ObservabilityPipelineMetricValue deserialize(JsonParser jp, DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+ JsonNode tree = jp.readValueAsTree();
+ Object deserialized = null;
+ Object tmp = null;
+ boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS);
+ int match = 0;
+ JsonToken token = tree.traverse(jp.getCodec()).nextToken();
+ // deserialize ObservabilityPipelineGeneratedMetricIncrementByOne
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Integer.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Long.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Float.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Double.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Boolean.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Integer.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(
+ Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Float.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(
+ Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ObservabilityPipelineGeneratedMetricIncrementByOne.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec())
+ .readValueAs(ObservabilityPipelineGeneratedMetricIncrementByOne.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((ObservabilityPipelineGeneratedMetricIncrementByOne) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(
+ Level.FINER,
+ "Input data matches schema 'ObservabilityPipelineGeneratedMetricIncrementByOne'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'ObservabilityPipelineGeneratedMetricIncrementByOne'",
+ e);
+ }
+
+ // deserialize ObservabilityPipelineGeneratedMetricIncrementByField
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Integer.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Long.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Float.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Double.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Boolean.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Integer.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(
+ Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Float.class)
+ || ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(
+ Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (ObservabilityPipelineGeneratedMetricIncrementByField.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec())
+ .readValueAs(ObservabilityPipelineGeneratedMetricIncrementByField.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((ObservabilityPipelineGeneratedMetricIncrementByField) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(
+ Level.FINER,
+ "Input data matches schema 'ObservabilityPipelineGeneratedMetricIncrementByField'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema"
+ + " 'ObservabilityPipelineGeneratedMetricIncrementByField'",
+ e);
+ }
+
+ ObservabilityPipelineMetricValue ret = new ObservabilityPipelineMetricValue();
+ if (match == 1) {
+ ret.setActualInstance(deserialized);
+ } else {
+ Map res =
+ new ObjectMapper()
+ .readValue(
+ tree.traverse(jp.getCodec()).readValueAsTree().toString(),
+ new TypeReference