Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .generated-info
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"spec_repo_commit": "0f24b8e",
"generated": "2025-07-18 16:54:43.860"
"spec_repo_commit": "5b64e98",
"generated": "2025-07-18 21:24:34.609"
}
75 changes: 75 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25557,6 +25557,7 @@ components:
- $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessor'
- $ref: '#/components/schemas/ObservabilityPipelineReduceProcessor'
- $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessor'
- $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessor'
ObservabilityPipelineConfigSourceItem:
description: A data source for the pipeline.
oneOf:
Expand Down Expand Up @@ -25666,6 +25667,80 @@ components:
type: string
x-enum-varnames:
- DATADOG_LOGS
ObservabilityPipelineDatadogTagsProcessor:
description: The `datadog_tags` processor includes or excludes specific Datadog
tags in your logs.
properties:
action:
$ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction'
id:
description: The unique identifier for this component. Used to reference
this component in other parts of the pipeline (for example, as the `input`
to downstream components).
example: datadog-tags-processor
type: string
include:
description: A Datadog search query used to determine which logs this processor
targets.
example: service:my-service
type: string
inputs:
description: A list of component IDs whose output is used as the `input`
for this component.
example:
- datadog-agent-source
items:
type: string
type: array
keys:
description: A list of tag keys.
example:
- env
- service
- version
items:
type: string
type: array
mode:
$ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorMode'
type:
$ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorType'
required:
- id
- type
- include
- mode
- action
- keys
- inputs
type: object
ObservabilityPipelineDatadogTagsProcessorAction:
description: The action to take on tags with matching keys.
enum:
- include
- exclude
example: include
type: string
x-enum-varnames:
- INCLUDE
- EXCLUDE
ObservabilityPipelineDatadogTagsProcessorMode:
description: The processing mode.
enum:
- filter
example: filter
type: string
x-enum-varnames:
- FILTER
ObservabilityPipelineDatadogTagsProcessorType:
default: datadog_tags
description: The processor type. The value should always be `datadog_tags`.
enum:
- datadog_tags
example: datadog_tags
type: string
x-enum-varnames:
- DATADOG_TAGS
ObservabilityPipelineDecoding:
description: The decoding format used to interpret incoming logs.
enum:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ type ObservabilityPipelineConfigProcessorItem struct {
ObservabilityPipelineEnrichmentTableProcessor *ObservabilityPipelineEnrichmentTableProcessor
ObservabilityPipelineReduceProcessor *ObservabilityPipelineReduceProcessor
ObservabilityPipelineThrottleProcessor *ObservabilityPipelineThrottleProcessor
ObservabilityPipelineDatadogTagsProcessor *ObservabilityPipelineDatadogTagsProcessor

// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
UnparsedObject interface{}
Expand Down Expand Up @@ -111,6 +112,11 @@ func ObservabilityPipelineThrottleProcessorAsObservabilityPipelineConfigProcesso
return ObservabilityPipelineConfigProcessorItem{ObservabilityPipelineThrottleProcessor: v}
}

// ObservabilityPipelineDatadogTagsProcessorAsObservabilityPipelineConfigProcessorItem is a convenience function that returns ObservabilityPipelineDatadogTagsProcessor wrapped in ObservabilityPipelineConfigProcessorItem.
func ObservabilityPipelineDatadogTagsProcessorAsObservabilityPipelineConfigProcessorItem(v *ObservabilityPipelineDatadogTagsProcessor) ObservabilityPipelineConfigProcessorItem {
return ObservabilityPipelineConfigProcessorItem{ObservabilityPipelineDatadogTagsProcessor: v}
}

// UnmarshalJSON turns data into one of the pointers in the struct.
func (obj *ObservabilityPipelineConfigProcessorItem) UnmarshalJSON(data []byte) error {
var err error
Expand Down Expand Up @@ -387,6 +393,23 @@ func (obj *ObservabilityPipelineConfigProcessorItem) UnmarshalJSON(data []byte)
obj.ObservabilityPipelineThrottleProcessor = nil
}

// try to unmarshal data into ObservabilityPipelineDatadogTagsProcessor
err = datadog.Unmarshal(data, &obj.ObservabilityPipelineDatadogTagsProcessor)
if err == nil {
if obj.ObservabilityPipelineDatadogTagsProcessor != nil && obj.ObservabilityPipelineDatadogTagsProcessor.UnparsedObject == nil {
jsonObservabilityPipelineDatadogTagsProcessor, _ := datadog.Marshal(obj.ObservabilityPipelineDatadogTagsProcessor)
if string(jsonObservabilityPipelineDatadogTagsProcessor) == "{}" { // empty struct
obj.ObservabilityPipelineDatadogTagsProcessor = nil
} else {
match++
}
} else {
obj.ObservabilityPipelineDatadogTagsProcessor = nil
}
} else {
obj.ObservabilityPipelineDatadogTagsProcessor = nil
}

if match != 1 { // more than 1 match
// reset to nil
obj.ObservabilityPipelineFilterProcessor = nil
Expand All @@ -405,6 +428,7 @@ func (obj *ObservabilityPipelineConfigProcessorItem) UnmarshalJSON(data []byte)
obj.ObservabilityPipelineEnrichmentTableProcessor = nil
obj.ObservabilityPipelineReduceProcessor = nil
obj.ObservabilityPipelineThrottleProcessor = nil
obj.ObservabilityPipelineDatadogTagsProcessor = nil
return datadog.Unmarshal(data, &obj.UnparsedObject)
}
return nil // exactly one match
Expand Down Expand Up @@ -476,6 +500,10 @@ func (obj ObservabilityPipelineConfigProcessorItem) MarshalJSON() ([]byte, error
return datadog.Marshal(&obj.ObservabilityPipelineThrottleProcessor)
}

if obj.ObservabilityPipelineDatadogTagsProcessor != nil {
return datadog.Marshal(&obj.ObservabilityPipelineDatadogTagsProcessor)
}

if obj.UnparsedObject != nil {
return datadog.Marshal(obj.UnparsedObject)
}
Expand Down Expand Up @@ -548,6 +576,10 @@ func (obj *ObservabilityPipelineConfigProcessorItem) GetActualInstance() interfa
return obj.ObservabilityPipelineThrottleProcessor
}

if obj.ObservabilityPipelineDatadogTagsProcessor != nil {
return obj.ObservabilityPipelineDatadogTagsProcessor
}

// all schemas are nil
return nil
}
Loading