Skip to content

Commit dead1c9

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit a1d00e0 of spec repo
1 parent c5c7ab3 commit dead1c9

14 files changed

Lines changed: 491 additions & 14 deletions

.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.

docs/datadog_api_client.v2.model.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27990,13 +27990,27 @@ datadog\_api\_client.v2.model.observability\_pipeline\_parse\_grok\_processor mo
2799027990
:members:
2799127991
:show-inheritance:
2799227992

27993+
datadog\_api\_client.v2.model.observability\_pipeline\_parse\_grok\_processor\_include\_rule module
27994+
---------------------------------------------------------------------------------------------------
27995+
27996+
.. automodule:: datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_include_rule
27997+
:members:
27998+
:show-inheritance:
27999+
2799328000
datadog\_api\_client.v2.model.observability\_pipeline\_parse\_grok\_processor\_rule module
2799428001
------------------------------------------------------------------------------------------
2799528002

2799628003
.. automodule:: datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_rule
2799728004
:members:
2799828005
:show-inheritance:
2799928006

28007+
datadog\_api\_client.v2.model.observability\_pipeline\_parse\_grok\_processor\_rule\_item module
28008+
------------------------------------------------------------------------------------------------
28009+
28010+
.. automodule:: datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_rule_item
28011+
:members:
28012+
:show-inheritance:
28013+
2800028014
datadog\_api\_client.v2.model.observability\_pipeline\_parse\_grok\_processor\_rule\_match\_rule module
2800128015
-------------------------------------------------------------------------------------------------------
2800228016

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
"""
2+
Validate an observability pipeline with parse grok processor source rules returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.observability_pipelines_api import ObservabilityPipelinesApi
7+
from datadog_api_client.v2.model.observability_pipeline_config import ObservabilityPipelineConfig
8+
from datadog_api_client.v2.model.observability_pipeline_config_processor_group import (
9+
ObservabilityPipelineConfigProcessorGroup,
10+
)
11+
from datadog_api_client.v2.model.observability_pipeline_data_attributes import ObservabilityPipelineDataAttributes
12+
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import (
13+
ObservabilityPipelineDatadogAgentSource,
14+
)
15+
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source_type import (
16+
ObservabilityPipelineDatadogAgentSourceType,
17+
)
18+
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import (
19+
ObservabilityPipelineDatadogLogsDestination,
20+
)
21+
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination_type import (
22+
ObservabilityPipelineDatadogLogsDestinationType,
23+
)
24+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor import (
25+
ObservabilityPipelineParseGrokProcessor,
26+
)
27+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_rule import (
28+
ObservabilityPipelineParseGrokProcessorRule,
29+
)
30+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_rule_match_rule import (
31+
ObservabilityPipelineParseGrokProcessorRuleMatchRule,
32+
)
33+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_type import (
34+
ObservabilityPipelineParseGrokProcessorType,
35+
)
36+
from datadog_api_client.v2.model.observability_pipeline_spec import ObservabilityPipelineSpec
37+
from datadog_api_client.v2.model.observability_pipeline_spec_data import ObservabilityPipelineSpecData
38+
39+
body = ObservabilityPipelineSpec(
40+
data=ObservabilityPipelineSpecData(
41+
attributes=ObservabilityPipelineDataAttributes(
42+
config=ObservabilityPipelineConfig(
43+
destinations=[
44+
ObservabilityPipelineDatadogLogsDestination(
45+
id="datadog-logs-destination",
46+
inputs=[
47+
"my-processor-group",
48+
],
49+
type=ObservabilityPipelineDatadogLogsDestinationType.DATADOG_LOGS,
50+
),
51+
],
52+
processor_groups=[
53+
ObservabilityPipelineConfigProcessorGroup(
54+
enabled=True,
55+
id="my-processor-group",
56+
include="service:my-service",
57+
inputs=[
58+
"datadog-agent-source",
59+
],
60+
processors=[
61+
ObservabilityPipelineParseGrokProcessor(
62+
enabled=True,
63+
id="parse-grok-processor",
64+
include="*",
65+
type=ObservabilityPipelineParseGrokProcessorType.PARSE_GROK,
66+
rules=[
67+
ObservabilityPipelineParseGrokProcessorRule(
68+
source="message",
69+
match_rules=[
70+
ObservabilityPipelineParseGrokProcessorRuleMatchRule(
71+
name="MyParsingRule",
72+
rule="%{word:user}",
73+
),
74+
],
75+
),
76+
],
77+
),
78+
],
79+
),
80+
],
81+
sources=[
82+
ObservabilityPipelineDatadogAgentSource(
83+
id="datadog-agent-source",
84+
type=ObservabilityPipelineDatadogAgentSourceType.DATADOG_AGENT,
85+
),
86+
],
87+
),
88+
name="Pipeline with Parse Grok Source Rules",
89+
),
90+
type="pipelines",
91+
),
92+
)
93+
94+
configuration = Configuration()
95+
with ApiClient(configuration) as api_client:
96+
api_instance = ObservabilityPipelinesApi(api_client)
97+
response = api_instance.validate_pipeline(body=body)
98+
99+
print(response)
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
"""
2+
Validate an observability pipeline with parse grok processor include rules returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.observability_pipelines_api import ObservabilityPipelinesApi
7+
from datadog_api_client.v2.model.observability_pipeline_config import ObservabilityPipelineConfig
8+
from datadog_api_client.v2.model.observability_pipeline_config_processor_group import (
9+
ObservabilityPipelineConfigProcessorGroup,
10+
)
11+
from datadog_api_client.v2.model.observability_pipeline_data_attributes import ObservabilityPipelineDataAttributes
12+
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import (
13+
ObservabilityPipelineDatadogAgentSource,
14+
)
15+
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source_type import (
16+
ObservabilityPipelineDatadogAgentSourceType,
17+
)
18+
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import (
19+
ObservabilityPipelineDatadogLogsDestination,
20+
)
21+
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination_type import (
22+
ObservabilityPipelineDatadogLogsDestinationType,
23+
)
24+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor import (
25+
ObservabilityPipelineParseGrokProcessor,
26+
)
27+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_include_rule import (
28+
ObservabilityPipelineParseGrokProcessorIncludeRule,
29+
)
30+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_rule_match_rule import (
31+
ObservabilityPipelineParseGrokProcessorRuleMatchRule,
32+
)
33+
from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor_type import (
34+
ObservabilityPipelineParseGrokProcessorType,
35+
)
36+
from datadog_api_client.v2.model.observability_pipeline_spec import ObservabilityPipelineSpec
37+
from datadog_api_client.v2.model.observability_pipeline_spec_data import ObservabilityPipelineSpecData
38+
39+
body = ObservabilityPipelineSpec(
40+
data=ObservabilityPipelineSpecData(
41+
attributes=ObservabilityPipelineDataAttributes(
42+
config=ObservabilityPipelineConfig(
43+
destinations=[
44+
ObservabilityPipelineDatadogLogsDestination(
45+
id="datadog-logs-destination",
46+
inputs=[
47+
"my-processor-group",
48+
],
49+
type=ObservabilityPipelineDatadogLogsDestinationType.DATADOG_LOGS,
50+
),
51+
],
52+
processor_groups=[
53+
ObservabilityPipelineConfigProcessorGroup(
54+
enabled=True,
55+
id="my-processor-group",
56+
include="service:my-service",
57+
inputs=[
58+
"datadog-agent-source",
59+
],
60+
processors=[
61+
ObservabilityPipelineParseGrokProcessor(
62+
enabled=True,
63+
id="parse-grok-processor",
64+
include="*",
65+
type=ObservabilityPipelineParseGrokProcessorType.PARSE_GROK,
66+
field="content",
67+
rules=[
68+
ObservabilityPipelineParseGrokProcessorIncludeRule(
69+
include="service:foo",
70+
match_rules=[
71+
ObservabilityPipelineParseGrokProcessorRuleMatchRule(
72+
name="MyParsingRule",
73+
rule="%{word:user}",
74+
),
75+
],
76+
),
77+
],
78+
),
79+
],
80+
),
81+
],
82+
sources=[
83+
ObservabilityPipelineDatadogAgentSource(
84+
id="datadog-agent-source",
85+
type=ObservabilityPipelineDatadogAgentSourceType.DATADOG_AGENT,
86+
),
87+
],
88+
),
89+
name="Pipeline with Parse Grok Include Rules",
90+
),
91+
type="pipelines",
92+
),
93+
)
94+
95+
configuration = Configuration()
96+
with ApiClient(configuration) as api_client:
97+
api_instance = ObservabilityPipelinesApi(api_client)
98+
response = api_instance.validate_pipeline(body=body)
99+
100+
print(response)

src/datadog_api_client/v2/model/observability_pipeline_config_processor_item.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ def __init__(self, **kwargs):
7575
:param disable_library_rules: If set to `true`, disables the default Grok rules provided by Datadog.
7676
:type disable_library_rules: bool, optional
7777
78-
:param rules: The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied.
79-
:type rules: [ObservabilityPipelineParseGrokProcessorRule]
78+
:param field: The log field to parse with the Grok rules.
79+
:type field: str, optional
8080
81-
:param field: The name of the log field that contains a JSON string.
82-
:type field: str
81+
:param rules: The list of Grok parsing rules selected by either source field or include query.
82+
:type rules: [ObservabilityPipelineParseGrokProcessorRuleItem]
8383
8484
:param always_use_text_key: Whether to always use a text key for element content.
8585
:type always_use_text_key: bool, optional

0 commit comments

Comments
 (0)