diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 8a07ff3d00ec..1109b4e483f3 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -25153,6 +25153,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: @@ -25172,6 +25173,7 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessor' - $ref: '#/components/schemas/ObservabilityPipelineReduceProcessor' - $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessor' + - $ref: '#/components/schemas/ObservabilityPipelineRemapVrlProcessor' ObservabilityPipelineConfigSourceItem: description: A data source for the pipeline. oneOf: @@ -25190,6 +25192,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: @@ -26835,6 +26838,87 @@ components: type: string x-enum-varnames: - REDUCE + ObservabilityPipelineRemapVrlProcessor: + description: The `remap_vrl` processor (also called "Custom processor") transforms + events using [Vector Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) + scripts with advanced filtering capabilities. + properties: + id: + description: The unique identifier for this processor. + example: remap-vrl-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor + targets. This field should always be set to `*` for the remap_vrl processor. + example: '*' + type: string + inputs: + description: A list of component IDs whose output is used as the input for + this processor. + example: + - datadog-agent-source + items: + type: string + type: array + remaps: + description: Array of VRL remap rules. + items: + $ref: '#/components/schemas/ObservabilityPipelineRemapVrlProcessorRemap' + maxItems: 15 + minItems: 1 + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineRemapVrlProcessorType' + required: + - id + - type + - include + - remaps + - inputs + type: object + ObservabilityPipelineRemapVrlProcessorRemap: + description: Defines a single VRL remap rule with its own filtering and transformation + logic. + properties: + dropOnError: + default: false + description: Whether to drop events that caused errors during processing. + example: false + type: boolean + enabled: + default: true + description: Whether this remap rule is enabled. + example: true + type: boolean + include: + description: A Datadog search query used to filter events for this specific + remap rule. + example: service:web + type: string + name: + description: A descriptive name for this remap rule. + example: Parse JSON from message field + type: string + source: + description: The VRL script source code that defines the processing logic. + Must not exceed 3000 characters and cannot contain forbidden functions. + example: . = parse_json!(.message) + maxLength: 3000 + type: string + required: + - include + - name + - source + type: object + ObservabilityPipelineRemapVrlProcessorType: + default: remap_vrl + description: The processor type. The value should always be `remap_vrl`. + enum: + - remap_vrl + example: remap_vrl + type: string + x-enum-varnames: + - REMAP_VRL ObservabilityPipelineRemoveFieldsProcessor: description: The `remove_fields` processor deletes specified fields from logs. properties: @@ -27473,6 +27557,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/services/observability_pipelines/src/v2/index.ts b/services/observability_pipelines/src/v2/index.ts index 9bd4bb5f2b3b..37fce3a95a64 100644 --- a/services/observability_pipelines/src/v2/index.ts +++ b/services/observability_pipelines/src/v2/index.ts @@ -127,6 +127,9 @@ export { ObservabilityPipelineReduceProcessor } from "./models/ObservabilityPipe export { ObservabilityPipelineReduceProcessorMergeStrategy } from "./models/ObservabilityPipelineReduceProcessorMergeStrategy"; export { ObservabilityPipelineReduceProcessorMergeStrategyStrategy } from "./models/ObservabilityPipelineReduceProcessorMergeStrategyStrategy"; export { ObservabilityPipelineReduceProcessorType } from "./models/ObservabilityPipelineReduceProcessorType"; +export { ObservabilityPipelineRemapVrlProcessor } from "./models/ObservabilityPipelineRemapVrlProcessor"; +export { ObservabilityPipelineRemapVrlProcessorRemap } from "./models/ObservabilityPipelineRemapVrlProcessorRemap"; +export { ObservabilityPipelineRemapVrlProcessorType } from "./models/ObservabilityPipelineRemapVrlProcessorType"; export { ObservabilityPipelineRemoveFieldsProcessor } from "./models/ObservabilityPipelineRemoveFieldsProcessor"; export { ObservabilityPipelineRemoveFieldsProcessorType } from "./models/ObservabilityPipelineRemoveFieldsProcessorType"; export { ObservabilityPipelineRenameFieldsProcessor } from "./models/ObservabilityPipelineRenameFieldsProcessor"; @@ -170,6 +173,31 @@ export { ObservabilityPipelineSensitiveDataScannerProcessorType } from "./models export { ObservabilityPipelineSentinelOneDestination } from "./models/ObservabilityPipelineSentinelOneDestination"; export { ObservabilityPipelineSentinelOneDestinationRegion } from "./models/ObservabilityPipelineSentinelOneDestinationRegion"; export { ObservabilityPipelineSentinelOneDestinationType } from "./models/ObservabilityPipelineSentinelOneDestinationType"; +export { ObservabilityPipelineSocketDestination } from "./models/ObservabilityPipelineSocketDestination"; +export { ObservabilityPipelineSocketDestinationEncoding } from "./models/ObservabilityPipelineSocketDestinationEncoding"; +export { ObservabilityPipelineSocketDestinationFraming } from "./models/ObservabilityPipelineSocketDestinationFraming"; +export { ObservabilityPipelineSocketDestinationFramingBytes } from "./models/ObservabilityPipelineSocketDestinationFramingBytes"; +export { ObservabilityPipelineSocketDestinationFramingBytesMethod } from "./models/ObservabilityPipelineSocketDestinationFramingBytesMethod"; +export { ObservabilityPipelineSocketDestinationFramingCharacterDelimited } from "./models/ObservabilityPipelineSocketDestinationFramingCharacterDelimited"; +export { ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod } from "./models/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod"; +export { ObservabilityPipelineSocketDestinationFramingNewlineDelimited } from "./models/ObservabilityPipelineSocketDestinationFramingNewlineDelimited"; +export { ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod } from "./models/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod"; +export { ObservabilityPipelineSocketDestinationMode } from "./models/ObservabilityPipelineSocketDestinationMode"; +export { ObservabilityPipelineSocketDestinationType } from "./models/ObservabilityPipelineSocketDestinationType"; +export { ObservabilityPipelineSocketSource } from "./models/ObservabilityPipelineSocketSource"; +export { ObservabilityPipelineSocketSourceFraming } from "./models/ObservabilityPipelineSocketSourceFraming"; +export { ObservabilityPipelineSocketSourceFramingBytes } from "./models/ObservabilityPipelineSocketSourceFramingBytes"; +export { ObservabilityPipelineSocketSourceFramingBytesMethod } from "./models/ObservabilityPipelineSocketSourceFramingBytesMethod"; +export { ObservabilityPipelineSocketSourceFramingCharacterDelimited } from "./models/ObservabilityPipelineSocketSourceFramingCharacterDelimited"; +export { ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod } from "./models/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod"; +export { ObservabilityPipelineSocketSourceFramingChunkedGelf } from "./models/ObservabilityPipelineSocketSourceFramingChunkedGelf"; +export { ObservabilityPipelineSocketSourceFramingChunkedGelfMethod } from "./models/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod"; +export { ObservabilityPipelineSocketSourceFramingNewlineDelimited } from "./models/ObservabilityPipelineSocketSourceFramingNewlineDelimited"; +export { ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod } from "./models/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod"; +export { ObservabilityPipelineSocketSourceFramingOctetCounting } from "./models/ObservabilityPipelineSocketSourceFramingOctetCounting"; +export { ObservabilityPipelineSocketSourceFramingOctetCountingMethod } from "./models/ObservabilityPipelineSocketSourceFramingOctetCountingMethod"; +export { ObservabilityPipelineSocketSourceMode } from "./models/ObservabilityPipelineSocketSourceMode"; +export { ObservabilityPipelineSocketSourceType } from "./models/ObservabilityPipelineSocketSourceType"; export { ObservabilityPipelineSpec } from "./models/ObservabilityPipelineSpec"; export { ObservabilityPipelineSpecData } from "./models/ObservabilityPipelineSpecData"; export { ObservabilityPipelineSplunkHecDestination } from "./models/ObservabilityPipelineSplunkHecDestination"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigDestinationItem.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigDestinationItem.ts index ede7f0ae9dd7..871f80f698d3 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigDestinationItem.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigDestinationItem.ts @@ -12,6 +12,7 @@ import { ObservabilityPipelineNewRelicDestination } from "./ObservabilityPipelin import { ObservabilityPipelineOpenSearchDestination } from "./ObservabilityPipelineOpenSearchDestination"; import { ObservabilityPipelineRsyslogDestination } from "./ObservabilityPipelineRsyslogDestination"; import { ObservabilityPipelineSentinelOneDestination } from "./ObservabilityPipelineSentinelOneDestination"; +import { ObservabilityPipelineSocketDestination } from "./ObservabilityPipelineSocketDestination"; import { ObservabilityPipelineSplunkHecDestination } from "./ObservabilityPipelineSplunkHecDestination"; import { ObservabilityPipelineSumoLogicDestination } from "./ObservabilityPipelineSumoLogicDestination"; import { ObservabilityPipelineSyslogNgDestination } from "./ObservabilityPipelineSyslogNgDestination"; @@ -35,4 +36,5 @@ export type ObservabilityPipelineConfigDestinationItem = | ObservabilityPipelineSentinelOneDestination | ObservabilityPipelineOpenSearchDestination | ObservabilityPipelineAmazonOpenSearchDestination + | ObservabilityPipelineSocketDestination | UnparsedObject; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorItem.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorItem.ts index 03a8514e7593..2b2894294310 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorItem.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorItem.ts @@ -11,6 +11,7 @@ import { ObservabilityPipelineParseGrokProcessor } from "./ObservabilityPipeline import { ObservabilityPipelineParseJSONProcessor } from "./ObservabilityPipelineParseJSONProcessor"; import { ObservabilityPipelineQuotaProcessor } from "./ObservabilityPipelineQuotaProcessor"; import { ObservabilityPipelineReduceProcessor } from "./ObservabilityPipelineReduceProcessor"; +import { ObservabilityPipelineRemapVrlProcessor } from "./ObservabilityPipelineRemapVrlProcessor"; import { ObservabilityPipelineRemoveFieldsProcessor } from "./ObservabilityPipelineRemoveFieldsProcessor"; import { ObservabilityPipelineRenameFieldsProcessor } from "./ObservabilityPipelineRenameFieldsProcessor"; import { ObservabilityPipelineSampleProcessor } from "./ObservabilityPipelineSampleProcessor"; @@ -37,4 +38,5 @@ export type ObservabilityPipelineConfigProcessorItem = | ObservabilityPipelineEnrichmentTableProcessor | ObservabilityPipelineReduceProcessor | ObservabilityPipelineThrottleProcessor + | ObservabilityPipelineRemapVrlProcessor | UnparsedObject; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigSourceItem.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigSourceItem.ts index 2d8a864e80c3..44a78619f90b 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigSourceItem.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigSourceItem.ts @@ -11,6 +11,7 @@ import { ObservabilityPipelineHttpServerSource } from "./ObservabilityPipelineHt import { ObservabilityPipelineKafkaSource } from "./ObservabilityPipelineKafkaSource"; import { ObservabilityPipelineLogstashSource } from "./ObservabilityPipelineLogstashSource"; import { ObservabilityPipelineRsyslogSource } from "./ObservabilityPipelineRsyslogSource"; +import { ObservabilityPipelineSocketSource } from "./ObservabilityPipelineSocketSource"; import { ObservabilityPipelineSplunkHecSource } from "./ObservabilityPipelineSplunkHecSource"; import { ObservabilityPipelineSplunkTcpSource } from "./ObservabilityPipelineSplunkTcpSource"; import { ObservabilityPipelineSumoLogicSource } from "./ObservabilityPipelineSumoLogicSource"; @@ -35,4 +36,5 @@ export type ObservabilityPipelineConfigSourceItem = | ObservabilityPipelineGooglePubSubSource | ObservabilityPipelineHttpClientSource | ObservabilityPipelineLogstashSource + | ObservabilityPipelineSocketSource | UnparsedObject; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessor.ts new file mode 100644 index 000000000000..f3a08bbbe24e --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessor.ts @@ -0,0 +1,84 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineRemapVrlProcessorRemap } from "./ObservabilityPipelineRemapVrlProcessorRemap"; +import { ObservabilityPipelineRemapVrlProcessorType } from "./ObservabilityPipelineRemapVrlProcessorType"; + +/** + * The `remap_vrl` processor (also called "Custom processor") transforms events using [Vector Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with advanced filtering capabilities. + */ +export class ObservabilityPipelineRemapVrlProcessor { + /** + * The unique identifier for this processor. + */ + "id": string; + /** + * A Datadog search query used to determine which logs this processor targets. This field should always be set to `*` for the remap_vrl processor. + */ + "include": string; + /** + * A list of component IDs whose output is used as the input for this processor. + */ + "inputs": Array; + /** + * Array of VRL remap rules. + */ + "remaps": Array; + /** + * The processor type. The value should always be `remap_vrl`. + */ + "type": ObservabilityPipelineRemapVrlProcessorType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + include: { + baseName: "include", + type: "string", + required: true, + }, + inputs: { + baseName: "inputs", + type: "Array", + required: true, + }, + remaps: { + baseName: "remaps", + type: "Array", + required: true, + }, + type: { + baseName: "type", + type: "ObservabilityPipelineRemapVrlProcessorType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineRemapVrlProcessor.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessorRemap.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessorRemap.ts new file mode 100644 index 000000000000..98ba7fce3bc9 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessorRemap.ts @@ -0,0 +1,79 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +/** + * Defines a single VRL remap rule with its own filtering and transformation logic. + */ +export class ObservabilityPipelineRemapVrlProcessorRemap { + /** + * Whether to drop events that caused errors during processing. + */ + "dropOnError"?: boolean; + /** + * Whether this remap rule is enabled. + */ + "enabled"?: boolean; + /** + * A Datadog search query used to filter events for this specific remap rule. + */ + "include": string; + /** + * A descriptive name for this remap rule. + */ + "name": string; + /** + * The VRL script source code that defines the processing logic. Must not exceed 3000 characters and cannot contain forbidden functions. + */ + "source": string; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + dropOnError: { + baseName: "dropOnError", + type: "boolean", + }, + enabled: { + baseName: "enabled", + type: "boolean", + }, + include: { + baseName: "include", + type: "string", + required: true, + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + source: { + baseName: "source", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineRemapVrlProcessorRemap.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessorType.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessorType.ts new file mode 100644 index 000000000000..4e61b9302ca2 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemapVrlProcessorType.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The processor type. The value should always be `remap_vrl`. + */ +export type ObservabilityPipelineRemapVrlProcessorType = + | typeof REMAP_VRL + | UnparsedObject; +export const REMAP_VRL = "remap_vrl"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts new file mode 100644 index 000000000000..e592f292aa66 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestination.ts @@ -0,0 +1,104 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketDestinationEncoding } from "./ObservabilityPipelineSocketDestinationEncoding"; +import { ObservabilityPipelineSocketDestinationFraming } from "./ObservabilityPipelineSocketDestinationFraming"; +import { ObservabilityPipelineSocketDestinationMode } from "./ObservabilityPipelineSocketDestinationMode"; +import { ObservabilityPipelineSocketDestinationType } from "./ObservabilityPipelineSocketDestinationType"; +import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; + +/** + * The `socket` destination sends logs over TCP or UDP to a remote server. + */ +export class ObservabilityPipelineSocketDestination { + /** + * Encoding format for log events. + */ + "encoding": ObservabilityPipelineSocketDestinationEncoding; + /** + * Framing method configuration. + */ + "framing": ObservabilityPipelineSocketDestinationFraming; + /** + * The unique identifier for this component. + */ + "id": string; + /** + * A list of component IDs whose output is used as the `input` for this component. + */ + "inputs": Array; + /** + * Protocol used to send logs. + */ + "mode": ObservabilityPipelineSocketDestinationMode; + /** + * Configuration for enabling TLS encryption between the pipeline component and external services. + */ + "tls"?: ObservabilityPipelineTls; + /** + * The destination type. The value should always be `socket`. + */ + "type": ObservabilityPipelineSocketDestinationType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + encoding: { + baseName: "encoding", + type: "ObservabilityPipelineSocketDestinationEncoding", + required: true, + }, + framing: { + baseName: "framing", + type: "ObservabilityPipelineSocketDestinationFraming", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + inputs: { + baseName: "inputs", + type: "Array", + required: true, + }, + mode: { + baseName: "mode", + type: "ObservabilityPipelineSocketDestinationMode", + required: true, + }, + tls: { + baseName: "tls", + type: "ObservabilityPipelineTls", + }, + type: { + baseName: "type", + type: "ObservabilityPipelineSocketDestinationType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketDestination.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationEncoding.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationEncoding.ts new file mode 100644 index 000000000000..b9539e83a928 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationEncoding.ts @@ -0,0 +1,11 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Encoding format for log events. + */ +export type ObservabilityPipelineSocketDestinationEncoding = + | typeof JSON + | typeof RAW_MESSAGE + | UnparsedObject; +export const JSON = "json"; +export const RAW_MESSAGE = "raw_message"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFraming.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFraming.ts new file mode 100644 index 000000000000..096f493e18db --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFraming.ts @@ -0,0 +1,14 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketDestinationFramingBytes } from "./ObservabilityPipelineSocketDestinationFramingBytes"; +import { ObservabilityPipelineSocketDestinationFramingCharacterDelimited } from "./ObservabilityPipelineSocketDestinationFramingCharacterDelimited"; +import { ObservabilityPipelineSocketDestinationFramingNewlineDelimited } from "./ObservabilityPipelineSocketDestinationFramingNewlineDelimited"; + +/** + * Framing method configuration. + */ +export type ObservabilityPipelineSocketDestinationFraming = + | ObservabilityPipelineSocketDestinationFramingNewlineDelimited + | ObservabilityPipelineSocketDestinationFramingBytes + | ObservabilityPipelineSocketDestinationFramingCharacterDelimited + | UnparsedObject; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingBytes.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingBytes.ts new file mode 100644 index 000000000000..772e1d28cc3c --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingBytes.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketDestinationFramingBytesMethod } from "./ObservabilityPipelineSocketDestinationFramingBytesMethod"; + +/** + * Event data is not delimited at all. + */ +export class ObservabilityPipelineSocketDestinationFramingBytes { + /** + * The definition of `ObservabilityPipelineSocketDestinationFramingBytesMethod` object. + */ + "method": ObservabilityPipelineSocketDestinationFramingBytesMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + method: { + baseName: "method", + type: "ObservabilityPipelineSocketDestinationFramingBytesMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketDestinationFramingBytes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingBytesMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingBytesMethod.ts new file mode 100644 index 000000000000..cce4b84b54d1 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingBytesMethod.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The definition of `ObservabilityPipelineSocketDestinationFramingBytesMethod` object. + */ +export type ObservabilityPipelineSocketDestinationFramingBytesMethod = + | typeof BYTES + | UnparsedObject; +export const BYTES = "bytes"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingCharacterDelimited.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingCharacterDelimited.ts new file mode 100644 index 000000000000..2822f4da2c66 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingCharacterDelimited.ts @@ -0,0 +1,56 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod } from "./ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod"; + +/** + * Each log event is separated using the specified delimiter character. + */ +export class ObservabilityPipelineSocketDestinationFramingCharacterDelimited { + /** + * A single ASCII character used as a delimiter. + */ + "delimiter": string; + /** + * The definition of `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` object. + */ + "method": ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + delimiter: { + baseName: "delimiter", + type: "string", + required: true, + }, + method: { + baseName: "method", + type: "ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketDestinationFramingCharacterDelimited.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.ts new file mode 100644 index 000000000000..364538865067 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod.ts @@ -0,0 +1,8 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The definition of `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` object. + */ +export type ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod = + typeof CHARACTER_DELIMITED | UnparsedObject; +export const CHARACTER_DELIMITED = "character_delimited"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingNewlineDelimited.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingNewlineDelimited.ts new file mode 100644 index 000000000000..691f566d7d0b --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingNewlineDelimited.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod } from "./ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod"; + +/** + * Each log event is delimited by a newline character. + */ +export class ObservabilityPipelineSocketDestinationFramingNewlineDelimited { + /** + * The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` object. + */ + "method": ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + method: { + baseName: "method", + type: "ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketDestinationFramingNewlineDelimited.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.ts new file mode 100644 index 000000000000..4341b5fc4ef5 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod.ts @@ -0,0 +1,8 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` object. + */ +export type ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod = + typeof NEWLINE_DELIMITED | UnparsedObject; +export const NEWLINE_DELIMITED = "newline_delimited"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationMode.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationMode.ts new file mode 100644 index 000000000000..2e511e8cec1a --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationMode.ts @@ -0,0 +1,11 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Protocol used to send logs. + */ +export type ObservabilityPipelineSocketDestinationMode = + | typeof TCP + | typeof UDP + | UnparsedObject; +export const TCP = "tcp"; +export const UDP = "udp"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationType.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationType.ts new file mode 100644 index 000000000000..effa98e6d92e --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketDestinationType.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The destination type. The value should always be `socket`. + */ +export type ObservabilityPipelineSocketDestinationType = + | typeof SOCKET + | UnparsedObject; +export const SOCKET = "socket"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSource.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSource.ts new file mode 100644 index 000000000000..9305f51c3bb3 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSource.ts @@ -0,0 +1,85 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFraming } from "./ObservabilityPipelineSocketSourceFraming"; +import { ObservabilityPipelineSocketSourceMode } from "./ObservabilityPipelineSocketSourceMode"; +import { ObservabilityPipelineSocketSourceType } from "./ObservabilityPipelineSocketSourceType"; +import { ObservabilityPipelineTls } from "./ObservabilityPipelineTls"; + +/** + * The `socket` source ingests logs over TCP or UDP. + */ +export class ObservabilityPipelineSocketSource { + /** + * Framing method configuration for the socket source. + */ + "framing": ObservabilityPipelineSocketSourceFraming; + /** + * The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). + */ + "id": string; + /** + * Protocol used to receive logs. + */ + "mode": ObservabilityPipelineSocketSourceMode; + /** + * Configuration for enabling TLS encryption between the pipeline component and external services. + */ + "tls"?: ObservabilityPipelineTls; + /** + * The source type. The value should always be `socket`. + */ + "type": ObservabilityPipelineSocketSourceType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + framing: { + baseName: "framing", + type: "ObservabilityPipelineSocketSourceFraming", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + mode: { + baseName: "mode", + type: "ObservabilityPipelineSocketSourceMode", + required: true, + }, + tls: { + baseName: "tls", + type: "ObservabilityPipelineTls", + }, + type: { + baseName: "type", + type: "ObservabilityPipelineSocketSourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketSource.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFraming.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFraming.ts new file mode 100644 index 000000000000..539fd2577cf6 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFraming.ts @@ -0,0 +1,18 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFramingBytes } from "./ObservabilityPipelineSocketSourceFramingBytes"; +import { ObservabilityPipelineSocketSourceFramingCharacterDelimited } from "./ObservabilityPipelineSocketSourceFramingCharacterDelimited"; +import { ObservabilityPipelineSocketSourceFramingChunkedGelf } from "./ObservabilityPipelineSocketSourceFramingChunkedGelf"; +import { ObservabilityPipelineSocketSourceFramingNewlineDelimited } from "./ObservabilityPipelineSocketSourceFramingNewlineDelimited"; +import { ObservabilityPipelineSocketSourceFramingOctetCounting } from "./ObservabilityPipelineSocketSourceFramingOctetCounting"; + +/** + * Framing method configuration for the socket source. + */ +export type ObservabilityPipelineSocketSourceFraming = + | ObservabilityPipelineSocketSourceFramingNewlineDelimited + | ObservabilityPipelineSocketSourceFramingBytes + | ObservabilityPipelineSocketSourceFramingCharacterDelimited + | ObservabilityPipelineSocketSourceFramingOctetCounting + | ObservabilityPipelineSocketSourceFramingChunkedGelf + | UnparsedObject; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingBytes.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingBytes.ts new file mode 100644 index 000000000000..bddb775533ad --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingBytes.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFramingBytesMethod } from "./ObservabilityPipelineSocketSourceFramingBytesMethod"; + +/** + * Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). + */ +export class ObservabilityPipelineSocketSourceFramingBytes { + /** + * Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). + */ + "method": ObservabilityPipelineSocketSourceFramingBytesMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + method: { + baseName: "method", + type: "ObservabilityPipelineSocketSourceFramingBytesMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketSourceFramingBytes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingBytesMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingBytesMethod.ts new file mode 100644 index 000000000000..8a694dc5ff03 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingBytesMethod.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). + */ +export type ObservabilityPipelineSocketSourceFramingBytesMethod = + | typeof BYTES + | UnparsedObject; +export const BYTES = "bytes"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingCharacterDelimited.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingCharacterDelimited.ts new file mode 100644 index 000000000000..d1ed6502cb8a --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingCharacterDelimited.ts @@ -0,0 +1,56 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod } from "./ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod"; + +/** + * Byte frames which are delimited by a chosen character. + */ +export class ObservabilityPipelineSocketSourceFramingCharacterDelimited { + /** + * A single ASCII character used to delimit events. + */ + "delimiter": string; + /** + * Byte frames which are delimited by a chosen character. + */ + "method": ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + delimiter: { + baseName: "delimiter", + type: "string", + required: true, + }, + method: { + baseName: "method", + type: "ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketSourceFramingCharacterDelimited.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.ts new file mode 100644 index 000000000000..b878fc9911d5 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Byte frames which are delimited by a chosen character. + */ +export type ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod = + | typeof CHARACTER_DELIMITED + | UnparsedObject; +export const CHARACTER_DELIMITED = "character_delimited"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingChunkedGelf.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingChunkedGelf.ts new file mode 100644 index 000000000000..b649a14286ae --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingChunkedGelf.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFramingChunkedGelfMethod } from "./ObservabilityPipelineSocketSourceFramingChunkedGelfMethod"; + +/** + * Byte frames which are chunked GELF messages. + */ +export class ObservabilityPipelineSocketSourceFramingChunkedGelf { + /** + * Byte frames which are chunked GELF messages. + */ + "method": ObservabilityPipelineSocketSourceFramingChunkedGelfMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + method: { + baseName: "method", + type: "ObservabilityPipelineSocketSourceFramingChunkedGelfMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketSourceFramingChunkedGelf.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.ts new file mode 100644 index 000000000000..5d98471af158 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Byte frames which are chunked GELF messages. + */ +export type ObservabilityPipelineSocketSourceFramingChunkedGelfMethod = + | typeof CHUNKED_GELF + | UnparsedObject; +export const CHUNKED_GELF = "chunked_gelf"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingNewlineDelimited.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingNewlineDelimited.ts new file mode 100644 index 000000000000..de1bf7d27693 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingNewlineDelimited.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod } from "./ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod"; + +/** + * Byte frames which are delimited by a newline character. + */ +export class ObservabilityPipelineSocketSourceFramingNewlineDelimited { + /** + * Byte frames which are delimited by a newline character. + */ + "method": ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + method: { + baseName: "method", + type: "ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketSourceFramingNewlineDelimited.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.ts new file mode 100644 index 000000000000..8a72682fd249 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Byte frames which are delimited by a newline character. + */ +export type ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod = + | typeof NEWLINE_DELIMITED + | UnparsedObject; +export const NEWLINE_DELIMITED = "newline_delimited"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingOctetCounting.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingOctetCounting.ts new file mode 100644 index 000000000000..d1cfb192438b --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingOctetCounting.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineSocketSourceFramingOctetCountingMethod } from "./ObservabilityPipelineSocketSourceFramingOctetCountingMethod"; + +/** + * Byte frames according to the octet counting format as per RFC6587. + */ +export class ObservabilityPipelineSocketSourceFramingOctetCounting { + /** + * Byte frames according to the octet counting format as per RFC6587. + */ + "method": ObservabilityPipelineSocketSourceFramingOctetCountingMethod; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + method: { + baseName: "method", + type: "ObservabilityPipelineSocketSourceFramingOctetCountingMethod", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineSocketSourceFramingOctetCounting.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingOctetCountingMethod.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingOctetCountingMethod.ts new file mode 100644 index 000000000000..a56cf6298049 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceFramingOctetCountingMethod.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Byte frames according to the octet counting format as per RFC6587. + */ +export type ObservabilityPipelineSocketSourceFramingOctetCountingMethod = + | typeof OCTET_COUNTING + | UnparsedObject; +export const OCTET_COUNTING = "octet_counting"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceMode.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceMode.ts new file mode 100644 index 000000000000..d48a2d5f4d34 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceMode.ts @@ -0,0 +1,11 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Protocol used to receive logs. + */ +export type ObservabilityPipelineSocketSourceMode = + | typeof TCP + | typeof UDP + | UnparsedObject; +export const TCP = "tcp"; +export const UDP = "udp"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceType.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceType.ts new file mode 100644 index 000000000000..aa266887eb52 --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSocketSourceType.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * The source type. The value should always be `socket`. + */ +export type ObservabilityPipelineSocketSourceType = + | typeof SOCKET + | UnparsedObject; +export const SOCKET = "socket"; diff --git a/services/observability_pipelines/src/v2/models/TypingInfo.ts b/services/observability_pipelines/src/v2/models/TypingInfo.ts index a562377e2479..99f782e37dda 100644 --- a/services/observability_pipelines/src/v2/models/TypingInfo.ts +++ b/services/observability_pipelines/src/v2/models/TypingInfo.ts @@ -61,6 +61,8 @@ import { ObservabilityPipelineQuotaProcessorLimit } from "./ObservabilityPipelin import { ObservabilityPipelineQuotaProcessorOverride } from "./ObservabilityPipelineQuotaProcessorOverride"; import { ObservabilityPipelineReduceProcessor } from "./ObservabilityPipelineReduceProcessor"; import { ObservabilityPipelineReduceProcessorMergeStrategy } from "./ObservabilityPipelineReduceProcessorMergeStrategy"; +import { ObservabilityPipelineRemapVrlProcessor } from "./ObservabilityPipelineRemapVrlProcessor"; +import { ObservabilityPipelineRemapVrlProcessorRemap } from "./ObservabilityPipelineRemapVrlProcessorRemap"; import { ObservabilityPipelineRemoveFieldsProcessor } from "./ObservabilityPipelineRemoveFieldsProcessor"; import { ObservabilityPipelineRenameFieldsProcessor } from "./ObservabilityPipelineRenameFieldsProcessor"; import { ObservabilityPipelineRenameFieldsProcessorField } from "./ObservabilityPipelineRenameFieldsProcessorField"; @@ -84,6 +86,16 @@ import { ObservabilityPipelineSensitiveDataScannerProcessorScopeExclude } from " import { ObservabilityPipelineSensitiveDataScannerProcessorScopeInclude } from "./ObservabilityPipelineSensitiveDataScannerProcessorScopeInclude"; import { ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions } from "./ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions"; import { ObservabilityPipelineSentinelOneDestination } from "./ObservabilityPipelineSentinelOneDestination"; +import { ObservabilityPipelineSocketDestination } from "./ObservabilityPipelineSocketDestination"; +import { ObservabilityPipelineSocketDestinationFramingBytes } from "./ObservabilityPipelineSocketDestinationFramingBytes"; +import { ObservabilityPipelineSocketDestinationFramingCharacterDelimited } from "./ObservabilityPipelineSocketDestinationFramingCharacterDelimited"; +import { ObservabilityPipelineSocketDestinationFramingNewlineDelimited } from "./ObservabilityPipelineSocketDestinationFramingNewlineDelimited"; +import { ObservabilityPipelineSocketSource } from "./ObservabilityPipelineSocketSource"; +import { ObservabilityPipelineSocketSourceFramingBytes } from "./ObservabilityPipelineSocketSourceFramingBytes"; +import { ObservabilityPipelineSocketSourceFramingCharacterDelimited } from "./ObservabilityPipelineSocketSourceFramingCharacterDelimited"; +import { ObservabilityPipelineSocketSourceFramingChunkedGelf } from "./ObservabilityPipelineSocketSourceFramingChunkedGelf"; +import { ObservabilityPipelineSocketSourceFramingNewlineDelimited } from "./ObservabilityPipelineSocketSourceFramingNewlineDelimited"; +import { ObservabilityPipelineSocketSourceFramingOctetCounting } from "./ObservabilityPipelineSocketSourceFramingOctetCounting"; import { ObservabilityPipelineSpec } from "./ObservabilityPipelineSpec"; import { ObservabilityPipelineSpecData } from "./ObservabilityPipelineSpecData"; import { ObservabilityPipelineSplunkHecDestination } from "./ObservabilityPipelineSplunkHecDestination"; @@ -240,6 +252,7 @@ export const TypingInfo: ModelTypingInfo = { "flat_unique", ], ObservabilityPipelineReduceProcessorType: ["reduce"], + ObservabilityPipelineRemapVrlProcessorType: ["remap_vrl"], ObservabilityPipelineRemoveFieldsProcessorType: ["remove_fields"], ObservabilityPipelineRenameFieldsProcessorType: ["rename_fields"], ObservabilityPipelineRsyslogDestinationType: ["rsyslog"], @@ -278,6 +291,29 @@ export const TypingInfo: ModelTypingInfo = { "data_set_us", ], ObservabilityPipelineSentinelOneDestinationType: ["sentinel_one"], + ObservabilityPipelineSocketDestinationEncoding: ["json", "raw_message"], + ObservabilityPipelineSocketDestinationFramingBytesMethod: ["bytes"], + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod: [ + "character_delimited", + ], + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod: [ + "newline_delimited", + ], + ObservabilityPipelineSocketDestinationMode: ["tcp", "udp"], + ObservabilityPipelineSocketDestinationType: ["socket"], + ObservabilityPipelineSocketSourceFramingBytesMethod: ["bytes"], + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod: [ + "character_delimited", + ], + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod: ["chunked_gelf"], + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod: [ + "newline_delimited", + ], + ObservabilityPipelineSocketSourceFramingOctetCountingMethod: [ + "octet_counting", + ], + ObservabilityPipelineSocketSourceMode: ["tcp", "udp"], + ObservabilityPipelineSocketSourceType: ["socket"], ObservabilityPipelineSplunkHecDestinationEncoding: ["json", "raw_message"], ObservabilityPipelineSplunkHecDestinationType: ["splunk_hec"], ObservabilityPipelineSplunkHecSourceType: ["splunk_hec"], @@ -311,6 +347,7 @@ export const TypingInfo: ModelTypingInfo = { "ObservabilityPipelineSentinelOneDestination", "ObservabilityPipelineOpenSearchDestination", "ObservabilityPipelineAmazonOpenSearchDestination", + "ObservabilityPipelineSocketDestination", ], ObservabilityPipelineConfigProcessorItem: [ "ObservabilityPipelineFilterProcessor", @@ -329,6 +366,7 @@ export const TypingInfo: ModelTypingInfo = { "ObservabilityPipelineEnrichmentTableProcessor", "ObservabilityPipelineReduceProcessor", "ObservabilityPipelineThrottleProcessor", + "ObservabilityPipelineRemapVrlProcessor", ], ObservabilityPipelineConfigSourceItem: [ "ObservabilityPipelineKafkaSource", @@ -346,6 +384,7 @@ export const TypingInfo: ModelTypingInfo = { "ObservabilityPipelineGooglePubSubSource", "ObservabilityPipelineHttpClientSource", "ObservabilityPipelineLogstashSource", + "ObservabilityPipelineSocketSource", ], ObservabilityPipelineMetricValue: [ "ObservabilityPipelineGeneratedMetricIncrementByOne", @@ -368,6 +407,18 @@ export const TypingInfo: ModelTypingInfo = { "ObservabilityPipelineSensitiveDataScannerProcessorScopeExclude", "ObservabilityPipelineSensitiveDataScannerProcessorScopeAll", ], + ObservabilityPipelineSocketDestinationFraming: [ + "ObservabilityPipelineSocketDestinationFramingNewlineDelimited", + "ObservabilityPipelineSocketDestinationFramingBytes", + "ObservabilityPipelineSocketDestinationFramingCharacterDelimited", + ], + ObservabilityPipelineSocketSourceFraming: [ + "ObservabilityPipelineSocketSourceFramingNewlineDelimited", + "ObservabilityPipelineSocketSourceFramingBytes", + "ObservabilityPipelineSocketSourceFramingCharacterDelimited", + "ObservabilityPipelineSocketSourceFramingOctetCounting", + "ObservabilityPipelineSocketSourceFramingChunkedGelf", + ], }, typeMap: { APIErrorResponse: APIErrorResponse, @@ -468,6 +519,10 @@ export const TypingInfo: ModelTypingInfo = { ObservabilityPipelineReduceProcessor: ObservabilityPipelineReduceProcessor, ObservabilityPipelineReduceProcessorMergeStrategy: ObservabilityPipelineReduceProcessorMergeStrategy, + ObservabilityPipelineRemapVrlProcessor: + ObservabilityPipelineRemapVrlProcessor, + ObservabilityPipelineRemapVrlProcessorRemap: + ObservabilityPipelineRemapVrlProcessorRemap, ObservabilityPipelineRemoveFieldsProcessor: ObservabilityPipelineRemoveFieldsProcessor, ObservabilityPipelineRenameFieldsProcessor: @@ -512,6 +567,25 @@ export const TypingInfo: ModelTypingInfo = { ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions, ObservabilityPipelineSentinelOneDestination: ObservabilityPipelineSentinelOneDestination, + ObservabilityPipelineSocketDestination: + ObservabilityPipelineSocketDestination, + ObservabilityPipelineSocketDestinationFramingBytes: + ObservabilityPipelineSocketDestinationFramingBytes, + ObservabilityPipelineSocketDestinationFramingCharacterDelimited: + ObservabilityPipelineSocketDestinationFramingCharacterDelimited, + ObservabilityPipelineSocketDestinationFramingNewlineDelimited: + ObservabilityPipelineSocketDestinationFramingNewlineDelimited, + ObservabilityPipelineSocketSource: ObservabilityPipelineSocketSource, + ObservabilityPipelineSocketSourceFramingBytes: + ObservabilityPipelineSocketSourceFramingBytes, + ObservabilityPipelineSocketSourceFramingCharacterDelimited: + ObservabilityPipelineSocketSourceFramingCharacterDelimited, + ObservabilityPipelineSocketSourceFramingChunkedGelf: + ObservabilityPipelineSocketSourceFramingChunkedGelf, + ObservabilityPipelineSocketSourceFramingNewlineDelimited: + ObservabilityPipelineSocketSourceFramingNewlineDelimited, + ObservabilityPipelineSocketSourceFramingOctetCounting: + ObservabilityPipelineSocketSourceFramingOctetCounting, ObservabilityPipelineSpec: ObservabilityPipelineSpec, ObservabilityPipelineSpecData: ObservabilityPipelineSpecData, ObservabilityPipelineSplunkHecDestination: