Skip to content

Commit 76f2bc7

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit a435f1bd of spec repo
1 parent f09b11b commit 76f2bc7

19 files changed

+1200
-5
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-06-26 17:56:17.204143",
8-
"spec_repo_commit": "76086f13"
7+
"regenerated": "2025-06-27 13:25:59.837284",
8+
"spec_repo_commit": "a435f1bd"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-06-26 17:56:17.219918",
13-
"spec_repo_commit": "76086f13"
12+
"regenerated": "2025-06-27 13:25:59.853309",
13+
"spec_repo_commit": "a435f1bd"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5156,6 +5156,143 @@ components:
51565156
type: string
51575157
x-enum-varnames:
51585158
- ARITHMETIC_PROCESSOR
5159+
LogsArrayProcessor:
5160+
description: 'A processor for extracting, aggregating, or transforming values
5161+
from JSON arrays within your logs.
5162+
5163+
Supported operations are:
5164+
5165+
- Select value from matching element
5166+
5167+
- Compute array length
5168+
5169+
- Append a value to an array'
5170+
properties:
5171+
is_enabled:
5172+
default: false
5173+
description: Whether or not the processor is enabled.
5174+
type: boolean
5175+
name:
5176+
description: Name of the processor.
5177+
type: string
5178+
operation:
5179+
$ref: '#/components/schemas/LogsArrayProcessorOperation'
5180+
type:
5181+
$ref: '#/components/schemas/LogsArrayProcessorType'
5182+
required:
5183+
- operation
5184+
- type
5185+
type: object
5186+
LogsArrayProcessorOperation:
5187+
description: Configuration of the array processor operation to perform.
5188+
oneOf:
5189+
- $ref: '#/components/schemas/LogsArrayProcessorOperationAppend'
5190+
- $ref: '#/components/schemas/LogsArrayProcessorOperationLength'
5191+
- $ref: '#/components/schemas/LogsArrayProcessorOperationSelect'
5192+
LogsArrayProcessorOperationAppend:
5193+
description: Operation that appends a value to a target array attribute.
5194+
properties:
5195+
preserve_source:
5196+
default: true
5197+
description: Remove or preserve the remapped source element.
5198+
type: boolean
5199+
source:
5200+
description: Attribute path containing the value to append.
5201+
example: network.client.ip
5202+
type: string
5203+
target:
5204+
description: Attribute path of the array to append to.
5205+
example: sourceIps
5206+
type: string
5207+
type:
5208+
$ref: '#/components/schemas/LogsArrayProcessorOperationAppendType'
5209+
required:
5210+
- type
5211+
- source
5212+
- target
5213+
type: object
5214+
LogsArrayProcessorOperationAppendType:
5215+
description: Operation type.
5216+
enum:
5217+
- append
5218+
example: append
5219+
type: string
5220+
x-enum-varnames:
5221+
- APPEND
5222+
LogsArrayProcessorOperationLength:
5223+
description: Operation that computes the length of a `source` array and stores
5224+
the result in the `target` attribute.
5225+
properties:
5226+
source:
5227+
description: Attribute path of the array to measure.
5228+
example: tags
5229+
type: string
5230+
target:
5231+
description: Attribute that receives the computed length.
5232+
example: tagCount
5233+
type: string
5234+
type:
5235+
$ref: '#/components/schemas/LogsArrayProcessorOperationLengthType'
5236+
required:
5237+
- type
5238+
- source
5239+
- target
5240+
type: object
5241+
LogsArrayProcessorOperationLengthType:
5242+
description: Operation type.
5243+
enum:
5244+
- length
5245+
example: length
5246+
type: string
5247+
x-enum-varnames:
5248+
- LENGTH
5249+
LogsArrayProcessorOperationSelect:
5250+
description: Operation that finds an object in a `source` array using a `filter`,
5251+
and then extracts a specific value into the `target` attribute.
5252+
properties:
5253+
filter:
5254+
description: Filter condition expressed as `key:value` used to find the
5255+
matching element.
5256+
example: name:Referrer
5257+
type: string
5258+
source:
5259+
description: Attribute path of the array to search into.
5260+
example: httpRequest.headers
5261+
type: string
5262+
target:
5263+
description: Attribute that receives the extracted value.
5264+
example: referrer
5265+
type: string
5266+
type:
5267+
$ref: '#/components/schemas/LogsArrayProcessorOperationSelectType'
5268+
value_to_extract:
5269+
description: Key of the value to extract from the matching element.
5270+
example: value
5271+
type: string
5272+
required:
5273+
- type
5274+
- source
5275+
- target
5276+
- filter
5277+
- value_to_extract
5278+
type: object
5279+
LogsArrayProcessorOperationSelectType:
5280+
description: Operation type.
5281+
enum:
5282+
- select
5283+
example: select
5284+
type: string
5285+
x-enum-varnames:
5286+
- SELECT
5287+
LogsArrayProcessorType:
5288+
default: array-processor
5289+
description: Type of logs array processor.
5290+
enum:
5291+
- array-processor
5292+
example: array-processor
5293+
type: string
5294+
x-enum-varnames:
5295+
- ARRAY_PROCESSOR
51595296
LogsAttributeRemapper:
51605297
description: 'The remapper processor remaps any source attribute(s) or tag to
51615298
another target attribute or tag.
@@ -6053,6 +6190,7 @@ components:
60536190
- $ref: '#/components/schemas/ReferenceTableLogsLookupProcessor'
60546191
- $ref: '#/components/schemas/LogsTraceRemapper'
60556192
- $ref: '#/components/schemas/LogsSpanRemapper'
6193+
- $ref: '#/components/schemas/LogsArrayProcessor'
60566194
LogsQueryCompute:
60576195
description: Define computation for a log query.
60586196
properties:
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Create a pipeline with Array Processor Append Operation returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5+
6+
body = DatadogAPIClient::V1::LogsPipeline.new({
7+
filter: DatadogAPIClient::V1::LogsFilter.new({
8+
query: "source:python",
9+
}),
10+
name: "testPipelineArrayAppend",
11+
processors: [
12+
DatadogAPIClient::V1::LogsArrayProcessor.new({
13+
type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14+
is_enabled: true,
15+
name: "append_ip_to_array",
16+
operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17+
type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18+
source: "network.client.ip",
19+
target: "sourceIps",
20+
}),
21+
}),
22+
],
23+
tags: [],
24+
})
25+
p api_instance.create_logs_pipeline(body)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Create a pipeline with Array Processor Select Operation returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5+
6+
body = DatadogAPIClient::V1::LogsPipeline.new({
7+
filter: DatadogAPIClient::V1::LogsFilter.new({
8+
query: "source:python",
9+
}),
10+
name: "testPipelineArraySelect",
11+
processors: [
12+
DatadogAPIClient::V1::LogsArrayProcessor.new({
13+
type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14+
is_enabled: true,
15+
name: "extract_referrer",
16+
operation: DatadogAPIClient::V1::LogsArrayProcessorOperationSelect.new({
17+
type: DatadogAPIClient::V1::LogsArrayProcessorOperationSelectType::SELECT,
18+
source: "httpRequest.headers",
19+
target: "referrer",
20+
filter: "name:Referrer",
21+
value_to_extract: "value",
22+
}),
23+
}),
24+
],
25+
tags: [],
26+
})
27+
p api_instance.create_logs_pipeline(body)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Create a pipeline with Array Processor Length Operation returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5+
6+
body = DatadogAPIClient::V1::LogsPipeline.new({
7+
filter: DatadogAPIClient::V1::LogsFilter.new({
8+
query: "source:python",
9+
}),
10+
name: "testPipelineArrayLength",
11+
processors: [
12+
DatadogAPIClient::V1::LogsArrayProcessor.new({
13+
type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14+
is_enabled: true,
15+
name: "count_tags",
16+
operation: DatadogAPIClient::V1::LogsArrayProcessorOperationLength.new({
17+
type: DatadogAPIClient::V1::LogsArrayProcessorOperationLengthType::LENGTH,
18+
source: "tags",
19+
target: "tagCount",
20+
}),
21+
}),
22+
],
23+
tags: [],
24+
})
25+
p api_instance.create_logs_pipeline(body)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Create a pipeline with Array Processor Append Operation with preserve_source true returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5+
6+
body = DatadogAPIClient::V1::LogsPipeline.new({
7+
filter: DatadogAPIClient::V1::LogsFilter.new({
8+
query: "source:python",
9+
}),
10+
name: "testPipelineArrayAppendPreserve",
11+
processors: [
12+
DatadogAPIClient::V1::LogsArrayProcessor.new({
13+
type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14+
is_enabled: true,
15+
name: "append_ip_and_keep_source",
16+
operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17+
type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18+
source: "network.client.ip",
19+
target: "sourceIps",
20+
preserve_source: true,
21+
}),
22+
}),
23+
],
24+
tags: [],
25+
})
26+
p api_instance.create_logs_pipeline(body)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Create a pipeline with Array Processor Append Operation with preserve_source false returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5+
6+
body = DatadogAPIClient::V1::LogsPipeline.new({
7+
filter: DatadogAPIClient::V1::LogsFilter.new({
8+
query: "source:python",
9+
}),
10+
name: "testPipelineArrayAppendNoPreserve",
11+
processors: [
12+
DatadogAPIClient::V1::LogsArrayProcessor.new({
13+
type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14+
is_enabled: true,
15+
name: "append_ip_and_remove_source",
16+
operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17+
type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18+
source: "network.client.ip",
19+
target: "sourceIps",
20+
preserve_source: false,
21+
}),
22+
}),
23+
],
24+
tags: [],
25+
})
26+
p api_instance.create_logs_pipeline(body)

features/v1/logs_pipelines.feature

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,41 @@ Feature: Logs Pipelines
3535
When the request is sent
3636
Then the response status is 200 OK
3737

38+
@team:DataDog/event-platform-experience
39+
Scenario: Create a pipeline with Array Processor Append Operation returns "OK" response
40+
Given new "CreateLogsPipeline" request
41+
And body with value {"filter": {"query": "source:python"}, "name": "testPipelineArrayAppend", "processors": [{"type": "array-processor", "is_enabled": true, "name": "append_ip_to_array", "operation": {"type": "append", "source": "network.client.ip", "target": "sourceIps"}}], "tags": []}
42+
When the request is sent
43+
Then the response status is 200 OK
44+
45+
@team:DataDog/event-platform-experience
46+
Scenario: Create a pipeline with Array Processor Append Operation with preserve_source false returns "OK" response
47+
Given new "CreateLogsPipeline" request
48+
And body with value {"filter": {"query": "source:python"}, "name": "testPipelineArrayAppendNoPreserve", "processors": [{"type": "array-processor", "is_enabled": true, "name": "append_ip_and_remove_source", "operation": {"type": "append", "source": "network.client.ip", "target": "sourceIps", "preserve_source": false}}], "tags": []}
49+
When the request is sent
50+
Then the response status is 200 OK
51+
52+
@team:DataDog/event-platform-experience
53+
Scenario: Create a pipeline with Array Processor Append Operation with preserve_source true returns "OK" response
54+
Given new "CreateLogsPipeline" request
55+
And body with value {"filter": {"query": "source:python"}, "name": "testPipelineArrayAppendPreserve", "processors": [{"type": "array-processor", "is_enabled": true, "name": "append_ip_and_keep_source", "operation": {"type": "append", "source": "network.client.ip", "target": "sourceIps", "preserve_source": true}}], "tags": []}
56+
When the request is sent
57+
Then the response status is 200 OK
58+
59+
@team:DataDog/event-platform-experience
60+
Scenario: Create a pipeline with Array Processor Length Operation returns "OK" response
61+
Given new "CreateLogsPipeline" request
62+
And body with value {"filter": {"query": "source:python"}, "name": "testPipelineArrayLength", "processors": [{"type": "array-processor", "is_enabled": true, "name": "count_tags", "operation": {"type": "length", "source": "tags", "target": "tagCount"}}], "tags": []}
63+
When the request is sent
64+
Then the response status is 200 OK
65+
66+
@team:DataDog/event-platform-experience
67+
Scenario: Create a pipeline with Array Processor Select Operation returns "OK" response
68+
Given new "CreateLogsPipeline" request
69+
And body with value {"filter": {"query": "source:python"}, "name": "testPipelineArraySelect", "processors": [{"type": "array-processor", "is_enabled": true, "name": "extract_referrer", "operation": {"type": "select", "source": "httpRequest.headers", "target": "referrer", "filter": "name:Referrer", "value_to_extract": "value"}}], "tags": []}
70+
When the request is sent
71+
Then the response status is 200 OK
72+
3873
@team:DataDog/event-platform-experience
3974
Scenario: Create a pipeline with Span Id Remapper returns "OK" response
4075
Given new "CreateLogsPipeline" request

lib/datadog_api_client/inflector.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,15 @@ def overrides
227227
"v1.logs_api_error_response" => "LogsAPIErrorResponse",
228228
"v1.logs_arithmetic_processor" => "LogsArithmeticProcessor",
229229
"v1.logs_arithmetic_processor_type" => "LogsArithmeticProcessorType",
230+
"v1.logs_array_processor" => "LogsArrayProcessor",
231+
"v1.logs_array_processor_operation" => "LogsArrayProcessorOperation",
232+
"v1.logs_array_processor_operation_append" => "LogsArrayProcessorOperationAppend",
233+
"v1.logs_array_processor_operation_append_type" => "LogsArrayProcessorOperationAppendType",
234+
"v1.logs_array_processor_operation_length" => "LogsArrayProcessorOperationLength",
235+
"v1.logs_array_processor_operation_length_type" => "LogsArrayProcessorOperationLengthType",
236+
"v1.logs_array_processor_operation_select" => "LogsArrayProcessorOperationSelect",
237+
"v1.logs_array_processor_operation_select_type" => "LogsArrayProcessorOperationSelectType",
238+
"v1.logs_array_processor_type" => "LogsArrayProcessorType",
230239
"v1.logs_attribute_remapper" => "LogsAttributeRemapper",
231240
"v1.logs_attribute_remapper_type" => "LogsAttributeRemapperType",
232241
"v1.logs_by_retention" => "LogsByRetention",

0 commit comments

Comments
 (0)