Skip to content

Commit 3f3188e

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add OpenAPI documentation for cache property in dedupe processor in observability pipelines (#3475)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 2573319 commit 3f3188e

10 files changed

+520
-2
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39514,6 +39514,8 @@ components:
3951439514

3951539515
**Supported pipeline types:** logs'
3951639516
properties:
39517+
cache:
39518+
$ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorCache'
3951739519
display_name:
3951839520
$ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName'
3951939521
enabled:
@@ -39551,6 +39553,19 @@ components:
3955139553
type: object
3955239554
x-pipeline-types:
3955339555
- logs
39556+
ObservabilityPipelineDedupeProcessorCache:
39557+
description: Configuration for the cache used to detect duplicates.
39558+
properties:
39559+
num_events:
39560+
description: The number of events to cache for duplicate detection.
39561+
example: 5000
39562+
format: int64
39563+
maximum: 1000000000
39564+
minimum: 1
39565+
type: integer
39566+
required:
39567+
- num_events
39568+
type: object
3955439569
ObservabilityPipelineDedupeProcessorMode:
3955539570
description: The deduplication mode to apply to the fields.
3955639571
enum:
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
// Create a pipeline with dedupe processor with cache returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.ObservabilityPipelinesApi;
6+
import com.datadog.api.client.v2.model.ObservabilityPipeline;
7+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfig;
8+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigDestinationItem;
9+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorGroup;
10+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorItem;
11+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigSourceItem;
12+
import com.datadog.api.client.v2.model.ObservabilityPipelineDataAttributes;
13+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSource;
14+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSourceType;
15+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestination;
16+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestinationType;
17+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessor;
18+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorCache;
19+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorMode;
20+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorType;
21+
import com.datadog.api.client.v2.model.ObservabilityPipelineSpec;
22+
import com.datadog.api.client.v2.model.ObservabilityPipelineSpecData;
23+
import java.util.Collections;
24+
25+
public class Example {
26+
public static void main(String[] args) {
27+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
28+
ObservabilityPipelinesApi apiInstance = new ObservabilityPipelinesApi(defaultClient);
29+
30+
ObservabilityPipelineSpec body =
31+
new ObservabilityPipelineSpec()
32+
.data(
33+
new ObservabilityPipelineSpecData()
34+
.attributes(
35+
new ObservabilityPipelineDataAttributes()
36+
.config(
37+
new ObservabilityPipelineConfig()
38+
.destinations(
39+
Collections.singletonList(
40+
new ObservabilityPipelineConfigDestinationItem(
41+
new ObservabilityPipelineDatadogLogsDestination()
42+
.id("datadog-logs-destination")
43+
.inputs(
44+
Collections.singletonList(
45+
"my-processor-group"))
46+
.type(
47+
ObservabilityPipelineDatadogLogsDestinationType
48+
.DATADOG_LOGS))))
49+
.processorGroups(
50+
Collections.singletonList(
51+
new ObservabilityPipelineConfigProcessorGroup()
52+
.enabled(true)
53+
.id("my-processor-group")
54+
.include("service:my-service")
55+
.inputs(
56+
Collections.singletonList(
57+
"datadog-agent-source"))
58+
.processors(
59+
Collections.singletonList(
60+
new ObservabilityPipelineConfigProcessorItem(
61+
new ObservabilityPipelineDedupeProcessor()
62+
.enabled(true)
63+
.id("dedupe-processor")
64+
.include("service:my-service")
65+
.type(
66+
ObservabilityPipelineDedupeProcessorType
67+
.DEDUPE)
68+
.fields(
69+
Collections.singletonList(
70+
"message"))
71+
.mode(
72+
ObservabilityPipelineDedupeProcessorMode
73+
.MATCH)
74+
.cache(
75+
new ObservabilityPipelineDedupeProcessorCache()
76+
.numEvents(5000L)))))))
77+
.sources(
78+
Collections.singletonList(
79+
new ObservabilityPipelineConfigSourceItem(
80+
new ObservabilityPipelineDatadogAgentSource()
81+
.id("datadog-agent-source")
82+
.type(
83+
ObservabilityPipelineDatadogAgentSourceType
84+
.DATADOG_AGENT)))))
85+
.name("Pipeline with Dedupe Cache"))
86+
.type("pipelines"));
87+
88+
try {
89+
ObservabilityPipeline result = apiInstance.createPipeline(body);
90+
System.out.println(result);
91+
} catch (ApiException e) {
92+
System.err.println("Exception when calling ObservabilityPipelinesApi#createPipeline");
93+
System.err.println("Status code: " + e.getCode());
94+
System.err.println("Reason: " + e.getResponseBody());
95+
System.err.println("Response headers: " + e.getResponseHeaders());
96+
e.printStackTrace();
97+
}
98+
}
99+
}
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
// Create a pipeline with dedupe processor without cache returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.ObservabilityPipelinesApi;
6+
import com.datadog.api.client.v2.model.ObservabilityPipeline;
7+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfig;
8+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigDestinationItem;
9+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorGroup;
10+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorItem;
11+
import com.datadog.api.client.v2.model.ObservabilityPipelineConfigSourceItem;
12+
import com.datadog.api.client.v2.model.ObservabilityPipelineDataAttributes;
13+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSource;
14+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogAgentSourceType;
15+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestination;
16+
import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogLogsDestinationType;
17+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessor;
18+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorMode;
19+
import com.datadog.api.client.v2.model.ObservabilityPipelineDedupeProcessorType;
20+
import com.datadog.api.client.v2.model.ObservabilityPipelineSpec;
21+
import com.datadog.api.client.v2.model.ObservabilityPipelineSpecData;
22+
import java.util.Collections;
23+
24+
public class Example {
25+
public static void main(String[] args) {
26+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
27+
ObservabilityPipelinesApi apiInstance = new ObservabilityPipelinesApi(defaultClient);
28+
29+
ObservabilityPipelineSpec body =
30+
new ObservabilityPipelineSpec()
31+
.data(
32+
new ObservabilityPipelineSpecData()
33+
.attributes(
34+
new ObservabilityPipelineDataAttributes()
35+
.config(
36+
new ObservabilityPipelineConfig()
37+
.destinations(
38+
Collections.singletonList(
39+
new ObservabilityPipelineConfigDestinationItem(
40+
new ObservabilityPipelineDatadogLogsDestination()
41+
.id("datadog-logs-destination")
42+
.inputs(
43+
Collections.singletonList(
44+
"my-processor-group"))
45+
.type(
46+
ObservabilityPipelineDatadogLogsDestinationType
47+
.DATADOG_LOGS))))
48+
.processorGroups(
49+
Collections.singletonList(
50+
new ObservabilityPipelineConfigProcessorGroup()
51+
.enabled(true)
52+
.id("my-processor-group")
53+
.include("service:my-service")
54+
.inputs(
55+
Collections.singletonList(
56+
"datadog-agent-source"))
57+
.processors(
58+
Collections.singletonList(
59+
new ObservabilityPipelineConfigProcessorItem(
60+
new ObservabilityPipelineDedupeProcessor()
61+
.enabled(true)
62+
.id("dedupe-processor")
63+
.include("service:my-service")
64+
.type(
65+
ObservabilityPipelineDedupeProcessorType
66+
.DEDUPE)
67+
.fields(
68+
Collections.singletonList(
69+
"message"))
70+
.mode(
71+
ObservabilityPipelineDedupeProcessorMode
72+
.MATCH))))))
73+
.sources(
74+
Collections.singletonList(
75+
new ObservabilityPipelineConfigSourceItem(
76+
new ObservabilityPipelineDatadogAgentSource()
77+
.id("datadog-agent-source")
78+
.type(
79+
ObservabilityPipelineDatadogAgentSourceType
80+
.DATADOG_AGENT)))))
81+
.name("Pipeline with Dedupe No Cache"))
82+
.type("pipelines"));
83+
84+
try {
85+
ObservabilityPipeline result = apiInstance.createPipeline(body);
86+
System.out.println(result);
87+
} catch (ApiException e) {
88+
System.err.println("Exception when calling ObservabilityPipelinesApi#createPipeline");
89+
System.err.println("Status code: " + e.getCode());
90+
System.err.println("Reason: " + e.getResponseBody());
91+
System.err.println("Response headers: " + e.getResponseHeaders());
92+
e.printStackTrace();
93+
}
94+
}
95+
}

src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDedupeProcessor.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
* <p><strong>Supported pipeline types:</strong> logs
2626
*/
2727
@JsonPropertyOrder({
28+
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_CACHE,
2829
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_DISPLAY_NAME,
2930
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_ENABLED,
3031
ObservabilityPipelineDedupeProcessor.JSON_PROPERTY_FIELDS,
@@ -37,6 +38,9 @@
3738
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
3839
public class ObservabilityPipelineDedupeProcessor {
3940
@JsonIgnore public boolean unparsed = false;
41+
public static final String JSON_PROPERTY_CACHE = "cache";
42+
private ObservabilityPipelineDedupeProcessorCache cache;
43+
4044
public static final String JSON_PROPERTY_DISPLAY_NAME = "display_name";
4145
private String displayName;
4246

@@ -81,6 +85,29 @@ public ObservabilityPipelineDedupeProcessor(
8185
this.unparsed |= !type.isValid();
8286
}
8387

88+
public ObservabilityPipelineDedupeProcessor cache(
89+
ObservabilityPipelineDedupeProcessorCache cache) {
90+
this.cache = cache;
91+
this.unparsed |= cache.unparsed;
92+
return this;
93+
}
94+
95+
/**
96+
* Configuration for the cache used to detect duplicates.
97+
*
98+
* @return cache
99+
*/
100+
@jakarta.annotation.Nullable
101+
@JsonProperty(JSON_PROPERTY_CACHE)
102+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
103+
public ObservabilityPipelineDedupeProcessorCache getCache() {
104+
return cache;
105+
}
106+
107+
public void setCache(ObservabilityPipelineDedupeProcessorCache cache) {
108+
this.cache = cache;
109+
}
110+
84111
public ObservabilityPipelineDedupeProcessor displayName(String displayName) {
85112
this.displayName = displayName;
86113
return this;
@@ -292,7 +319,8 @@ public boolean equals(Object o) {
292319
}
293320
ObservabilityPipelineDedupeProcessor observabilityPipelineDedupeProcessor =
294321
(ObservabilityPipelineDedupeProcessor) o;
295-
return Objects.equals(this.displayName, observabilityPipelineDedupeProcessor.displayName)
322+
return Objects.equals(this.cache, observabilityPipelineDedupeProcessor.cache)
323+
&& Objects.equals(this.displayName, observabilityPipelineDedupeProcessor.displayName)
296324
&& Objects.equals(this.enabled, observabilityPipelineDedupeProcessor.enabled)
297325
&& Objects.equals(this.fields, observabilityPipelineDedupeProcessor.fields)
298326
&& Objects.equals(this.id, observabilityPipelineDedupeProcessor.id)
@@ -306,13 +334,14 @@ public boolean equals(Object o) {
306334
@Override
307335
public int hashCode() {
308336
return Objects.hash(
309-
displayName, enabled, fields, id, include, mode, type, additionalProperties);
337+
cache, displayName, enabled, fields, id, include, mode, type, additionalProperties);
310338
}
311339

312340
@Override
313341
public String toString() {
314342
StringBuilder sb = new StringBuilder();
315343
sb.append("class ObservabilityPipelineDedupeProcessor {\n");
344+
sb.append(" cache: ").append(toIndentedString(cache)).append("\n");
316345
sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n");
317346
sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
318347
sb.append(" fields: ").append(toIndentedString(fields)).append("\n");

0 commit comments

Comments
 (0)