Skip to content

Commit 334bf82

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 46a7592 of spec repo
1 parent a6e49cb commit 334bf82

24 files changed

Lines changed: 1575 additions & 4 deletions

File tree

.generator/schemas/v1/openapi.yaml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6182,6 +6182,76 @@ components:
61826182
type: string
61836183
x-enum-varnames:
61846184
- ARITHMETIC_PROCESSOR
6185+
LogsArrayMapProcessor:
6186+
description: |-
6187+
The array-map processor transforms each element of a source array by running
6188+
sub-processors against it and writing results to a target array.
6189+
Sub-processors reference the current element via `$sourceElem` (read) and
6190+
`$targetElem` (write). Parent log attributes are read via plain paths as usual.
6191+
Supported sub-processor types: `attribute-remapper`, `string-builder-processor`,
6192+
`arithmetic-processor`, `category-processor`.
6193+
`is_enabled` on sub-processors is ignored; sub-processor execution is gated
6194+
entirely by the parent array-map's `is_enabled` flag.
6195+
properties:
6196+
is_enabled:
6197+
default: false
6198+
description: Whether or not the processor is enabled.
6199+
type: boolean
6200+
name:
6201+
description: Name of the processor.
6202+
type: string
6203+
preserve_source:
6204+
default: true
6205+
description: |-
6206+
When `false` and `source != target`, the source attribute is removed after
6207+
processing. Cannot be `false` when `source == target`.
6208+
type: boolean
6209+
processors:
6210+
description: |-
6211+
Sub-processors applied to each element. Allowed types: `attribute-remapper`,
6212+
`string-builder-processor`, `arithmetic-processor`, `category-processor`.
6213+
items:
6214+
$ref: "#/components/schemas/LogsArrayMapSubProcessor"
6215+
type: array
6216+
source:
6217+
description: |-
6218+
Attribute path of the source array. Elements are read-only via `$sourceElem`
6219+
inside sub-processors.
6220+
example: detail.resource.s3BucketDetails
6221+
type: string
6222+
target:
6223+
description: |-
6224+
Attribute path of the output array. Sub-processors write to `$targetElem`
6225+
(or `$targetElem.<field>`) to build each output element.
6226+
example: ocsf.resources
6227+
type: string
6228+
type:
6229+
$ref: "#/components/schemas/LogsArrayMapProcessorType"
6230+
required:
6231+
- source
6232+
- target
6233+
- processors
6234+
- type
6235+
type: object
6236+
LogsArrayMapProcessorType:
6237+
default: array-map
6238+
description: Type of logs array-map processor.
6239+
enum:
6240+
- array-map
6241+
example: array-map
6242+
type: string
6243+
x-enum-varnames:
6244+
- ARRAY_MAP
6245+
LogsArrayMapSubProcessor:
6246+
description: |-
6247+
A sub-processor used inside an array-map processor.
6248+
Allowed types: `attribute-remapper`, `string-builder-processor`,
6249+
`arithmetic-processor`, `category-processor`.
6250+
oneOf:
6251+
- $ref: "#/components/schemas/LogsAttributeRemapper"
6252+
- $ref: "#/components/schemas/LogsStringBuilderProcessor"
6253+
- $ref: "#/components/schemas/LogsArithmeticProcessor"
6254+
- $ref: "#/components/schemas/LogsCategoryProcessor"
61856255
LogsArrayProcessor:
61866256
description: |-
61876257
A processor for extracting, aggregating, or transforming values from JSON arrays within your logs.
@@ -7237,6 +7307,7 @@ components:
72377307
- $ref: "#/components/schemas/LogsDecoderProcessor"
72387308
- $ref: "#/components/schemas/LogsSchemaProcessor"
72397309
- $ref: "#/components/schemas/LogsExcludeAttributeProcessor"
7310+
- $ref: "#/components/schemas/LogsArrayMapProcessor"
72407311
LogsQueryCompute:
72417312
description: Define computation for a log query.
72427313
properties:
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// Create a pipeline with Array Map Processor with preserve_source false returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.LogsPipelinesApi;
6+
import com.datadog.api.client.v1.model.LogsArrayMapProcessor;
7+
import com.datadog.api.client.v1.model.LogsArrayMapProcessorType;
8+
import com.datadog.api.client.v1.model.LogsArrayMapSubProcessor;
9+
import com.datadog.api.client.v1.model.LogsAttributeRemapper;
10+
import com.datadog.api.client.v1.model.LogsAttributeRemapperType;
11+
import com.datadog.api.client.v1.model.LogsFilter;
12+
import com.datadog.api.client.v1.model.LogsPipeline;
13+
import com.datadog.api.client.v1.model.LogsProcessor;
14+
import java.util.Collections;
15+
16+
public class Example {
17+
public static void main(String[] args) {
18+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
19+
LogsPipelinesApi apiInstance = new LogsPipelinesApi(defaultClient);
20+
21+
LogsPipeline body =
22+
new LogsPipeline()
23+
.filter(new LogsFilter().query("source:python"))
24+
.name("testPipelineArrayMapNoPreserve")
25+
.processors(
26+
Collections.singletonList(
27+
new LogsProcessor(
28+
new LogsArrayMapProcessor()
29+
.type(LogsArrayMapProcessorType.ARRAY_MAP)
30+
.isEnabled(true)
31+
.name("map and remove source")
32+
.source("items")
33+
.target("out")
34+
.preserveSource(false)
35+
.processors(
36+
Collections.singletonList(
37+
new LogsArrayMapSubProcessor(
38+
new LogsAttributeRemapper()
39+
.type(LogsAttributeRemapperType.ATTRIBUTE_REMAPPER)
40+
.sources(Collections.singletonList("$sourceElem.id"))
41+
.target("$targetElem.uid")))))));
42+
43+
try {
44+
LogsPipeline result = apiInstance.createLogsPipeline(body);
45+
System.out.println(result);
46+
} catch (ApiException e) {
47+
System.err.println("Exception when calling LogsPipelinesApi#createLogsPipeline");
48+
System.err.println("Status code: " + e.getCode());
49+
System.err.println("Reason: " + e.getResponseBody());
50+
System.err.println("Response headers: " + e.getResponseHeaders());
51+
e.printStackTrace();
52+
}
53+
}
54+
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// Create a pipeline with Array Map Processor using category sub-processor returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.LogsPipelinesApi;
6+
import com.datadog.api.client.v1.model.LogsArrayMapProcessor;
7+
import com.datadog.api.client.v1.model.LogsArrayMapProcessorType;
8+
import com.datadog.api.client.v1.model.LogsArrayMapSubProcessor;
9+
import com.datadog.api.client.v1.model.LogsCategoryProcessor;
10+
import com.datadog.api.client.v1.model.LogsCategoryProcessorCategory;
11+
import com.datadog.api.client.v1.model.LogsCategoryProcessorType;
12+
import com.datadog.api.client.v1.model.LogsFilter;
13+
import com.datadog.api.client.v1.model.LogsPipeline;
14+
import com.datadog.api.client.v1.model.LogsProcessor;
15+
import java.util.Arrays;
16+
import java.util.Collections;
17+
18+
public class Example {
19+
public static void main(String[] args) {
20+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
21+
LogsPipelinesApi apiInstance = new LogsPipelinesApi(defaultClient);
22+
23+
LogsPipeline body =
24+
new LogsPipeline()
25+
.filter(new LogsFilter().query("source:python"))
26+
.name("testPipelineArrayMapCategory")
27+
.processors(
28+
Collections.singletonList(
29+
new LogsProcessor(
30+
new LogsArrayMapProcessor()
31+
.type(LogsArrayMapProcessorType.ARRAY_MAP)
32+
.isEnabled(true)
33+
.name("categorize items")
34+
.source("items")
35+
.target("out")
36+
.processors(
37+
Collections.singletonList(
38+
new LogsArrayMapSubProcessor(
39+
new LogsCategoryProcessor()
40+
.type(LogsCategoryProcessorType.CATEGORY_PROCESSOR)
41+
.target("$targetElem.level")
42+
.categories(
43+
Arrays.asList(
44+
new LogsCategoryProcessorCategory()
45+
.filter(
46+
new LogsFilter()
47+
.query("@$sourceElem.status:error"))
48+
.name("error"),
49+
new LogsCategoryProcessorCategory()
50+
.filter(new LogsFilter().query("*"))
51+
.name("info")))))))));
52+
53+
try {
54+
LogsPipeline result = apiInstance.createLogsPipeline(body);
55+
System.out.println(result);
56+
} catch (ApiException e) {
57+
System.err.println("Exception when calling LogsPipelinesApi#createLogsPipeline");
58+
System.err.println("Status code: " + e.getCode());
59+
System.err.println("Reason: " + e.getResponseBody());
60+
System.err.println("Response headers: " + e.getResponseHeaders());
61+
e.printStackTrace();
62+
}
63+
}
64+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Create a pipeline with Array Map Processor using arithmetic sub-processor returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.LogsPipelinesApi;
6+
import com.datadog.api.client.v1.model.LogsArithmeticProcessor;
7+
import com.datadog.api.client.v1.model.LogsArithmeticProcessorType;
8+
import com.datadog.api.client.v1.model.LogsArrayMapProcessor;
9+
import com.datadog.api.client.v1.model.LogsArrayMapProcessorType;
10+
import com.datadog.api.client.v1.model.LogsArrayMapSubProcessor;
11+
import com.datadog.api.client.v1.model.LogsFilter;
12+
import com.datadog.api.client.v1.model.LogsPipeline;
13+
import com.datadog.api.client.v1.model.LogsProcessor;
14+
import java.util.Collections;
15+
16+
public class Example {
17+
public static void main(String[] args) {
18+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
19+
LogsPipelinesApi apiInstance = new LogsPipelinesApi(defaultClient);
20+
21+
LogsPipeline body =
22+
new LogsPipeline()
23+
.filter(new LogsFilter().query("source:python"))
24+
.name("testPipelineArrayMapArithmetic")
25+
.processors(
26+
Collections.singletonList(
27+
new LogsProcessor(
28+
new LogsArrayMapProcessor()
29+
.type(LogsArrayMapProcessorType.ARRAY_MAP)
30+
.isEnabled(true)
31+
.name("double counts")
32+
.source("items")
33+
.target("out")
34+
.processors(
35+
Collections.singletonList(
36+
new LogsArrayMapSubProcessor(
37+
new LogsArithmeticProcessor()
38+
.type(LogsArithmeticProcessorType.ARITHMETIC_PROCESSOR)
39+
.expression("$sourceElem.count * 2")
40+
.target("$targetElem.doubled")))))));
41+
42+
try {
43+
LogsPipeline result = apiInstance.createLogsPipeline(body);
44+
System.out.println(result);
45+
} catch (ApiException e) {
46+
System.err.println("Exception when calling LogsPipelinesApi#createLogsPipeline");
47+
System.err.println("Status code: " + e.getCode());
48+
System.err.println("Reason: " + e.getResponseBody());
49+
System.err.println("Response headers: " + e.getResponseHeaders());
50+
e.printStackTrace();
51+
}
52+
}
53+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// Create a pipeline with Array Map Processor returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.LogsPipelinesApi;
6+
import com.datadog.api.client.v1.model.LogsArrayMapProcessor;
7+
import com.datadog.api.client.v1.model.LogsArrayMapProcessorType;
8+
import com.datadog.api.client.v1.model.LogsArrayMapSubProcessor;
9+
import com.datadog.api.client.v1.model.LogsAttributeRemapper;
10+
import com.datadog.api.client.v1.model.LogsAttributeRemapperType;
11+
import com.datadog.api.client.v1.model.LogsFilter;
12+
import com.datadog.api.client.v1.model.LogsPipeline;
13+
import com.datadog.api.client.v1.model.LogsProcessor;
14+
import com.datadog.api.client.v1.model.LogsStringBuilderProcessor;
15+
import com.datadog.api.client.v1.model.LogsStringBuilderProcessorType;
16+
import java.util.Arrays;
17+
import java.util.Collections;
18+
19+
public class Example {
20+
public static void main(String[] args) {
21+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
22+
LogsPipelinesApi apiInstance = new LogsPipelinesApi(defaultClient);
23+
24+
LogsPipeline body =
25+
new LogsPipeline()
26+
.filter(new LogsFilter().query("source:python"))
27+
.name("testPipelineArrayMap")
28+
.processors(
29+
Collections.singletonList(
30+
new LogsProcessor(
31+
new LogsArrayMapProcessor()
32+
.type(LogsArrayMapProcessorType.ARRAY_MAP)
33+
.isEnabled(true)
34+
.name("map items")
35+
.source("items")
36+
.target("out")
37+
.preserveSource(true)
38+
.processors(
39+
Arrays.asList(
40+
new LogsArrayMapSubProcessor(
41+
new LogsAttributeRemapper()
42+
.type(LogsAttributeRemapperType.ATTRIBUTE_REMAPPER)
43+
.sources(Collections.singletonList("$sourceElem.id"))
44+
.target("$targetElem.uid")
45+
.preserveSource(true)),
46+
new LogsArrayMapSubProcessor(
47+
new LogsStringBuilderProcessor()
48+
.type(
49+
LogsStringBuilderProcessorType
50+
.STRING_BUILDER_PROCESSOR)
51+
.template("item-%{$sourceElem.id}")
52+
.target("$targetElem.label")))))));
53+
54+
try {
55+
LogsPipeline result = apiInstance.createLogsPipeline(body);
56+
System.out.println(result);
57+
} catch (ApiException e) {
58+
System.err.println("Exception when calling LogsPipelinesApi#createLogsPipeline");
59+
System.err.println("Status code: " + e.getCode());
60+
System.err.println("Reason: " + e.getResponseBody());
61+
System.err.println("Response headers: " + e.getResponseHeaders());
62+
e.printStackTrace();
63+
}
64+
}
65+
}

0 commit comments

Comments
 (0)