diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index b37669c620a3..e8790871ff0c 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -67723,6 +67723,10 @@ components: The `parse_grok` processor extracts structured fields from unstructured log messages using Grok patterns. **Supported pipeline types:** logs + example: + id: "parse-grok-processor" + include: "service:my-service" + type: "parse_grok" properties: disable_library_rules: default: false @@ -67735,6 +67739,11 @@ components: description: Indicates whether the processor is enabled. example: true type: boolean + field: + default: "message" + description: The log field to parse with the Grok rules. + example: "message" + type: string id: description: A unique identifier for this processor. example: "parse-grok-processor" @@ -67744,9 +67753,9 @@ components: example: "service:my-service" type: string rules: - description: The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied. + description: The list of Grok parsing rules selected by either source field or include query. items: - $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRule" + $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleItem" type: array type: $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorType" @@ -67758,6 +67767,37 @@ components: - enabled type: object x-pipeline-types: [logs] + ObservabilityPipelineParseGrokProcessorIncludeRule: + description: |- + A Grok parsing rule selected using the `include` query. Each rule defines how to extract structured fields + from logs matching a Datadog search query. + properties: + include: + description: A Datadog search query used to determine which logs this Grok rule targets. + example: "service:my-service" + type: string + match_rules: + description: |- + A list of Grok parsing rules that define how to extract fields from matching logs. + Each rule must contain a name and a valid Grok pattern. + example: + - name: "MyParsingRule" + rule: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' + items: + $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleMatchRule" + type: array + support_rules: + description: A list of Grok helper rules that can be referenced by the parsing rules. + example: + - name: "user" + rule: "%{word:user.name}" + items: + $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleSupportRule" + type: array + required: + - include + - match_rules + type: object ObservabilityPipelineParseGrokProcessorRule: description: |- A Grok parsing rule used in the `parse_grok` processor. Each rule defines how to extract structured fields @@ -67790,6 +67830,11 @@ components: - source - match_rules type: object + ObservabilityPipelineParseGrokProcessorRuleItem: + description: A single Grok parsing rule, selected by either source field or include query. + oneOf: + - $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorRule" + - $ref: "#/components/schemas/ObservabilityPipelineParseGrokProcessorIncludeRule" ObservabilityPipelineParseGrokProcessorRuleMatchRule: description: |- Defines a Grok parsing rule, which extracts structured fields from log content using named Grok patterns. diff --git a/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-include-rules-returns-OK-res_1095681196/frozen.json b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-include-rules-returns-OK-res_1095681196/frozen.json new file mode 100644 index 000000000000..187191da2dee --- /dev/null +++ b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-include-rules-returns-OK-res_1095681196/frozen.json @@ -0,0 +1 @@ +"2026-06-29T20:01:05.978Z" diff --git a/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-include-rules-returns-OK-res_1095681196/recording.har b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-include-rules-returns-OK-res_1095681196/recording.har new file mode 100644 index 000000000000..8865059e75d8 --- /dev/null +++ b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-include-rules-returns-OK-res_1095681196/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Observability Pipelines/Validate an observability pipeline with parse grok processor include rules returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "b8062fd7f4eded7f70d16663f84d35bf", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 613, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 583, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/obs-pipelines/pipelines/validate" + }, + "response": { + "bodySize": 14, + "content": { + "mimeType": "application/vnd.api+json", + "size": 14, + "text": "{\"errors\":[]}\n" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 670, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-29T20:01:05.981Z", + "time": 87 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-source-rules-returns-OK-resp_4220453075/frozen.json b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-source-rules-returns-OK-resp_4220453075/frozen.json new file mode 100644 index 000000000000..fb641eab0f86 --- /dev/null +++ b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-source-rules-returns-OK-resp_4220453075/frozen.json @@ -0,0 +1 @@ +"2026-06-29T18:24:15.839Z" diff --git a/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-source-rules-returns-OK-resp_4220453075/recording.har b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-source-rules-returns-OK-resp_4220453075/recording.har new file mode 100644 index 000000000000..0ec7f6725a35 --- /dev/null +++ b/cassettes/v2/Observability-Pipelines_4170000189/Validate-an-observability-pipeline-with-parse-grok-processor-source-rules-returns-OK-resp_4220453075/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Observability Pipelines/Validate an observability pipeline with parse grok processor source rules returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "bca7a00b7717b67f43936397923b1e3c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 589, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 583, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/obs-pipelines/pipelines/validate" + }, + "response": { + "bodySize": 14, + "content": { + "mimeType": "application/vnd.api+json", + "size": 14, + "text": "{\"errors\":[]}\n" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 670, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-06-29T18:24:15.841Z", + "time": 168 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/observability-pipelines/ValidatePipeline_3345949653.ts b/examples/v2/observability-pipelines/ValidatePipeline_3345949653.ts new file mode 100644 index 000000000000..f743046f877d --- /dev/null +++ b/examples/v2/observability-pipelines/ValidatePipeline_3345949653.ts @@ -0,0 +1,70 @@ +/** + * Validate an observability pipeline with parse grok processor source rules returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ObservabilityPipelinesApi(configuration); + +const params: v2.ObservabilityPipelinesApiValidatePipelineRequest = { + body: { + data: { + attributes: { + config: { + destinations: [ + { + id: "datadog-logs-destination", + inputs: ["my-processor-group"], + type: "datadog_logs", + }, + ], + processorGroups: [ + { + 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", + matchRules: [ + { + name: "MyParsingRule", + rule: "%{word:user}", + }, + ], + }, + ], + }, + ], + }, + ], + sources: [ + { + id: "datadog-agent-source", + type: "datadog_agent", + }, + ], + }, + name: "Pipeline with Parse Grok Source Rules", + }, + type: "pipelines", + }, + }, +}; + +apiInstance + .validatePipeline(params) + .then((data: v2.ValidationResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/observability-pipelines/ValidatePipeline_3928499240.ts b/examples/v2/observability-pipelines/ValidatePipeline_3928499240.ts new file mode 100644 index 000000000000..3efe3718dbbf --- /dev/null +++ b/examples/v2/observability-pipelines/ValidatePipeline_3928499240.ts @@ -0,0 +1,71 @@ +/** + * Validate an observability pipeline with parse grok processor include rules returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ObservabilityPipelinesApi(configuration); + +const params: v2.ObservabilityPipelinesApiValidatePipelineRequest = { + body: { + data: { + attributes: { + config: { + destinations: [ + { + id: "datadog-logs-destination", + inputs: ["my-processor-group"], + type: "datadog_logs", + }, + ], + processorGroups: [ + { + 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", + matchRules: [ + { + name: "MyParsingRule", + rule: "%{word:user}", + }, + ], + }, + ], + }, + ], + }, + ], + sources: [ + { + id: "datadog-agent-source", + type: "datadog_agent", + }, + ], + }, + name: "Pipeline with Parse Grok Include Rules", + }, + type: "pipelines", + }, + }, +}; + +apiInstance + .validatePipeline(params) + .then((data: v2.ValidationResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/v2/observability_pipelines.feature b/features/v2/observability_pipelines.feature index e42bbd7b0335..8aa6ef361596 100644 --- a/features/v2/observability_pipelines.feature +++ b/features/v2/observability_pipelines.feature @@ -295,6 +295,22 @@ Feature: Observability Pipelines Then the response status is 200 OK And the response "errors" has length 0 + @team:DataDog/observability-pipelines + Scenario: Validate an observability pipeline with parse grok processor include rules returns "OK" response + Given new "ValidatePipeline" request + 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"}} + When the request is sent + Then the response status is 200 OK + And the response "errors" has length 0 + + @team:DataDog/observability-pipelines + Scenario: Validate an observability pipeline with parse grok processor source rules returns "OK" response + Given new "ValidatePipeline" request + 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"}} + When the request is sent + Then the response status is 200 OK + And the response "errors" has length 0 + @team:DataDog/observability-pipelines Scenario: Validate an observability pipeline with source secret key returns "OK" response Given new "ValidatePipeline" request diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index ef25414db425..338ef6bf1e96 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -5765,7 +5765,9 @@ export { ObservabilityPipelineOpenSearchDestinationType } from "./models/Observa export { ObservabilityPipelineOpentelemetrySource } from "./models/ObservabilityPipelineOpentelemetrySource"; export { ObservabilityPipelineOpentelemetrySourceType } from "./models/ObservabilityPipelineOpentelemetrySourceType"; export { ObservabilityPipelineParseGrokProcessor } from "./models/ObservabilityPipelineParseGrokProcessor"; +export { ObservabilityPipelineParseGrokProcessorIncludeRule } from "./models/ObservabilityPipelineParseGrokProcessorIncludeRule"; export { ObservabilityPipelineParseGrokProcessorRule } from "./models/ObservabilityPipelineParseGrokProcessorRule"; +export { ObservabilityPipelineParseGrokProcessorRuleItem } from "./models/ObservabilityPipelineParseGrokProcessorRuleItem"; export { ObservabilityPipelineParseGrokProcessorRuleMatchRule } from "./models/ObservabilityPipelineParseGrokProcessorRuleMatchRule"; export { ObservabilityPipelineParseGrokProcessorRuleSupportRule } from "./models/ObservabilityPipelineParseGrokProcessorRuleSupportRule"; export { ObservabilityPipelineParseGrokProcessorType } from "./models/ObservabilityPipelineParseGrokProcessorType"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index c328b925fc58..ca788cabbece 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -3073,6 +3073,7 @@ import { ObservabilityPipelineOpenSearchDestination } from "./ObservabilityPipel import { ObservabilityPipelineOpenSearchDestinationDataStream } from "./ObservabilityPipelineOpenSearchDestinationDataStream"; import { ObservabilityPipelineOpentelemetrySource } from "./ObservabilityPipelineOpentelemetrySource"; import { ObservabilityPipelineParseGrokProcessor } from "./ObservabilityPipelineParseGrokProcessor"; +import { ObservabilityPipelineParseGrokProcessorIncludeRule } from "./ObservabilityPipelineParseGrokProcessorIncludeRule"; import { ObservabilityPipelineParseGrokProcessorRule } from "./ObservabilityPipelineParseGrokProcessorRule"; import { ObservabilityPipelineParseGrokProcessorRuleMatchRule } from "./ObservabilityPipelineParseGrokProcessorRuleMatchRule"; import { ObservabilityPipelineParseGrokProcessorRuleSupportRule } from "./ObservabilityPipelineParseGrokProcessorRuleSupportRule"; @@ -11750,6 +11751,8 @@ const typeMap: { [index: string]: any } = { ObservabilityPipelineOpentelemetrySource, ObservabilityPipelineParseGrokProcessor: ObservabilityPipelineParseGrokProcessor, + ObservabilityPipelineParseGrokProcessorIncludeRule: + ObservabilityPipelineParseGrokProcessorIncludeRule, ObservabilityPipelineParseGrokProcessorRule: ObservabilityPipelineParseGrokProcessorRule, ObservabilityPipelineParseGrokProcessorRuleMatchRule: @@ -14819,6 +14822,10 @@ const oneOfMap: { [index: string]: string[] } = { "ObservabilityPipelineOcsfMappingLibrary", "ObservabilityPipelineOcsfMappingCustom", ], + ObservabilityPipelineParseGrokProcessorRuleItem: [ + "ObservabilityPipelineParseGrokProcessorRule", + "ObservabilityPipelineParseGrokProcessorIncludeRule", + ], ObservabilityPipelineSensitiveDataScannerProcessorAction: [ "ObservabilityPipelineSensitiveDataScannerProcessorActionRedact", "ObservabilityPipelineSensitiveDataScannerProcessorActionHash", diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessor.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessor.ts index 1ca86eac3a59..7631c88a040b 100644 --- a/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessor.ts +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessor.ts @@ -3,7 +3,7 @@ * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2020-Present Datadog, Inc. */ -import { ObservabilityPipelineParseGrokProcessorRule } from "./ObservabilityPipelineParseGrokProcessorRule"; +import { ObservabilityPipelineParseGrokProcessorRuleItem } from "./ObservabilityPipelineParseGrokProcessorRuleItem"; import { ObservabilityPipelineParseGrokProcessorType } from "./ObservabilityPipelineParseGrokProcessorType"; import { AttributeTypeMap } from "../../datadog-api-client-common/util"; @@ -26,6 +26,10 @@ export class ObservabilityPipelineParseGrokProcessor { * Indicates whether the processor is enabled. */ "enabled": boolean; + /** + * The log field to parse with the Grok rules. + */ + "field"?: string; /** * A unique identifier for this processor. */ @@ -35,9 +39,9 @@ export class ObservabilityPipelineParseGrokProcessor { */ "include": string; /** - * The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied. + * The list of Grok parsing rules selected by either source field or include query. */ - "rules": Array; + "rules": Array; /** * The processor type. The value should always be `parse_grok`. */ @@ -72,6 +76,10 @@ export class ObservabilityPipelineParseGrokProcessor { type: "boolean", required: true, }, + field: { + baseName: "field", + type: "string", + }, id: { baseName: "id", type: "string", @@ -84,7 +92,7 @@ export class ObservabilityPipelineParseGrokProcessor { }, rules: { baseName: "rules", - type: "Array", + type: "Array", required: true, }, type: { diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessorIncludeRule.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessorIncludeRule.ts new file mode 100644 index 000000000000..01daa65af2f8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessorIncludeRule.ts @@ -0,0 +1,74 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ObservabilityPipelineParseGrokProcessorRuleMatchRule } from "./ObservabilityPipelineParseGrokProcessorRuleMatchRule"; +import { ObservabilityPipelineParseGrokProcessorRuleSupportRule } from "./ObservabilityPipelineParseGrokProcessorRuleSupportRule"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A Grok parsing rule selected using the `include` query. Each rule defines how to extract structured fields + * from logs matching a Datadog search query. + */ +export class ObservabilityPipelineParseGrokProcessorIncludeRule { + /** + * A Datadog search query used to determine which logs this Grok rule targets. + */ + "include": string; + /** + * A list of Grok parsing rules that define how to extract fields from matching logs. + * Each rule must contain a name and a valid Grok pattern. + */ + "matchRules": Array; + /** + * A list of Grok helper rules that can be referenced by the parsing rules. + */ + "supportRules"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + include: { + baseName: "include", + type: "string", + required: true, + }, + matchRules: { + baseName: "match_rules", + type: "Array", + required: true, + }, + supportRules: { + baseName: "support_rules", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineParseGrokProcessorIncludeRule.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessorRuleItem.ts b/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessorRuleItem.ts new file mode 100644 index 000000000000..1085d3f656db --- /dev/null +++ b/packages/datadog-api-client-v2/models/ObservabilityPipelineParseGrokProcessorRuleItem.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { ObservabilityPipelineParseGrokProcessorIncludeRule } from "./ObservabilityPipelineParseGrokProcessorIncludeRule"; +import { ObservabilityPipelineParseGrokProcessorRule } from "./ObservabilityPipelineParseGrokProcessorRule"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * A single Grok parsing rule, selected by either source field or include query. + */ + +export type ObservabilityPipelineParseGrokProcessorRuleItem = + | ObservabilityPipelineParseGrokProcessorRule + | ObservabilityPipelineParseGrokProcessorIncludeRule + | UnparsedObject;