diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 181237b18fc..ad75118bfde 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -39514,6 +39514,8 @@ components: **Supported pipeline types:** logs' properties: + cache: + $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorCache' display_name: $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' enabled: @@ -39551,6 +39553,19 @@ components: type: object x-pipeline-types: - logs + ObservabilityPipelineDedupeProcessorCache: + description: Configuration for the cache used to detect duplicates. + properties: + num_events: + description: The number of events to cache for duplicate detection. + example: 5000 + format: int64 + maximum: 1000000000 + minimum: 1 + type: integer + required: + - num_events + type: object ObservabilityPipelineDedupeProcessorMode: description: The deduplication mode to apply to the fields. enum: diff --git a/examples/v2/observability-pipelines/CreatePipeline_3363445359.java b/examples/v2/observability-pipelines/CreatePipeline_3363445359.java new file mode 100644 index 00000000000..966d8edc5f8 --- /dev/null +++ b/examples/v2/observability-pipelines/CreatePipeline_3363445359.java @@ -0,0 +1,99 @@ +// Create a pipeline with dedupe processor with cache returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.ObservabilityPipelinesApi; +import com.datadog.api.client.v2.model.ObservabilityPipeline; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfig; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigDestinationItem; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorGroup; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorItem; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigSourceItem; +import com.datadog.api.client.v2.model.ObservabilityPipelineDataAttributes; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSource; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSourceType; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestination; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestinationType; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessor; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorCache; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorMode; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorType; +import com.datadog.api.client.v2.model.ObservabilityPipelineSpec; +import com.datadog.api.client.v2.model.ObservabilityPipelineSpecData; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + ObservabilityPipelinesApi apiInstance = new ObservabilityPipelinesApi(defaultClient); + + ObservabilityPipelineSpec body = + new ObservabilityPipelineSpec() + .data( + new ObservabilityPipelineSpecData() + .attributes( + new ObservabilityPipelineDataAttributes() + .config( + new ObservabilityPipelineConfig() + .destinations( + Collections.singletonList( + new ObservabilityPipelineConfigDestinationItem( + new ObservabilityPipelineDatadogLogsDestination() + .id("datadog-logs-destination") + .inputs( + Collections.singletonList( + "my-processor-group")) + .type( + ObservabilityPipelineDatadogLogsDestinationType + .DATADOG_LOGS)))) + .processorGroups( + Collections.singletonList( + new ObservabilityPipelineConfigProcessorGroup() + .enabled(true) + .id("my-processor-group") + .include("service:my-service") + .inputs( + Collections.singletonList( + "datadog-agent-source")) + .processors( + Collections.singletonList( + new ObservabilityPipelineConfigProcessorItem( + new ObservabilityPipelineDedupeProcessor() + .enabled(true) + .id("dedupe-processor") + .include("service:my-service") + .type( + ObservabilityPipelineDedupeProcessorType + .DEDUPE) + .fields( + Collections.singletonList( + "message")) + .mode( + ObservabilityPipelineDedupeProcessorMode + .MATCH) + .cache( + new ObservabilityPipelineDedupeProcessorCache() + .numEvents(5000L))))))) + .sources( + Collections.singletonList( + new ObservabilityPipelineConfigSourceItem( + new ObservabilityPipelineDatadogAgentSource() + .id("datadog-agent-source") + .type( + ObservabilityPipelineDatadogAgentSourceType + .DATADOG_AGENT))))) + .name("Pipeline with Dedupe Cache")) + .type("pipelines")); + + try { + ObservabilityPipeline result = apiInstance.createPipeline(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ObservabilityPipelinesApi#createPipeline"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/observability-pipelines/CreatePipeline_581245895.java b/examples/v2/observability-pipelines/CreatePipeline_581245895.java new file mode 100644 index 00000000000..bed0a8776fe --- /dev/null +++ b/examples/v2/observability-pipelines/CreatePipeline_581245895.java @@ -0,0 +1,95 @@ +// Create a pipeline with dedupe processor without cache returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.ObservabilityPipelinesApi; +import com.datadog.api.client.v2.model.ObservabilityPipeline; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfig; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigDestinationItem; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorGroup; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorItem; +import com.datadog.api.client.v2.model.ObservabilityPipelineConfigSourceItem; +import com.datadog.api.client.v2.model.ObservabilityPipelineDataAttributes; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSource; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSourceType; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestination; +import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestinationType; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessor; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorMode; +import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorType; +import com.datadog.api.client.v2.model.ObservabilityPipelineSpec; +import com.datadog.api.client.v2.model.ObservabilityPipelineSpecData; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + ObservabilityPipelinesApi apiInstance = new ObservabilityPipelinesApi(defaultClient); + + ObservabilityPipelineSpec body = + new ObservabilityPipelineSpec() + .data( + new ObservabilityPipelineSpecData() + .attributes( + new ObservabilityPipelineDataAttributes() + .config( + new ObservabilityPipelineConfig() + .destinations( + Collections.singletonList( + new ObservabilityPipelineConfigDestinationItem( + new ObservabilityPipelineDatadogLogsDestination() + .id("datadog-logs-destination") + .inputs( + Collections.singletonList( + "my-processor-group")) + .type( + ObservabilityPipelineDatadogLogsDestinationType + .DATADOG_LOGS)))) + .processorGroups( + Collections.singletonList( + new ObservabilityPipelineConfigProcessorGroup() + .enabled(true) + .id("my-processor-group") + .include("service:my-service") + .inputs( + Collections.singletonList( + "datadog-agent-source")) + .processors( + Collections.singletonList( + new ObservabilityPipelineConfigProcessorItem( + new ObservabilityPipelineDedupeProcessor() + .enabled(true) + .id("dedupe-processor") + .include("service:my-service") + .type( + ObservabilityPipelineDedupeProcessorType + .DEDUPE) + .fields( + Collections.singletonList( + "message")) + .mode( + ObservabilityPipelineDedupeProcessorMode + .MATCH)))))) + .sources( + Collections.singletonList( + new ObservabilityPipelineConfigSourceItem( + new ObservabilityPipelineDatadogAgentSource() + .id("datadog-agent-source") + .type( + ObservabilityPipelineDatadogAgentSourceType + .DATADOG_AGENT))))) + .name("Pipeline with Dedupe No Cache")) + .type("pipelines")); + + try { + ObservabilityPipeline result = apiInstance.createPipeline(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ObservabilityPipelinesApi#createPipeline"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessor.java index 7777a43977e..2e5e695eeae 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessor.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessor.java @@ -25,6 +25,7 @@ *
Supported pipeline types: logs
*/
@JsonPropertyOrder({
+ ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_CACHE,
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_DISPLAY_NAME,
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_ENABLED,
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_FIELDS,
@@ -37,6 +38,9 @@
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
public class ObservabilityPipelineDedupeProcessor {
@JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_CACHE = "cache";
+ private ObservabilityPipelineDedupeProcessorCache cache;
+
public static final String JSON_PROPERTY_DISPLAY_NAME = "display_name";
private String displayName;
@@ -81,6 +85,29 @@ public ObservabilityPipelineDedupeProcessor(
this.unparsed |= !type.isValid();
}
+ public ObservabilityPipelineDedupeProcessor cache(
+ ObservabilityPipelineDedupeProcessorCache cache) {
+ this.cache = cache;
+ this.unparsed |= cache.unparsed;
+ return this;
+ }
+
+ /**
+ * Configuration for the cache used to detect duplicates.
+ *
+ * @return cache
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CACHE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public ObservabilityPipelineDedupeProcessorCache getCache() {
+ return cache;
+ }
+
+ public void setCache(ObservabilityPipelineDedupeProcessorCache cache) {
+ this.cache = cache;
+ }
+
public ObservabilityPipelineDedupeProcessor displayName(String displayName) {
this.displayName = displayName;
return this;
@@ -292,7 +319,8 @@ public boolean equals(Object o) {
}
ObservabilityPipelineDedupeProcessor observabilityPipelineDedupeProcessor =
(ObservabilityPipelineDedupeProcessor) o;
- return Objects.equals(this.displayName, observabilityPipelineDedupeProcessor.displayName)
+ return Objects.equals(this.cache, observabilityPipelineDedupeProcessor.cache)
+ && Objects.equals(this.displayName, observabilityPipelineDedupeProcessor.displayName)
&& Objects.equals(this.enabled, observabilityPipelineDedupeProcessor.enabled)
&& Objects.equals(this.fields, observabilityPipelineDedupeProcessor.fields)
&& Objects.equals(this.id, observabilityPipelineDedupeProcessor.id)
@@ -306,13 +334,14 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
return Objects.hash(
- displayName, enabled, fields, id, include, mode, type, additionalProperties);
+ cache, displayName, enabled, fields, id, include, mode, type, additionalProperties);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ObservabilityPipelineDedupeProcessor {\n");
+ sb.append(" cache: ").append(toIndentedString(cache)).append("\n");
sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n");
sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
sb.append(" fields: ").append(toIndentedString(fields)).append("\n");
diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessorCache.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessorCache.java
new file mode 100644
index 00000000000..d656f08f273
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessorCache.java
@@ -0,0 +1,146 @@
+/*
+ * 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;
+
+/** Configuration for the cache used to detect duplicates. */
+@JsonPropertyOrder({ObservabilityPipelineDedupeProcessorCache.JSON_PROPERTY_NUM_EVENTS})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class ObservabilityPipelineDedupeProcessorCache {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_NUM_EVENTS = "num_events";
+ private Long numEvents;
+
+ public ObservabilityPipelineDedupeProcessorCache() {}
+
+ @JsonCreator
+ public ObservabilityPipelineDedupeProcessorCache(
+ @JsonProperty(required = true, value = JSON_PROPERTY_NUM_EVENTS) Long numEvents) {
+ this.numEvents = numEvents;
+ }
+
+ public ObservabilityPipelineDedupeProcessorCache numEvents(Long numEvents) {
+ this.numEvents = numEvents;
+ return this;
+ }
+
+ /**
+ * The number of events to cache for duplicate detection. minimum: 1 maximum: 1000000000
+ *
+ * @return numEvents
+ */
+ @JsonProperty(JSON_PROPERTY_NUM_EVENTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getNumEvents() {
+ return numEvents;
+ }
+
+ public void setNumEvents(Long numEvents) {
+ this.numEvents = numEvents;
+ }
+
+ /**
+ * 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