Skip to content
Merged
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
15 changes: 15 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39514,6 +39514,8 @@ components:

**Supported pipeline types:** logs'
properties:
cache:
$ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorCache'
display_name:
$ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName'
enabled:
Expand Down Expand Up @@ -39551,6 +39553,19 @@ components:
type: object
x-pipeline-types:
- logs
ObservabilityPipelineDedupeProcessorCache:
description: Configuration for the cache used to detect duplicates.
properties:
num_events:
description: The number of events to cache for duplicate detection.
example: 5000
format: int64
maximum: 1000000000
minimum: 1
type: integer
required:
- num_events
type: object
ObservabilityPipelineDedupeProcessorMode:
description: The deduplication mode to apply to the fields.
enum:
Expand Down
7 changes: 7 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17147,6 +17147,13 @@ datadog\_api\_client.v2.model.observability\_pipeline\_dedupe\_processor module
:members:
:show-inheritance:

datadog\_api\_client.v2.model.observability\_pipeline\_dedupe\_processor\_cache module
--------------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.observability_pipeline_dedupe_processor_cache
:members:
:show-inheritance:

datadog\_api\_client.v2.model.observability\_pipeline\_dedupe\_processor\_mode module
-------------------------------------------------------------------------------------

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
"""
Create a pipeline with dedupe processor with cache returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.observability_pipelines_api import ObservabilityPipelinesApi
from datadog_api_client.v2.model.observability_pipeline_config import ObservabilityPipelineConfig
from datadog_api_client.v2.model.observability_pipeline_config_processor_group import (
ObservabilityPipelineConfigProcessorGroup,
)
from datadog_api_client.v2.model.observability_pipeline_data_attributes import ObservabilityPipelineDataAttributes
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import (
ObservabilityPipelineDatadogAgentSource,
)
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source_type import (
ObservabilityPipelineDatadogAgentSourceType,
)
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import (
ObservabilityPipelineDatadogLogsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination_type import (
ObservabilityPipelineDatadogLogsDestinationType,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ObservabilityPipelineDedupeProcessor
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_cache import (
ObservabilityPipelineDedupeProcessorCache,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_mode import (
ObservabilityPipelineDedupeProcessorMode,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_type import (
ObservabilityPipelineDedupeProcessorType,
)
from datadog_api_client.v2.model.observability_pipeline_spec import ObservabilityPipelineSpec
from datadog_api_client.v2.model.observability_pipeline_spec_data import ObservabilityPipelineSpecData

body = ObservabilityPipelineSpec(
data=ObservabilityPipelineSpecData(
attributes=ObservabilityPipelineDataAttributes(
config=ObservabilityPipelineConfig(
destinations=[
ObservabilityPipelineDatadogLogsDestination(
id="datadog-logs-destination",
inputs=[
"my-processor-group",
],
type=ObservabilityPipelineDatadogLogsDestinationType.DATADOG_LOGS,
),
],
processor_groups=[
ObservabilityPipelineConfigProcessorGroup(
enabled=True,
id="my-processor-group",
include="service:my-service",
inputs=[
"datadog-agent-source",
],
processors=[
ObservabilityPipelineDedupeProcessor(
enabled=True,
id="dedupe-processor",
include="service:my-service",
type=ObservabilityPipelineDedupeProcessorType.DEDUPE,
fields=[
"message",
],
mode=ObservabilityPipelineDedupeProcessorMode.MATCH,
cache=ObservabilityPipelineDedupeProcessorCache(
num_events=5000,
),
),
],
),
],
sources=[
ObservabilityPipelineDatadogAgentSource(
id="datadog-agent-source",
type=ObservabilityPipelineDatadogAgentSourceType.DATADOG_AGENT,
),
],
),
name="Pipeline with Dedupe Cache",
),
type="pipelines",
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = ObservabilityPipelinesApi(api_client)
response = api_instance.create_pipeline(body=body)

print(response)
87 changes: 87 additions & 0 deletions examples/v2/observability-pipelines/CreatePipeline_581245895.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
"""
Create a pipeline with dedupe processor without cache returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.observability_pipelines_api import ObservabilityPipelinesApi
from datadog_api_client.v2.model.observability_pipeline_config import ObservabilityPipelineConfig
from datadog_api_client.v2.model.observability_pipeline_config_processor_group import (
ObservabilityPipelineConfigProcessorGroup,
)
from datadog_api_client.v2.model.observability_pipeline_data_attributes import ObservabilityPipelineDataAttributes
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import (
ObservabilityPipelineDatadogAgentSource,
)
from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source_type import (
ObservabilityPipelineDatadogAgentSourceType,
)
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination import (
ObservabilityPipelineDatadogLogsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_datadog_logs_destination_type import (
ObservabilityPipelineDatadogLogsDestinationType,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ObservabilityPipelineDedupeProcessor
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_mode import (
ObservabilityPipelineDedupeProcessorMode,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_type import (
ObservabilityPipelineDedupeProcessorType,
)
from datadog_api_client.v2.model.observability_pipeline_spec import ObservabilityPipelineSpec
from datadog_api_client.v2.model.observability_pipeline_spec_data import ObservabilityPipelineSpecData

body = ObservabilityPipelineSpec(
data=ObservabilityPipelineSpecData(
attributes=ObservabilityPipelineDataAttributes(
config=ObservabilityPipelineConfig(
destinations=[
ObservabilityPipelineDatadogLogsDestination(
id="datadog-logs-destination",
inputs=[
"my-processor-group",
],
type=ObservabilityPipelineDatadogLogsDestinationType.DATADOG_LOGS,
),
],
processor_groups=[
ObservabilityPipelineConfigProcessorGroup(
enabled=True,
id="my-processor-group",
include="service:my-service",
inputs=[
"datadog-agent-source",
],
processors=[
ObservabilityPipelineDedupeProcessor(
enabled=True,
id="dedupe-processor",
include="service:my-service",
type=ObservabilityPipelineDedupeProcessorType.DEDUPE,
fields=[
"message",
],
mode=ObservabilityPipelineDedupeProcessorMode.MATCH,
),
],
),
],
sources=[
ObservabilityPipelineDatadogAgentSource(
id="datadog-agent-source",
type=ObservabilityPipelineDatadogAgentSourceType.DATADOG_AGENT,
),
],
),
name="Pipeline with Dedupe No Cache",
),
type="pipelines",
),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = ObservabilityPipelinesApi(api_client)
response = api_instance.create_pipeline(body=body)

print(response)
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ def __init__(self, **kwargs):
:param mode: The processing mode.
:type mode: ObservabilityPipelineDatadogTagsProcessorMode

:param cache: Configuration for the cache used to detect duplicates.
:type cache: ObservabilityPipelineDedupeProcessorCache, optional

:param file: Defines a static enrichment table loaded from a CSV file.
:type file: ObservabilityPipelineEnrichmentTableFile, optional

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@


if TYPE_CHECKING:
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_cache import (
ObservabilityPipelineDedupeProcessorCache,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_mode import (
ObservabilityPipelineDedupeProcessorMode,
)
Expand All @@ -25,6 +28,9 @@
class ObservabilityPipelineDedupeProcessor(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_cache import (
ObservabilityPipelineDedupeProcessorCache,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_mode import (
ObservabilityPipelineDedupeProcessorMode,
)
Expand All @@ -33,6 +39,7 @@ def openapi_types(_):
)

return {
"cache": (ObservabilityPipelineDedupeProcessorCache,),
"display_name": (str,),
"enabled": (bool,),
"fields": ([str],),
Expand All @@ -43,6 +50,7 @@ def openapi_types(_):
}

attribute_map = {
"cache": "cache",
"display_name": "display_name",
"enabled": "enabled",
"fields": "fields",
Expand All @@ -60,6 +68,7 @@ def __init__(
include: str,
mode: ObservabilityPipelineDedupeProcessorMode,
type: ObservabilityPipelineDedupeProcessorType,
cache: Union[ObservabilityPipelineDedupeProcessorCache, UnsetType] = unset,
display_name: Union[str, UnsetType] = unset,
**kwargs,
):
Expand All @@ -68,6 +77,9 @@ def __init__(

**Supported pipeline types:** logs

:param cache: Configuration for the cache used to detect duplicates.
:type cache: ObservabilityPipelineDedupeProcessorCache, optional

:param display_name: The display name for a component.
:type display_name: str, optional

Expand All @@ -89,6 +101,8 @@ def __init__(
:param type: The processor type. The value should always be ``dedupe``.
:type type: ObservabilityPipelineDedupeProcessorType
"""
if cache is not unset:
kwargs["cache"] = cache
if display_name is not unset:
kwargs["display_name"] = display_name
super().__init__(kwargs)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 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 2019-Present Datadog, Inc.
from __future__ import annotations


from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
)


class ObservabilityPipelineDedupeProcessorCache(ModelNormal):
validations = {
"num_events": {
"inclusive_maximum": 1000000000,
"inclusive_minimum": 1,
},
}

@cached_property
def openapi_types(_):
return {
"num_events": (int,),
}

attribute_map = {
"num_events": "num_events",
}

def __init__(self_, num_events: int, **kwargs):
"""
Configuration for the cache used to detect duplicates.

:param num_events: The number of events to cache for duplicate detection.
:type num_events: int
"""
super().__init__(kwargs)

self_.num_events = num_events
4 changes: 4 additions & 0 deletions src/datadog_api_client/v2/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3296,6 +3296,9 @@
)
from datadog_api_client.v2.model.observability_pipeline_decoding import ObservabilityPipelineDecoding
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor import ObservabilityPipelineDedupeProcessor
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_cache import (
ObservabilityPipelineDedupeProcessorCache,
)
from datadog_api_client.v2.model.observability_pipeline_dedupe_processor_mode import (
ObservabilityPipelineDedupeProcessorMode,
)
Expand Down Expand Up @@ -8464,6 +8467,7 @@
"ObservabilityPipelineDatadogTagsProcessorType",
"ObservabilityPipelineDecoding",
"ObservabilityPipelineDedupeProcessor",
"ObservabilityPipelineDedupeProcessorCache",
"ObservabilityPipelineDedupeProcessorMode",
"ObservabilityPipelineDedupeProcessorType",
"ObservabilityPipelineDiskBufferOptions",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2026-02-09T09:53:31.840Z
Loading