Skip to content

Commit c957728

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit d550727 of spec repo
1 parent 651dafa commit c957728

13 files changed

Lines changed: 453 additions & 6 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67693,6 +67693,10 @@ components:
6769367693
The `parse_grok` processor extracts structured fields from unstructured log messages using Grok patterns.
6769467694

6769567695
**Supported pipeline types:** logs
67696+
example:
67697+
id: "parse-grok-processor"
67698+
include: "service:my-service"
67699+
type: "parse_grok"
6769667700
properties:
6769767701
disable_library_rules:
6769867702
default: false
@@ -67705,6 +67709,11 @@ components:
6770567709
description: Indicates whether the processor is enabled.
6770667710
example: true
6770767711
type: boolean
67712+
field:
67713+
default: "message"
67714+
description: The log field to parse with the Grok rules.
67715+
example: "message"
67716+
type: string
6770867717
id:
6770967718
description: A unique identifier for this processor.
6771067719
example: "parse-grok-processor"
@@ -67714,9 +67723,9 @@ components:
6771467723
example: "service:my-service"
6771567724
type: string
6771667725
rules:
67717-
description: The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied.
67726+
description: The list of Grok parsing rules selected by either source field or include query.
6771867727
items:
67719-
$ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRule"
67728+
$ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleItem"
6772067729
type: array
6772167730
type:
6772267731
$ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorType"
@@ -67728,6 +67737,37 @@ components:
6772867737
- enabled
6772967738
type: object
6773067739
x-pipeline-types: [logs]
67740+
ObservabilityPipelineParseGrokProcessorIncludeRule:
67741+
description: |-
67742+
A Grok parsing rule selected using the `include` query. Each rule defines how to extract structured fields
67743+
from logs matching a Datadog search query.
67744+
properties:
67745+
include:
67746+
description: A Datadog search query used to determine which logs this Grok rule targets.
67747+
example: "service:my-service"
67748+
type: string
67749+
match_rules:
67750+
description: |-
67751+
A list of Grok parsing rules that define how to extract fields from matching logs.
67752+
Each rule must contain a name and a valid Grok pattern.
67753+
example:
67754+
- name: "MyParsingRule"
67755+
rule: '%{word:user} connected on %{date("MM/dd/yyyy"):date}'
67756+
items:
67757+
$ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleMatchRule"
67758+
type: array
67759+
support_rules:
67760+
description: A list of Grok helper rules that can be referenced by the parsing rules.
67761+
example:
67762+
- name: "user"
67763+
rule: "%{word:user.name}"
67764+
items:
67765+
$ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleSupportRule"
67766+
type: array
67767+
required:
67768+
- include
67769+
- match_rules
67770+
type: object
6773167771
ObservabilityPipelineParseGrokProcessorRule:
6773267772
description: |-
6773367773
A Grok parsing rule used in the `parse_grok` processor. Each rule defines how to extract structured fields
@@ -67760,6 +67800,11 @@ components:
6776067800
- source
6776167801
- match_rules
6776267802
type: object
67803+
ObservabilityPipelineParseGrokProcessorRuleItem:
67804+
description: A single Grok parsing rule, selected by either source field or include query.
67805+
oneOf:
67806+
- $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRule"
67807+
- $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorIncludeRule"
6776367808
ObservabilityPipelineParseGrokProcessorRuleMatchRule:
6776467809
description: |-
6776567810
Defines a Grok parsing rule, which extracts structured fields from log content using named Grok patterns.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"2026-06-29T20:01:05.978Z"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"log": {
3+
"_recordingName": "Observability Pipelines/Validate an observability pipeline with parse grok processor include rules returns \"OK\" response",
4+
"creator": {
5+
"comment": "persister:fs",
6+
"name": "Polly.JS",
7+
"version": "6.0.5"
8+
},
9+
"entries": [
10+
{
11+
"_id": "b8062fd7f4eded7f70d16663f84d35bf",
12+
"_order": 0,
13+
"cache": {},
14+
"request": {
15+
"bodySize": 613,
16+
"cookies": [],
17+
"headers": [
18+
{
19+
"_fromType": "array",
20+
"name": "accept",
21+
"value": "application/json"
22+
},
23+
{
24+
"_fromType": "array",
25+
"name": "content-type",
26+
"value": "application/json"
27+
}
28+
],
29+
"headersSize": 583,
30+
"httpVersion": "HTTP/1.1",
31+
"method": "POST",
32+
"postData": {
33+
"mimeType": "application/json",
34+
"params": [],
35+
"text": "{\"data\":{\"attributes\":{\"config\":{\"destinations\":[{\"id\":\"datadog-logs-destination\",\"inputs\":[\"my-processor-group\"],\"type\":\"datadog_logs\"}],\"processor_groups\":[{\"enabled\":true,\"id\":\"my-processor-group\",\"include\":\"service:my-service\",\"inputs\":[\"datadog-agent-source\"],\"processors\":[{\"enabled\":true,\"field\":\"content\",\"id\":\"parse-grok-processor\",\"include\":\"*\",\"rules\":[{\"include\":\"service:foo\",\"match_rules\":[{\"name\":\"MyParsingRule\",\"rule\":\"%{word:user}\"}]}],\"type\":\"parse_grok\"}]}],\"sources\":[{\"id\":\"datadog-agent-source\",\"type\":\"datadog_agent\"}]},\"name\":\"Pipeline with Parse Grok Include Rules\"},\"type\":\"pipelines\"}}"
36+
},
37+
"queryString": [],
38+
"url": "https://api.datadoghq.com/api/v2/obs-pipelines/pipelines/validate"
39+
},
40+
"response": {
41+
"bodySize": 14,
42+
"content": {
43+
"mimeType": "application/vnd.api+json",
44+
"size": 14,
45+
"text": "{\"errors\":[]}\n"
46+
},
47+
"cookies": [],
48+
"headers": [
49+
{
50+
"name": "content-type",
51+
"value": "application/vnd.api+json"
52+
}
53+
],
54+
"headersSize": 670,
55+
"httpVersion": "HTTP/1.1",
56+
"redirectURL": "",
57+
"status": 200,
58+
"statusText": "OK"
59+
},
60+
"startedDateTime": "2026-06-29T20:01:05.981Z",
61+
"time": 87
62+
}
63+
],
64+
"pages": [],
65+
"version": "1.2"
66+
}
67+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"2026-06-29T18:24:15.839Z"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"log": {
3+
"_recordingName": "Observability Pipelines/Validate an observability pipeline with parse grok processor source rules returns \"OK\" response",
4+
"creator": {
5+
"comment": "persister:fs",
6+
"name": "Polly.JS",
7+
"version": "6.0.5"
8+
},
9+
"entries": [
10+
{
11+
"_id": "bca7a00b7717b67f43936397923b1e3c",
12+
"_order": 0,
13+
"cache": {},
14+
"request": {
15+
"bodySize": 589,
16+
"cookies": [],
17+
"headers": [
18+
{
19+
"_fromType": "array",
20+
"name": "accept",
21+
"value": "application/json"
22+
},
23+
{
24+
"_fromType": "array",
25+
"name": "content-type",
26+
"value": "application/json"
27+
}
28+
],
29+
"headersSize": 583,
30+
"httpVersion": "HTTP/1.1",
31+
"method": "POST",
32+
"postData": {
33+
"mimeType": "application/json",
34+
"params": [],
35+
"text": "{\"data\":{\"attributes\":{\"config\":{\"destinations\":[{\"id\":\"datadog-logs-destination\",\"inputs\":[\"my-processor-group\"],\"type\":\"datadog_logs\"}],\"processor_groups\":[{\"enabled\":true,\"id\":\"my-processor-group\",\"include\":\"service:my-service\",\"inputs\":[\"datadog-agent-source\"],\"processors\":[{\"enabled\":true,\"id\":\"parse-grok-processor\",\"include\":\"*\",\"rules\":[{\"match_rules\":[{\"name\":\"MyParsingRule\",\"rule\":\"%{word:user}\"}],\"source\":\"message\"}],\"type\":\"parse_grok\"}]}],\"sources\":[{\"id\":\"datadog-agent-source\",\"type\":\"datadog_agent\"}]},\"name\":\"Pipeline with Parse Grok Source Rules\"},\"type\":\"pipelines\"}}"
36+
},
37+
"queryString": [],
38+
"url": "https://api.datadoghq.com/api/v2/obs-pipelines/pipelines/validate"
39+
},
40+
"response": {
41+
"bodySize": 14,
42+
"content": {
43+
"mimeType": "application/vnd.api+json",
44+
"size": 14,
45+
"text": "{\"errors\":[]}\n"
46+
},
47+
"cookies": [],
48+
"headers": [
49+
{
50+
"name": "content-type",
51+
"value": "application/vnd.api+json"
52+
}
53+
],
54+
"headersSize": 670,
55+
"httpVersion": "HTTP/1.1",
56+
"redirectURL": "",
57+
"status": 200,
58+
"statusText": "OK"
59+
},
60+
"startedDateTime": "2026-06-29T18:24:15.841Z",
61+
"time": 168
62+
}
63+
],
64+
"pages": [],
65+
"version": "1.2"
66+
}
67+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
/**
2+
* Validate an observability pipeline with parse grok processor source rules returns "OK" response
3+
*/
4+
5+
import { client, v2 } from "@datadog/datadog-api-client";
6+
7+
const configuration = client.createConfiguration();
8+
const apiInstance = new v2.ObservabilityPipelinesApi(configuration);
9+
10+
const params: v2.ObservabilityPipelinesApiValidatePipelineRequest = {
11+
body: {
12+
data: {
13+
attributes: {
14+
config: {
15+
destinations: [
16+
{
17+
id: "datadog-logs-destination",
18+
inputs: ["my-processor-group"],
19+
type: "datadog_logs",
20+
},
21+
],
22+
processorGroups: [
23+
{
24+
enabled: true,
25+
id: "my-processor-group",
26+
include: "service:my-service",
27+
inputs: ["datadog-agent-source"],
28+
processors: [
29+
{
30+
enabled: true,
31+
id: "parse-grok-processor",
32+
include: "*",
33+
type: "parse_grok",
34+
rules: [
35+
{
36+
source: "message",
37+
matchRules: [
38+
{
39+
name: "MyParsingRule",
40+
rule: "%{word:user}",
41+
},
42+
],
43+
},
44+
],
45+
},
46+
],
47+
},
48+
],
49+
sources: [
50+
{
51+
id: "datadog-agent-source",
52+
type: "datadog_agent",
53+
},
54+
],
55+
},
56+
name: "Pipeline with Parse Grok Source Rules",
57+
},
58+
type: "pipelines",
59+
},
60+
},
61+
};
62+
63+
apiInstance
64+
.validatePipeline(params)
65+
.then((data: v2.ValidationResponse) => {
66+
console.log(
67+
"API called successfully. Returned data: " + JSON.stringify(data)
68+
);
69+
})
70+
.catch((error: any) => console.error(error));
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/**
2+
* Validate an observability pipeline with parse grok processor include rules returns "OK" response
3+
*/
4+
5+
import { client, v2 } from "@datadog/datadog-api-client";
6+
7+
const configuration = client.createConfiguration();
8+
const apiInstance = new v2.ObservabilityPipelinesApi(configuration);
9+
10+
const params: v2.ObservabilityPipelinesApiValidatePipelineRequest = {
11+
body: {
12+
data: {
13+
attributes: {
14+
config: {
15+
destinations: [
16+
{
17+
id: "datadog-logs-destination",
18+
inputs: ["my-processor-group"],
19+
type: "datadog_logs",
20+
},
21+
],
22+
processorGroups: [
23+
{
24+
enabled: true,
25+
id: "my-processor-group",
26+
include: "service:my-service",
27+
inputs: ["datadog-agent-source"],
28+
processors: [
29+
{
30+
enabled: true,
31+
id: "parse-grok-processor",
32+
include: "*",
33+
type: "parse_grok",
34+
field: "content",
35+
rules: [
36+
{
37+
include: "service:foo",
38+
matchRules: [
39+
{
40+
name: "MyParsingRule",
41+
rule: "%{word:user}",
42+
},
43+
],
44+
},
45+
],
46+
},
47+
],
48+
},
49+
],
50+
sources: [
51+
{
52+
id: "datadog-agent-source",
53+
type: "datadog_agent",
54+
},
55+
],
56+
},
57+
name: "Pipeline with Parse Grok Include Rules",
58+
},
59+
type: "pipelines",
60+
},
61+
},
62+
};
63+
64+
apiInstance
65+
.validatePipeline(params)
66+
.then((data: v2.ValidationResponse) => {
67+
console.log(
68+
"API called successfully. Returned data: " + JSON.stringify(data)
69+
);
70+
})
71+
.catch((error: any) => console.error(error));

features/v2/observability_pipelines.feature

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,22 @@ Feature: Observability Pipelines
295295
Then the response status is 200 OK
296296
And the response "errors" has length 0
297297

298+
@team:DataDog/observability-pipelines
299+
Scenario: Validate an observability pipeline with parse grok processor include rules returns "OK" response
300+
Given new "ValidatePipeline" request
301+
And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processor_groups": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "parse-grok-processor", "include": "*", "type": "parse_grok", "field": "content", "rules": [{"include": "service:foo", "match_rules": [{"name": "MyParsingRule", "rule": "%{word:user}"}]}]}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Pipeline with Parse Grok Include Rules"}, "type": "pipelines"}}
302+
When the request is sent
303+
Then the response status is 200 OK
304+
And the response "errors" has length 0
305+
306+
@team:DataDog/observability-pipelines
307+
Scenario: Validate an observability pipeline with parse grok processor source rules returns "OK" response
308+
Given new "ValidatePipeline" request
309+
And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processor_groups": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "parse-grok-processor", "include": "*", "type": "parse_grok", "rules": [{"source": "message", "match_rules": [{"name": "MyParsingRule", "rule": "%{word:user}"}]}]}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Pipeline with Parse Grok Source Rules"}, "type": "pipelines"}}
310+
When the request is sent
311+
Then the response status is 200 OK
312+
And the response "errors" has length 0
313+
298314
@team:DataDog/observability-pipelines
299315
Scenario: Validate an observability pipeline with source secret key returns "OK" response
300316
Given new "ValidatePipeline" request

0 commit comments

Comments
 (0)