From 33587101f7b22401ab38a466aab0146300e23abf Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Tue, 24 Jun 2025 13:23:01 +0000 Subject: [PATCH] Regenerate client from commit a11e9377 of spec repo --- .apigentools-info | 8 +- .generator/schemas/v2/openapi.yaml | 274 ++++++++++++++++++ docs/datadog_api_client.v2.model.rst | 175 +++++++++++ .../v2/model/observability_pipeline_config.py | 6 + ...bility_pipeline_config_destination_item.py | 10 + ...servability_pipeline_config_source_item.py | 5 + ...servability_pipeline_socket_destination.py | 127 ++++++++ ...ty_pipeline_socket_destination_encoding.py | 40 +++ ...ity_pipeline_socket_destination_framing.py | 51 ++++ ...peline_socket_destination_framing_bytes.py | 44 +++ ...socket_destination_framing_bytes_method.py | 37 +++ ...destination_framing_character_delimited.py | 59 ++++ ...tion_framing_character_delimited_method.py | 37 +++ ...t_destination_framing_newline_delimited.py | 44 +++ ...nation_framing_newline_delimited_method.py | 37 +++ ...bility_pipeline_socket_destination_mode.py | 38 +++ ...bility_pipeline_socket_destination_type.py | 35 +++ .../observability_pipeline_socket_source.py | 115 ++++++++ ...vability_pipeline_socket_source_framing.py | 59 ++++ ...ty_pipeline_socket_source_framing_bytes.py | 44 +++ ...line_socket_source_framing_bytes_method.py | 35 +++ ...cket_source_framing_character_delimited.py | 59 ++++ ...urce_framing_character_delimited_method.py | 37 +++ ...line_socket_source_framing_chunked_gelf.py | 44 +++ ...cket_source_framing_chunked_gelf_method.py | 37 +++ ...socket_source_framing_newline_delimited.py | 44 +++ ...source_framing_newline_delimited_method.py | 37 +++ ...ne_socket_source_framing_octet_counting.py | 44 +++ ...et_source_framing_octet_counting_method.py | 37 +++ ...servability_pipeline_socket_source_mode.py | 38 +++ ...servability_pipeline_socket_source_type.py | 35 +++ src/datadog_api_client/v2/models/__init__.py | 92 ++++++ 32 files changed, 1780 insertions(+), 4 deletions(-) create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_encoding.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_mode.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_destination_type.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting_method.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_mode.py create mode 100644 src/datadog_api_client/v2/model/observability_pipeline_socket_source_type.py diff --git a/.apigentools-info b/.apigentools-info index af060411d1..fd8811ddc3 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2025-06-23 20:34:47.832678", - "spec_repo_commit": "837c2656" + "regenerated": "2025-06-24 13:22:20.421138", + "spec_repo_commit": "a11e9377" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2025-06-23 20:34:47.969661", - "spec_repo_commit": "837c2656" + "regenerated": "2025-06-24 13:22:20.436031", + "spec_repo_commit": "a11e9377" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 115918b18d..8de42f67bd 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -24267,6 +24267,7 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestination' - $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestination' - $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestination' + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestination' ObservabilityPipelineConfigProcessorItem: description: A processor for the pipeline. oneOf: @@ -24304,6 +24305,7 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSource' - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSource' - $ref: '#/components/schemas/ObservabilityPipelineLogstashSource' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSource' ObservabilityPipelineData: description: "Contains the pipeline\u2019s ID, type, and configuration attributes." properties: @@ -26587,6 +26589,278 @@ components: type: string x-enum-varnames: - SENTINEL_ONE + ObservabilityPipelineSocketDestination: + description: 'The `socket` destination sends logs over TCP or UDP to a remote + server. + + ' + properties: + encoding: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationEncoding' + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFraming' + id: + description: The unique identifier for this component. + example: socket-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` + for this component. + example: + - filter-processor + items: + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + description: TLS configuration. Relevant only when `mode` is `tcp`. + type: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationType' + required: + - id + - type + - inputs + - encoding + - framing + - mode + type: object + ObservabilityPipelineSocketDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineSocketDestinationFraming: + description: Framing method configuration. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimited' + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingBytes' + - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimited' + ObservabilityPipelineSocketDestinationFramingBytes: + description: Event data is not delimited at all. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingBytesMethod' + required: + - method + type: object + ObservabilityPipelineSocketDestinationFramingBytesMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingBytesMethod` + object. + enum: + - bytes + example: bytes + type: string + x-enum-varnames: + - BYTES + ObservabilityPipelineSocketDestinationFramingCharacterDelimited: + description: Each log event is separated using the specified delimiter character. + properties: + delimiter: + description: A single ASCII character used as a delimiter. + example: '|' + maxLength: 1 + minLength: 1 + type: string + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod' + required: + - method + - delimiter + type: object + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` + object. + enum: + - character_delimited + example: character_delimited + type: string + x-enum-varnames: + - CHARACTER_DELIMITED + ObservabilityPipelineSocketDestinationFramingNewlineDelimited: + description: Each log event is delimited by a newline character. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod' + required: + - method + type: object + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` + object. + enum: + - newline_delimited + example: newline_delimited + type: string + x-enum-varnames: + - NEWLINE_DELIMITED + ObservabilityPipelineSocketDestinationMode: + description: Protocol used to send logs. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineSocketDestinationType: + default: socket + description: The destination type. The value should always be `socket`. + enum: + - socket + example: socket + type: string + x-enum-varnames: + - SOCKET + ObservabilityPipelineSocketSource: + description: 'The `socket` source ingests logs over TCP or UDP. + + ' + properties: + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFraming' + 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: socket-source + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + description: TLS configuration. Relevant only when `mode` is `tcp`. + type: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceType' + required: + - id + - type + - mode + - framing + type: object + ObservabilityPipelineSocketSourceFraming: + description: Framing method configuration for the socket source. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimited' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingBytes' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimited' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCounting' + - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelf' + ObservabilityPipelineSocketSourceFramingBytes: + description: Byte frames are passed through as-is according to the underlying + I/O boundaries (for example, split between messages or stream segments). + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingBytesMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingBytesMethod: + description: Byte frames are passed through as-is according to the underlying + I/O boundaries (for example, split between messages or stream segments). + enum: + - bytes + example: bytes + type: string + x-enum-varnames: + - BYTES + ObservabilityPipelineSocketSourceFramingCharacterDelimited: + description: Byte frames which are delimited by a chosen character. + properties: + delimiter: + description: A single ASCII character used to delimit events. + example: '|' + maxLength: 1 + minLength: 1 + type: string + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod' + required: + - method + - delimiter + type: object + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod: + description: Byte frames which are delimited by a chosen character. + enum: + - character_delimited + example: character_delimited + type: string + x-enum-varnames: + - CHARACTER_DELIMITED + ObservabilityPipelineSocketSourceFramingChunkedGelf: + description: Byte frames which are chunked GELF messages. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod: + description: Byte frames which are chunked GELF messages. + enum: + - chunked_gelf + example: chunked_gelf + type: string + x-enum-varnames: + - CHUNKED_GELF + ObservabilityPipelineSocketSourceFramingNewlineDelimited: + description: Byte frames which are delimited by a newline character. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod: + description: Byte frames which are delimited by a newline character. + enum: + - newline_delimited + example: newline_delimited + type: string + x-enum-varnames: + - NEWLINE_DELIMITED + ObservabilityPipelineSocketSourceFramingOctetCounting: + description: Byte frames according to the octet counting format as per RFC6587. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCountingMethod' + required: + - method + type: object + ObservabilityPipelineSocketSourceFramingOctetCountingMethod: + description: Byte frames according to the octet counting format as per RFC6587. + enum: + - octet_counting + example: octet_counting + type: string + x-enum-varnames: + - OCTET_COUNTING + ObservabilityPipelineSocketSourceMode: + description: Protocol used to receive logs. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineSocketSourceType: + default: socket + description: The source type. The value should always be `socket`. + enum: + - socket + example: socket + type: string + x-enum-varnames: + - SOCKET ObservabilityPipelineSpec: description: Input schema representing an observability pipeline configuration. Used in create and validate requests. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 220067a1f4..6e68320aee 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -11344,6 +11344,181 @@ datadog\_api\_client.v2.model.observability\_pipeline\_sentinel\_one\_destinatio :members: :show-inheritance: +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_encoding module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_encoding + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing\_bytes module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing\_bytes\_method module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing\_character\_delimited module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing\_character\_delimited\_method module +------------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing\_newline\_delimited module +-------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_framing\_newline\_delimited\_method module +---------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_mode module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_mode + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_destination\_type module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_destination_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_bytes module +-------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_bytes\_method module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_character\_delimited module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_character\_delimited\_method module +------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_chunked\_gelf module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_chunked\_gelf\_method module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_newline\_delimited module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_newline\_delimited\_method module +----------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_octet\_counting module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_framing\_octet\_counting\_method module +-------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting_method + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_mode module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_mode + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.observability\_pipeline\_socket\_source\_type module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.observability_pipeline_socket_source_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.observability\_pipeline\_spec 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 31d48480c4..e17d88c5c3 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config.py @@ -64,6 +64,9 @@ from datadog_api_client.v2.model.observability_pipeline_amazon_open_search_destination import ( ObservabilityPipelineAmazonOpenSearchDestination, ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination import ( + ObservabilityPipelineSocketDestination, + ) from datadog_api_client.v2.model.observability_pipeline_filter_processor import ObservabilityPipelineFilterProcessor from datadog_api_client.v2.model.observability_pipeline_parse_json_processor import ( ObservabilityPipelineParseJSONProcessor, @@ -135,6 +138,7 @@ ObservabilityPipelineHttpClientSource, ) from datadog_api_client.v2.model.observability_pipeline_logstash_source import ObservabilityPipelineLogstashSource + from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource class ObservabilityPipelineConfig(ModelNormal): @@ -182,6 +186,7 @@ def __init__( ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination, ObservabilityPipelineAmazonOpenSearchDestination, + ObservabilityPipelineSocketDestination, ] ], sources: List[ @@ -202,6 +207,7 @@ def __init__( ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + ObservabilityPipelineSocketSource, ] ], processors: Union[ diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py index 553e9fdc6c..f03f9b6eae 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py @@ -108,6 +108,12 @@ def __init__(self, **kwargs): :param log_type: The log type metadata associated with the Chronicle destination. :type log_type: str, optional + + :param framing: Framing method configuration. + :type framing: ObservabilityPipelineSocketDestinationFraming + + :param mode: Protocol used to send logs. + :type mode: ObservabilityPipelineSocketDestinationMode """ super().__init__(kwargs) @@ -161,6 +167,9 @@ def _composed_schemas(_): from datadog_api_client.v2.model.observability_pipeline_amazon_open_search_destination import ( ObservabilityPipelineAmazonOpenSearchDestination, ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination import ( + ObservabilityPipelineSocketDestination, + ) return { "oneOf": [ @@ -179,5 +188,6 @@ def _composed_schemas(_): ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination, ObservabilityPipelineAmazonOpenSearchDestination, + ObservabilityPipelineSocketDestination, ], } 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 396b6f6a4d..b7192c22e7 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 @@ -64,6 +64,9 @@ def __init__(self, **kwargs): :param scrape_timeout_secs: The timeout (in seconds) for each scrape request. :type scrape_timeout_secs: int, optional + + :param framing: Framing method configuration for the socket source. + :type framing: ObservabilityPipelineSocketSourceFraming """ super().__init__(kwargs) @@ -115,6 +118,7 @@ def _composed_schemas(_): from datadog_api_client.v2.model.observability_pipeline_logstash_source import ( ObservabilityPipelineLogstashSource, ) + from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource return { "oneOf": [ @@ -133,5 +137,6 @@ def _composed_schemas(_): ObservabilityPipelineGooglePubSubSource, ObservabilityPipelineHttpClientSource, ObservabilityPipelineLogstashSource, + ObservabilityPipelineSocketSource, ], } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py new file mode 100644 index 0000000000..8ff0d447f2 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination.py @@ -0,0 +1,127 @@ +# 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_socket_destination_encoding import ( + ObservabilityPipelineSocketDestinationEncoding, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing import ( + ObservabilityPipelineSocketDestinationFraming, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_mode import ( + ObservabilityPipelineSocketDestinationMode, + ) + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_socket_destination_type import ( + ObservabilityPipelineSocketDestinationType, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited import ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes import ( + ObservabilityPipelineSocketDestinationFramingBytes, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited import ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimited, + ) + + +class ObservabilityPipelineSocketDestination(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_destination_encoding import ( + ObservabilityPipelineSocketDestinationEncoding, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing import ( + ObservabilityPipelineSocketDestinationFraming, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_mode import ( + ObservabilityPipelineSocketDestinationMode, + ) + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_socket_destination_type import ( + ObservabilityPipelineSocketDestinationType, + ) + + return { + "encoding": (ObservabilityPipelineSocketDestinationEncoding,), + "framing": (ObservabilityPipelineSocketDestinationFraming,), + "id": (str,), + "inputs": ([str],), + "mode": (ObservabilityPipelineSocketDestinationMode,), + "tls": (ObservabilityPipelineTls,), + "type": (ObservabilityPipelineSocketDestinationType,), + } + + attribute_map = { + "encoding": "encoding", + "framing": "framing", + "id": "id", + "inputs": "inputs", + "mode": "mode", + "tls": "tls", + "type": "type", + } + + def __init__( + self_, + encoding: ObservabilityPipelineSocketDestinationEncoding, + framing: Union[ + ObservabilityPipelineSocketDestinationFraming, + ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + ObservabilityPipelineSocketDestinationFramingBytes, + ObservabilityPipelineSocketDestinationFramingCharacterDelimited, + ], + id: str, + inputs: List[str], + mode: ObservabilityPipelineSocketDestinationMode, + type: ObservabilityPipelineSocketDestinationType, + tls: Union[ObservabilityPipelineTls, UnsetType] = unset, + **kwargs, + ): + """ + The ``socket`` destination sends logs over TCP or UDP to a remote server. + + :param encoding: Encoding format for log events. + :type encoding: ObservabilityPipelineSocketDestinationEncoding + + :param framing: Framing method configuration. + :type framing: ObservabilityPipelineSocketDestinationFraming + + :param id: The unique identifier for this component. + :type id: str + + :param inputs: A list of component IDs whose output is used as the ``input`` for this component. + :type inputs: [str] + + :param mode: Protocol used to send logs. + :type mode: ObservabilityPipelineSocketDestinationMode + + :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. + :type tls: ObservabilityPipelineTls, optional + + :param type: The destination type. The value should always be ``socket``. + :type type: ObservabilityPipelineSocketDestinationType + """ + if tls is not unset: + kwargs["tls"] = tls + super().__init__(kwargs) + + self_.encoding = encoding + self_.framing = framing + self_.id = id + self_.inputs = inputs + self_.mode = mode + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_encoding.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_encoding.py new file mode 100644 index 0000000000..e4b5be5a0a --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_encoding.py @@ -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 ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class ObservabilityPipelineSocketDestinationEncoding(ModelSimple): + """ + Encoding format for log events. + + :param value: Must be one of ["json", "raw_message"]. + :type value: str + """ + + allowed_values = { + "json", + "raw_message", + } + JSON: ClassVar["ObservabilityPipelineSocketDestinationEncoding"] + RAW_MESSAGE: ClassVar["ObservabilityPipelineSocketDestinationEncoding"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketDestinationEncoding.JSON = ObservabilityPipelineSocketDestinationEncoding("json") +ObservabilityPipelineSocketDestinationEncoding.RAW_MESSAGE = ObservabilityPipelineSocketDestinationEncoding( + "raw_message" +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing.py new file mode 100644 index 0000000000..858e087908 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing.py @@ -0,0 +1,51 @@ +# 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 ( + ModelComposed, + cached_property, +) + + +class ObservabilityPipelineSocketDestinationFraming(ModelComposed): + def __init__(self, **kwargs): + """ + Framing method configuration. + + :param method: The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` object. + :type method: ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + + :param delimiter: A single ASCII character used as a delimiter. + :type delimiter: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited import ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes import ( + ObservabilityPipelineSocketDestinationFramingBytes, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited import ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimited, + ) + + return { + "oneOf": [ + ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + ObservabilityPipelineSocketDestinationFramingBytes, + ObservabilityPipelineSocketDestinationFramingCharacterDelimited, + ], + } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes.py new file mode 100644 index 0000000000..4770570d3e --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes_method import ( + ObservabilityPipelineSocketDestinationFramingBytesMethod, + ) + + +class ObservabilityPipelineSocketDestinationFramingBytes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes_method import ( + ObservabilityPipelineSocketDestinationFramingBytesMethod, + ) + + return { + "method": (ObservabilityPipelineSocketDestinationFramingBytesMethod,), + } + + attribute_map = { + "method": "method", + } + + def __init__(self_, method: ObservabilityPipelineSocketDestinationFramingBytesMethod, **kwargs): + """ + Event data is not delimited at all. + + :param method: The definition of ``ObservabilityPipelineSocketDestinationFramingBytesMethod`` object. + :type method: ObservabilityPipelineSocketDestinationFramingBytesMethod + """ + super().__init__(kwargs) + + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes_method.py new file mode 100644 index 0000000000..d090c1b07e --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_bytes_method.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 ObservabilityPipelineSocketDestinationFramingBytesMethod(ModelSimple): + """ + The definition of `ObservabilityPipelineSocketDestinationFramingBytesMethod` object. + + :param value: If omitted defaults to "bytes". Must be one of ["bytes"]. + :type value: str + """ + + allowed_values = { + "bytes", + } + BYTES: ClassVar["ObservabilityPipelineSocketDestinationFramingBytesMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketDestinationFramingBytesMethod.BYTES = ( + ObservabilityPipelineSocketDestinationFramingBytesMethod("bytes") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited.py new file mode 100644 index 0000000000..f5da5a91e5 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited.py @@ -0,0 +1,59 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited_method import ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod, + ) + + +class ObservabilityPipelineSocketDestinationFramingCharacterDelimited(ModelNormal): + validations = { + "delimiter": { + "max_length": 1, + "min_length": 1, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited_method import ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod, + ) + + return { + "delimiter": (str,), + "method": (ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod,), + } + + attribute_map = { + "delimiter": "delimiter", + "method": "method", + } + + def __init__( + self_, delimiter: str, method: ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod, **kwargs + ): + """ + Each log event is separated using the specified delimiter character. + + :param delimiter: A single ASCII character used as a delimiter. + :type delimiter: str + + :param method: The definition of ``ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod`` object. + :type method: ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod + """ + super().__init__(kwargs) + + self_.delimiter = delimiter + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited_method.py new file mode 100644 index 0000000000..1621a9a152 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_character_delimited_method.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 ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod(ModelSimple): + """ + The definition of `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` object. + + :param value: If omitted defaults to "character_delimited". Must be one of ["character_delimited"]. + :type value: str + """ + + allowed_values = { + "character_delimited", + } + CHARACTER_DELIMITED: ClassVar["ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.CHARACTER_DELIMITED = ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod("character_delimited") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited.py new file mode 100644 index 0000000000..a4c304dc50 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited_method import ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod, + ) + + +class ObservabilityPipelineSocketDestinationFramingNewlineDelimited(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited_method import ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod, + ) + + return { + "method": (ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod,), + } + + attribute_map = { + "method": "method", + } + + def __init__(self_, method: ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod, **kwargs): + """ + Each log event is delimited by a newline character. + + :param method: The definition of ``ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod`` object. + :type method: ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod + """ + super().__init__(kwargs) + + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited_method.py new file mode 100644 index 0000000000..a5e4f0695e --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_framing_newline_delimited_method.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 ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod(ModelSimple): + """ + The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` object. + + :param value: If omitted defaults to "newline_delimited". Must be one of ["newline_delimited"]. + :type value: str + """ + + allowed_values = { + "newline_delimited", + } + NEWLINE_DELIMITED: ClassVar["ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.NEWLINE_DELIMITED = ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod("newline_delimited") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_mode.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_mode.py new file mode 100644 index 0000000000..ce8b74cb0f --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_mode.py @@ -0,0 +1,38 @@ +# 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 ObservabilityPipelineSocketDestinationMode(ModelSimple): + """ + Protocol used to send logs. + + :param value: Must be one of ["tcp", "udp"]. + :type value: str + """ + + allowed_values = { + "tcp", + "udp", + } + TCP: ClassVar["ObservabilityPipelineSocketDestinationMode"] + UDP: ClassVar["ObservabilityPipelineSocketDestinationMode"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketDestinationMode.TCP = ObservabilityPipelineSocketDestinationMode("tcp") +ObservabilityPipelineSocketDestinationMode.UDP = ObservabilityPipelineSocketDestinationMode("udp") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_type.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_type.py new file mode 100644 index 0000000000..2465957e69 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_destination_type.py @@ -0,0 +1,35 @@ +# 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 ObservabilityPipelineSocketDestinationType(ModelSimple): + """ + The destination type. The value should always be `socket`. + + :param value: If omitted defaults to "socket". Must be one of ["socket"]. + :type value: str + """ + + allowed_values = { + "socket", + } + SOCKET: ClassVar["ObservabilityPipelineSocketDestinationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketDestinationType.SOCKET = ObservabilityPipelineSocketDestinationType("socket") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py new file mode 100644 index 0000000000..23d1794735 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source.py @@ -0,0 +1,115 @@ +# 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_socket_source_framing import ( + ObservabilityPipelineSocketSourceFraming, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_mode import ( + ObservabilityPipelineSocketSourceMode, + ) + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_socket_source_type import ( + ObservabilityPipelineSocketSourceType, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited import ( + ObservabilityPipelineSocketSourceFramingNewlineDelimited, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes import ( + ObservabilityPipelineSocketSourceFramingBytes, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited import ( + ObservabilityPipelineSocketSourceFramingCharacterDelimited, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting import ( + ObservabilityPipelineSocketSourceFramingOctetCounting, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf import ( + ObservabilityPipelineSocketSourceFramingChunkedGelf, + ) + + +class ObservabilityPipelineSocketSource(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing import ( + ObservabilityPipelineSocketSourceFraming, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_mode import ( + ObservabilityPipelineSocketSourceMode, + ) + from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls + from datadog_api_client.v2.model.observability_pipeline_socket_source_type import ( + ObservabilityPipelineSocketSourceType, + ) + + return { + "framing": (ObservabilityPipelineSocketSourceFraming,), + "id": (str,), + "mode": (ObservabilityPipelineSocketSourceMode,), + "tls": (ObservabilityPipelineTls,), + "type": (ObservabilityPipelineSocketSourceType,), + } + + attribute_map = { + "framing": "framing", + "id": "id", + "mode": "mode", + "tls": "tls", + "type": "type", + } + + def __init__( + self_, + framing: Union[ + ObservabilityPipelineSocketSourceFraming, + ObservabilityPipelineSocketSourceFramingNewlineDelimited, + ObservabilityPipelineSocketSourceFramingBytes, + ObservabilityPipelineSocketSourceFramingCharacterDelimited, + ObservabilityPipelineSocketSourceFramingOctetCounting, + ObservabilityPipelineSocketSourceFramingChunkedGelf, + ], + id: str, + mode: ObservabilityPipelineSocketSourceMode, + type: ObservabilityPipelineSocketSourceType, + tls: Union[ObservabilityPipelineTls, UnsetType] = unset, + **kwargs, + ): + """ + The ``socket`` source ingests logs over TCP or UDP. + + :param framing: Framing method configuration for the socket source. + :type framing: ObservabilityPipelineSocketSourceFraming + + :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 mode: Protocol used to receive logs. + :type mode: ObservabilityPipelineSocketSourceMode + + :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 ``socket``. + :type type: ObservabilityPipelineSocketSourceType + """ + if tls is not unset: + kwargs["tls"] = tls + super().__init__(kwargs) + + self_.framing = framing + self_.id = id + self_.mode = mode + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing.py new file mode 100644 index 0000000000..59be49ed9b --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing.py @@ -0,0 +1,59 @@ +# 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 ( + ModelComposed, + cached_property, +) + + +class ObservabilityPipelineSocketSourceFraming(ModelComposed): + def __init__(self, **kwargs): + """ + Framing method configuration for the socket source. + + :param method: Byte frames which are delimited by a newline character. + :type method: ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod + + :param delimiter: A single ASCII character used to delimit events. + :type delimiter: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited import ( + ObservabilityPipelineSocketSourceFramingNewlineDelimited, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes import ( + ObservabilityPipelineSocketSourceFramingBytes, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited import ( + ObservabilityPipelineSocketSourceFramingCharacterDelimited, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting import ( + ObservabilityPipelineSocketSourceFramingOctetCounting, + ) + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf import ( + ObservabilityPipelineSocketSourceFramingChunkedGelf, + ) + + return { + "oneOf": [ + ObservabilityPipelineSocketSourceFramingNewlineDelimited, + ObservabilityPipelineSocketSourceFramingBytes, + ObservabilityPipelineSocketSourceFramingCharacterDelimited, + ObservabilityPipelineSocketSourceFramingOctetCounting, + ObservabilityPipelineSocketSourceFramingChunkedGelf, + ], + } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes.py new file mode 100644 index 0000000000..51ad895035 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes_method import ( + ObservabilityPipelineSocketSourceFramingBytesMethod, + ) + + +class ObservabilityPipelineSocketSourceFramingBytes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes_method import ( + ObservabilityPipelineSocketSourceFramingBytesMethod, + ) + + return { + "method": (ObservabilityPipelineSocketSourceFramingBytesMethod,), + } + + attribute_map = { + "method": "method", + } + + def __init__(self_, method: ObservabilityPipelineSocketSourceFramingBytesMethod, **kwargs): + """ + Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). + + :param method: Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). + :type method: ObservabilityPipelineSocketSourceFramingBytesMethod + """ + super().__init__(kwargs) + + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes_method.py new file mode 100644 index 0000000000..8dc2b09207 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_bytes_method.py @@ -0,0 +1,35 @@ +# 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 ObservabilityPipelineSocketSourceFramingBytesMethod(ModelSimple): + """ + Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). + + :param value: If omitted defaults to "bytes". Must be one of ["bytes"]. + :type value: str + """ + + allowed_values = { + "bytes", + } + BYTES: ClassVar["ObservabilityPipelineSocketSourceFramingBytesMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceFramingBytesMethod.BYTES = ObservabilityPipelineSocketSourceFramingBytesMethod("bytes") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited.py new file mode 100644 index 0000000000..eca14de5d5 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited.py @@ -0,0 +1,59 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited_method import ( + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod, + ) + + +class ObservabilityPipelineSocketSourceFramingCharacterDelimited(ModelNormal): + validations = { + "delimiter": { + "max_length": 1, + "min_length": 1, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited_method import ( + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod, + ) + + return { + "delimiter": (str,), + "method": (ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod,), + } + + attribute_map = { + "delimiter": "delimiter", + "method": "method", + } + + def __init__( + self_, delimiter: str, method: ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod, **kwargs + ): + """ + Byte frames which are delimited by a chosen character. + + :param delimiter: A single ASCII character used to delimit events. + :type delimiter: str + + :param method: Byte frames which are delimited by a chosen character. + :type method: ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod + """ + super().__init__(kwargs) + + self_.delimiter = delimiter + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited_method.py new file mode 100644 index 0000000000..b2d421e9e1 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_character_delimited_method.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 ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod(ModelSimple): + """ + Byte frames which are delimited by a chosen character. + + :param value: If omitted defaults to "character_delimited". Must be one of ["character_delimited"]. + :type value: str + """ + + allowed_values = { + "character_delimited", + } + CHARACTER_DELIMITED: ClassVar["ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.CHARACTER_DELIMITED = ( + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod("character_delimited") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf.py new file mode 100644 index 0000000000..c48ce7955f --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf_method import ( + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod, + ) + + +class ObservabilityPipelineSocketSourceFramingChunkedGelf(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf_method import ( + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod, + ) + + return { + "method": (ObservabilityPipelineSocketSourceFramingChunkedGelfMethod,), + } + + attribute_map = { + "method": "method", + } + + def __init__(self_, method: ObservabilityPipelineSocketSourceFramingChunkedGelfMethod, **kwargs): + """ + Byte frames which are chunked GELF messages. + + :param method: Byte frames which are chunked GELF messages. + :type method: ObservabilityPipelineSocketSourceFramingChunkedGelfMethod + """ + super().__init__(kwargs) + + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf_method.py new file mode 100644 index 0000000000..7900ae5f96 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_chunked_gelf_method.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 ObservabilityPipelineSocketSourceFramingChunkedGelfMethod(ModelSimple): + """ + Byte frames which are chunked GELF messages. + + :param value: If omitted defaults to "chunked_gelf". Must be one of ["chunked_gelf"]. + :type value: str + """ + + allowed_values = { + "chunked_gelf", + } + CHUNKED_GELF: ClassVar["ObservabilityPipelineSocketSourceFramingChunkedGelfMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.CHUNKED_GELF = ( + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod("chunked_gelf") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited.py new file mode 100644 index 0000000000..99cb978d89 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited_method import ( + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod, + ) + + +class ObservabilityPipelineSocketSourceFramingNewlineDelimited(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited_method import ( + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod, + ) + + return { + "method": (ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod,), + } + + attribute_map = { + "method": "method", + } + + def __init__(self_, method: ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod, **kwargs): + """ + Byte frames which are delimited by a newline character. + + :param method: Byte frames which are delimited by a newline character. + :type method: ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod + """ + super().__init__(kwargs) + + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited_method.py new file mode 100644 index 0000000000..9da6d27412 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_newline_delimited_method.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 ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod(ModelSimple): + """ + Byte frames which are delimited by a newline character. + + :param value: If omitted defaults to "newline_delimited". Must be one of ["newline_delimited"]. + :type value: str + """ + + allowed_values = { + "newline_delimited", + } + NEWLINE_DELIMITED: ClassVar["ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.NEWLINE_DELIMITED = ( + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod("newline_delimited") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting.py new file mode 100644 index 0000000000..d99c48fe36 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting.py @@ -0,0 +1,44 @@ +# 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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting_method import ( + ObservabilityPipelineSocketSourceFramingOctetCountingMethod, + ) + + +class ObservabilityPipelineSocketSourceFramingOctetCounting(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting_method import ( + ObservabilityPipelineSocketSourceFramingOctetCountingMethod, + ) + + return { + "method": (ObservabilityPipelineSocketSourceFramingOctetCountingMethod,), + } + + attribute_map = { + "method": "method", + } + + def __init__(self_, method: ObservabilityPipelineSocketSourceFramingOctetCountingMethod, **kwargs): + """ + Byte frames according to the octet counting format as per RFC6587. + + :param method: Byte frames according to the octet counting format as per RFC6587. + :type method: ObservabilityPipelineSocketSourceFramingOctetCountingMethod + """ + super().__init__(kwargs) + + self_.method = method diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting_method.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting_method.py new file mode 100644 index 0000000000..bded11633d --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_framing_octet_counting_method.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 ObservabilityPipelineSocketSourceFramingOctetCountingMethod(ModelSimple): + """ + Byte frames according to the octet counting format as per RFC6587. + + :param value: If omitted defaults to "octet_counting". Must be one of ["octet_counting"]. + :type value: str + """ + + allowed_values = { + "octet_counting", + } + OCTET_COUNTING: ClassVar["ObservabilityPipelineSocketSourceFramingOctetCountingMethod"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceFramingOctetCountingMethod.OCTET_COUNTING = ( + ObservabilityPipelineSocketSourceFramingOctetCountingMethod("octet_counting") +) diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_mode.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_mode.py new file mode 100644 index 0000000000..1fa75b798f --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_mode.py @@ -0,0 +1,38 @@ +# 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 ObservabilityPipelineSocketSourceMode(ModelSimple): + """ + Protocol used to receive logs. + + :param value: Must be one of ["tcp", "udp"]. + :type value: str + """ + + allowed_values = { + "tcp", + "udp", + } + TCP: ClassVar["ObservabilityPipelineSocketSourceMode"] + UDP: ClassVar["ObservabilityPipelineSocketSourceMode"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceMode.TCP = ObservabilityPipelineSocketSourceMode("tcp") +ObservabilityPipelineSocketSourceMode.UDP = ObservabilityPipelineSocketSourceMode("udp") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_socket_source_type.py b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_type.py new file mode 100644 index 0000000000..6046f3d1e6 --- /dev/null +++ b/src/datadog_api_client/v2/model/observability_pipeline_socket_source_type.py @@ -0,0 +1,35 @@ +# 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 ObservabilityPipelineSocketSourceType(ModelSimple): + """ + The source type. The value should always be `socket`. + + :param value: If omitted defaults to "socket". Must be one of ["socket"]. + :type value: str + """ + + allowed_values = { + "socket", + } + SOCKET: ClassVar["ObservabilityPipelineSocketSourceType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +ObservabilityPipelineSocketSourceType.SOCKET = ObservabilityPipelineSocketSourceType("socket") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 189829c369..378619b71d 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2306,6 +2306,73 @@ from datadog_api_client.v2.model.observability_pipeline_sentinel_one_destination_type import ( ObservabilityPipelineSentinelOneDestinationType, ) +from datadog_api_client.v2.model.observability_pipeline_socket_destination import ObservabilityPipelineSocketDestination +from datadog_api_client.v2.model.observability_pipeline_socket_destination_encoding import ( + ObservabilityPipelineSocketDestinationEncoding, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing import ( + ObservabilityPipelineSocketDestinationFraming, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes import ( + ObservabilityPipelineSocketDestinationFramingBytes, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_bytes_method import ( + ObservabilityPipelineSocketDestinationFramingBytesMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited import ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimited, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_character_delimited_method import ( + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited import ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimited, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_framing_newline_delimited_method import ( + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_mode import ( + ObservabilityPipelineSocketDestinationMode, +) +from datadog_api_client.v2.model.observability_pipeline_socket_destination_type import ( + ObservabilityPipelineSocketDestinationType, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source import ObservabilityPipelineSocketSource +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing import ( + ObservabilityPipelineSocketSourceFraming, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes import ( + ObservabilityPipelineSocketSourceFramingBytes, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_bytes_method import ( + ObservabilityPipelineSocketSourceFramingBytesMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited import ( + ObservabilityPipelineSocketSourceFramingCharacterDelimited, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_character_delimited_method import ( + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf import ( + ObservabilityPipelineSocketSourceFramingChunkedGelf, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_chunked_gelf_method import ( + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited import ( + ObservabilityPipelineSocketSourceFramingNewlineDelimited, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_newline_delimited_method import ( + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting import ( + ObservabilityPipelineSocketSourceFramingOctetCounting, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_framing_octet_counting_method import ( + ObservabilityPipelineSocketSourceFramingOctetCountingMethod, +) +from datadog_api_client.v2.model.observability_pipeline_socket_source_mode import ObservabilityPipelineSocketSourceMode +from datadog_api_client.v2.model.observability_pipeline_socket_source_type import ObservabilityPipelineSocketSourceType from datadog_api_client.v2.model.observability_pipeline_spec import ObservabilityPipelineSpec from datadog_api_client.v2.model.observability_pipeline_spec_data import ObservabilityPipelineSpecData from datadog_api_client.v2.model.observability_pipeline_splunk_hec_destination import ( @@ -5131,6 +5198,31 @@ "ObservabilityPipelineSentinelOneDestination", "ObservabilityPipelineSentinelOneDestinationRegion", "ObservabilityPipelineSentinelOneDestinationType", + "ObservabilityPipelineSocketDestination", + "ObservabilityPipelineSocketDestinationEncoding", + "ObservabilityPipelineSocketDestinationFraming", + "ObservabilityPipelineSocketDestinationFramingBytes", + "ObservabilityPipelineSocketDestinationFramingBytesMethod", + "ObservabilityPipelineSocketDestinationFramingCharacterDelimited", + "ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod", + "ObservabilityPipelineSocketDestinationFramingNewlineDelimited", + "ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod", + "ObservabilityPipelineSocketDestinationMode", + "ObservabilityPipelineSocketDestinationType", + "ObservabilityPipelineSocketSource", + "ObservabilityPipelineSocketSourceFraming", + "ObservabilityPipelineSocketSourceFramingBytes", + "ObservabilityPipelineSocketSourceFramingBytesMethod", + "ObservabilityPipelineSocketSourceFramingCharacterDelimited", + "ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod", + "ObservabilityPipelineSocketSourceFramingChunkedGelf", + "ObservabilityPipelineSocketSourceFramingChunkedGelfMethod", + "ObservabilityPipelineSocketSourceFramingNewlineDelimited", + "ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod", + "ObservabilityPipelineSocketSourceFramingOctetCounting", + "ObservabilityPipelineSocketSourceFramingOctetCountingMethod", + "ObservabilityPipelineSocketSourceMode", + "ObservabilityPipelineSocketSourceType", "ObservabilityPipelineSpec", "ObservabilityPipelineSpecData", "ObservabilityPipelineSplunkHecDestination",