diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 42b12a3fb0..16759b6739 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -29098,6 +29098,7 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSource' - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSource' - $ref: '#/components/schemas/ObservabilityPipelineLogstashSource' + - $ref: '#/components/schemas/ObservabilityPipelineOpentelemetrySource' - $ref: '#/components/schemas/ObservabilityPipelineSocketSource' ObservabilityPipelineCrowdStrikeNextGenSiemDestination: description: The `crowdstrike_next_gen_siem` destination forwards logs to CrowdStrike @@ -30547,6 +30548,33 @@ components: type: string x-enum-varnames: - OPENSEARCH + ObservabilityPipelineOpentelemetrySource: + description: The `opentelemetry` source receives OpenTelemetry data through + gRPC or HTTP. + properties: + id: + description: The unique identifier for this component. Used to reference + this component in other parts of the pipeline (e.g., as input to downstream + components). + example: opentelemetry-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineOpentelemetrySourceType' + required: + - id + - type + type: object + ObservabilityPipelineOpentelemetrySourceType: + default: opentelemetry + description: The source type. The value should always be `opentelemetry`. + enum: + - opentelemetry + example: opentelemetry + type: string + x-enum-varnames: + - OPENTELEMETRY ObservabilityPipelineParseGrokProcessor: description: The `parse_grok` processor extracts structured fields from unstructured log messages using Grok patterns. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 1c4562c8ec..3d0069e6fe 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -13381,6 +13381,20 @@ datadog\_api\_client.v2.model.observability\_pipeline\_open\_search\_destination :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_opentelemetry\_source module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_opentelemetry_source + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_opentelemetry\_source\_type module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_opentelemetry_source_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_parse\_grok\_processor module ------------------------------------------------------------------------------------ diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config.py b/src/datadog_api_client/v2/model/observability_pipeline_config.py index 316bb31fd8..59375b53fe 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config.py @@ -148,6 +148,9 @@ ObservabilityPipelineHttpClientSource, ) from datadog_api_client.v2.model.observability_pipeline_logstash_source import ObservabilityPipelineLogstashSource + from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source import ( + ObservabilityPipelineOpentelemetrySource, + ) from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource @@ -219,6 +222,7 @@ def __init__( ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + ObservabilityPipelineOpentelemetrySource, ObservabilityPipelineSocketSource, ] ], diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py index b7192c22e7..b98f3bd873 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_source_item.py @@ -118,6 +118,9 @@ def _composed_schemas(_): from datadog_api_client.v2.model.observability_pipeline_logstash_source import ( ObservabilityPipelineLogstashSource, ) + from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source import ( + ObservabilityPipelineOpentelemetrySource, + ) from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource return { @@ -137,6 +140,7 @@ def _composed_schemas(_): ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + ObservabilityPipelineOpentelemetrySource, ObservabilityPipelineSocketSource, ], } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py b/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py new file mode 100644 index 0000000000..19e76e2cac --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source.py @@ -0,0 +1,67 @@ +# 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 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_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source_type import ( + ObservabilityPipelineOpentelemetrySourceType, + ) + + +class ObservabilityPipelineOpentelemetrySource(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source_type import ( + ObservabilityPipelineOpentelemetrySourceType, + ) + + return { + "id": (str,), + "tls": (ObservabilityPipelineTls,), + "type": (ObservabilityPipelineOpentelemetrySourceType,), + } + + attribute_map = { + "id": "id", + "tls": "tls", + "type": "type", + } + + def __init__( + self_, + id: str, + type: ObservabilityPipelineOpentelemetrySourceType, + tls: Union[ObservabilityPipelineTls, UnsetType] = unset, + **kwargs, + ): + """ + The ``opentelemetry`` source receives OpenTelemetry data through gRPC or HTTP. + + :param id: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). + :type id: str + + :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. + :type tls: ObservabilityPipelineTls, optional + + :param type: The source type. The value should always be ``opentelemetry``. + :type type: ObservabilityPipelineOpentelemetrySourceType + """ + if tls is not unset: + kwargs["tls"] = tls + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source_type.py b/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source_type.py new file mode 100644 index 0000000000..ec476d0dba --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_opentelemetry_source_type.py @@ -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 ObservabilityPipelineOpentelemetrySourceType(ModelSimple): + """ + The source type. The value should always be `opentelemetry`. + + :param value: If omitted defaults to "opentelemetry". Must be one of ["opentelemetry"]. + :type value: str + """ + + allowed_values = { + "opentelemetry", + } + OPENTELEMETRY: ClassVar["ObservabilityPipelineOpentelemetrySourceType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineOpentelemetrySourceType.OPENTELEMETRY = ObservabilityPipelineOpentelemetrySourceType( + "opentelemetry" +) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 2804329b11..d85f4f61f3 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2581,6 +2581,12 @@ from datadog_api_client.v2.model.observability_pipeline_open_search_destination_type import ( ObservabilityPipelineOpenSearchDestinationType, ) +from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source import ( + ObservabilityPipelineOpentelemetrySource, +) +from datadog_api_client.v2.model.observability_pipeline_opentelemetry_source_type import ( + ObservabilityPipelineOpentelemetrySourceType, +) from datadog_api_client.v2.model.observability_pipeline_parse_grok_processor import ( ObservabilityPipelineParseGrokProcessor, ) @@ -6091,6 +6097,8 @@ "ObservabilityPipelineOcsfMappingLibrary", "ObservabilityPipelineOpenSearchDestination", "ObservabilityPipelineOpenSearchDestinationType", + "ObservabilityPipelineOpentelemetrySource", + "ObservabilityPipelineOpentelemetrySourceType", "ObservabilityPipelineParseGrokProcessor", "ObservabilityPipelineParseGrokProcessorRule", "ObservabilityPipelineParseGrokProcessorRuleMatchRule",