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
44 changes: 44 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72524,6 +72524,7 @@ components:
- $ref: "#/components/schemas/ObservabilityPipelineSyslogNgDestination"
- $ref: "#/components/schemas/ObservabilityPipelineDatabricksZerobusDestination"
- $ref: "#/components/schemas/ObservabilityPipelineDatadogMetricsDestination"
- $ref: "#/components/schemas/ObservabilityPipelineOpentelemetryMetricsDestination"
- $ref: "#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestination"
ObservabilityPipelineConfigPipelineType:
default: logs
Expand Down Expand Up @@ -75170,6 +75171,49 @@ components:
type: string
x-enum-varnames:
- OPENSEARCH
ObservabilityPipelineOpentelemetryMetricsDestination:
description: |-
The `opentelemetry` destination forwards metrics using the OpenTelemetry Protocol (OTLP) over HTTP.

**Supported pipeline types:** metrics
properties:
buffer:
$ref: "#/components/schemas/ObservabilityPipelineBufferOptions"
http_client_uri_key:
default: DESTINATION_OTEL_HTTP_CLIENT_URI
description: Environment variable name containing the URI of the OTLP HTTP endpoint to send metrics to.
example: DESTINATION_OTEL_HTTP_CLIENT_URI
type: string
id:
description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components).
example: opentelemetry-metrics-destination
type: string
inputs:
description: A list of component IDs whose output is used as the `input` for this component.
example: ["metrics-filter-processor"]
items:
description: The ID of a component whose output is used as input for this destination.
type: string
type: array
tls:
$ref: "#/components/schemas/ObservabilityPipelineTls"
type:
$ref: "#/components/schemas/ObservabilityPipelineOpentelemetryMetricsDestinationType"
required:
- id
- type
- inputs
type: object
x-pipeline-types: [metrics]
ObservabilityPipelineOpentelemetryMetricsDestinationType:
default: opentelemetry
description: The destination type. Always `opentelemetry`.
enum:
- opentelemetry
example: opentelemetry
type: string
x-enum-varnames:
- OPENTELEMETRY
ObservabilityPipelineOpentelemetrySource:
description: |-
The `opentelemetry` source receives telemetry data using the OpenTelemetry Protocol (OTLP) over gRPC and HTTP.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@
from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import (
ObservabilityPipelineDatadogMetricsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_metrics_destination import (
ObservabilityPipelineOpentelemetryMetricsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination import (
ObservabilityPipelineSplunkHecMetricsDestination,
)
Expand Down Expand Up @@ -208,6 +211,7 @@ def __init__(
ObservabilityPipelineSyslogNgDestination,
ObservabilityPipelineDatabricksZerobusDestination,
ObservabilityPipelineDatadogMetricsDestination,
ObservabilityPipelineOpentelemetryMetricsDestination,
ObservabilityPipelineSplunkHecMetricsDestination,
]
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,9 @@ def __init__(self, **kwargs):
:param unity_catalog_endpoint_key: Name of the environment variable or the secret identifier that references your Databricks workspace URL, which is used to communicate with the Unity Catalog API.
:type unity_catalog_endpoint_key: str, optional

:param http_client_uri_key: Environment variable name containing the URI of the OTLP HTTP endpoint to send metrics to.
:type http_client_uri_key: str, optional

:param default_namespace: Optional default namespace for metrics sent to Splunk HEC.
:type default_namespace: str, optional

Expand Down Expand Up @@ -353,6 +356,9 @@ def _composed_schemas(_):
from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import (
ObservabilityPipelineDatadogMetricsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_metrics_destination import (
ObservabilityPipelineOpentelemetryMetricsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination import (
ObservabilityPipelineSplunkHecMetricsDestination,
)
Expand Down Expand Up @@ -385,6 +391,7 @@ def _composed_schemas(_):
ObservabilityPipelineSyslogNgDestination,
ObservabilityPipelineDatabricksZerobusDestination,
ObservabilityPipelineDatadogMetricsDestination,
ObservabilityPipelineOpentelemetryMetricsDestination,
ObservabilityPipelineSplunkHecMetricsDestination,
],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# 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 typing import List, Union, TYPE_CHECKING

from datadog_api_client.model_utils import (
ModelNormal,
cached_property,
unset,
UnsetType,
)


if TYPE_CHECKING:
from datadog_api_client.v2.model.observability_pipeline_buffer_options import ObservabilityPipelineBufferOptions
from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_metrics_destination_type import (
ObservabilityPipelineOpentelemetryMetricsDestinationType,
)
from datadog_api_client.v2.model.observability_pipeline_disk_buffer_options import (
ObservabilityPipelineDiskBufferOptions,
)
from datadog_api_client.v2.model.observability_pipeline_memory_buffer_options import (
ObservabilityPipelineMemoryBufferOptions,
)
from datadog_api_client.v2.model.observability_pipeline_memory_buffer_size_options import (
ObservabilityPipelineMemoryBufferSizeOptions,
)


class ObservabilityPipelineOpentelemetryMetricsDestination(ModelNormal):
@cached_property
def openapi_types(_):
from datadog_api_client.v2.model.observability_pipeline_buffer_options import ObservabilityPipelineBufferOptions
from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_metrics_destination_type import (
ObservabilityPipelineOpentelemetryMetricsDestinationType,
)

return {
"buffer": (ObservabilityPipelineBufferOptions,),
"http_client_uri_key": (str,),
"id": (str,),
"inputs": ([str],),
"tls": (ObservabilityPipelineTls,),
"type": (ObservabilityPipelineOpentelemetryMetricsDestinationType,),
}

attribute_map = {
"buffer": "buffer",
"http_client_uri_key": "http_client_uri_key",
"id": "id",
"inputs": "inputs",
"tls": "tls",
"type": "type",
}

def __init__(
self_,
id: str,
inputs: List[str],
type: ObservabilityPipelineOpentelemetryMetricsDestinationType,
buffer: Union[
ObservabilityPipelineBufferOptions,
ObservabilityPipelineDiskBufferOptions,
ObservabilityPipelineMemoryBufferOptions,
ObservabilityPipelineMemoryBufferSizeOptions,
UnsetType,
] = unset,
http_client_uri_key: Union[str, UnsetType] = unset,
tls: Union[ObservabilityPipelineTls, UnsetType] = unset,
**kwargs,
):
"""
The ``opentelemetry`` destination forwards metrics using the OpenTelemetry Protocol (OTLP) over HTTP.

**Supported pipeline types:** metrics

:param buffer: Configuration for buffer settings on destination components.
:type buffer: ObservabilityPipelineBufferOptions, optional

:param http_client_uri_key: Environment variable name containing the URI of the OTLP HTTP endpoint to send metrics to.
:type http_client_uri_key: str, optional

:param id: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the ``input`` to downstream components).
:type id: str

:param inputs: A list of component IDs whose output is used as the ``input`` for this component.
:type inputs: [str]

:param tls: Configuration for enabling TLS encryption between the pipeline component and external services.
:type tls: ObservabilityPipelineTls, optional

:param type: The destination type. Always ``opentelemetry``.
:type type: ObservabilityPipelineOpentelemetryMetricsDestinationType
"""
if buffer is not unset:
kwargs["buffer"] = buffer
if http_client_uri_key is not unset:
kwargs["http_client_uri_key"] = http_client_uri_key
if tls is not unset:
kwargs["tls"] = tls
super().__init__(kwargs)

self_.id = id
self_.inputs = inputs
self_.type = type
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# 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 (
ModelSimple,
cached_property,
)

from typing import ClassVar


class ObservabilityPipelineOpentelemetryMetricsDestinationType(ModelSimple):
"""
The destination type. Always `opentelemetry`.

:param value: If omitted defaults to "opentelemetry". Must be one of ["opentelemetry"].
:type value: str
"""

allowed_values = {
"opentelemetry",
}
OPENTELEMETRY: ClassVar["ObservabilityPipelineOpentelemetryMetricsDestinationType"]

@cached_property
def openapi_types(_):
return {
"value": (str,),
}


ObservabilityPipelineOpentelemetryMetricsDestinationType.OPENTELEMETRY = (
ObservabilityPipelineOpentelemetryMetricsDestinationType("opentelemetry")
)
8 changes: 8 additions & 0 deletions src/datadog_api_client/v2/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6348,6 +6348,12 @@
from datadog_api_client.v2.model.observability_pipeline_open_search_destination_type import (
ObservabilityPipelineOpenSearchDestinationType,
)
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_metrics_destination import (
ObservabilityPipelineOpentelemetryMetricsDestination,
)
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_metrics_destination_type import (
ObservabilityPipelineOpentelemetryMetricsDestinationType,
)
from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source import (
ObservabilityPipelineOpentelemetrySource,
)
Expand Down Expand Up @@ -15721,6 +15727,8 @@
"ObservabilityPipelineOpenSearchDestination",
"ObservabilityPipelineOpenSearchDestinationDataStream",
"ObservabilityPipelineOpenSearchDestinationType",
"ObservabilityPipelineOpentelemetryMetricsDestination",
"ObservabilityPipelineOpentelemetryMetricsDestinationType",
"ObservabilityPipelineOpentelemetrySource",
"ObservabilityPipelineOpentelemetrySourceType",
"ObservabilityPipelineParseGrokProcessor",
Expand Down
Loading