From f1cd3d2e9506264abcea7b4357ead28331805d8c Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 5 Nov 2025 12:07:05 +0000 Subject: [PATCH] Regenerate client from commit f47923e of spec repo --- .generator/schemas/v2/openapi.yaml | 275 +++++++++++++----- .../observability_pipelines/src/v2/index.ts | 2 + ...bservabilityPipelineAddEnvVarsProcessor.ts | 13 +- ...ObservabilityPipelineAddFieldsProcessor.ts | 13 +- .../v2/models/ObservabilityPipelineConfig.ts | 8 +- ...servabilityPipelineConfigProcessorGroup.ts | 82 ++++++ .../ObservabilityPipelineConfigProcessors.ts | 12 + .../ObservabilityPipelineCustomProcessor.ts | 13 +- ...servabilityPipelineDatadogTagsProcessor.ts | 13 +- .../ObservabilityPipelineDedupeProcessor.ts | 13 +- ...abilityPipelineEnrichmentTableProcessor.ts | 13 +- .../ObservabilityPipelineFilterProcessor.ts | 13 +- ...abilityPipelineGenerateMetricsProcessor.ts | 19 +- ...bservabilityPipelineOcsfMapperProcessor.ts | 13 +- ...ObservabilityPipelineParseGrokProcessor.ts | 13 +- ...ObservabilityPipelineParseJSONProcessor.ts | 13 +- .../ObservabilityPipelineQuotaProcessor.ts | 13 +- .../ObservabilityPipelineReduceProcessor.ts | 13 +- ...ervabilityPipelineRemoveFieldsProcessor.ts | 13 +- ...ervabilityPipelineRenameFieldsProcessor.ts | 13 +- .../ObservabilityPipelineSampleProcessor.ts | 13 +- ...tyPipelineSensitiveDataScannerProcessor.ts | 13 +- .../ObservabilityPipelineThrottleProcessor.ts | 13 +- .../src/v2/models/TypingInfo.ts | 7 + 24 files changed, 499 insertions(+), 127 deletions(-) create mode 100644 services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorGroup.ts create mode 100644 services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessors.ts diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 6ed4b42368ed..93ec43887f90 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -33063,6 +33063,10 @@ components: description: The `add_env_vars` processor adds environment variable values to log events. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this processor in the pipeline. @@ -33074,8 +33078,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the input for - this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -33092,7 +33097,6 @@ components: - id - type - include - - inputs - variables type: object ObservabilityPipelineAddEnvVarsProcessorType: @@ -33122,6 +33126,10 @@ components: ObservabilityPipelineAddFieldsProcessor: description: The `add_fields` processor adds static key-value fields to logs. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean fields: description: A list of static fields (key-value pairs) that is added to each log event processed by this component. @@ -33140,8 +33148,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -33154,7 +33163,6 @@ components: - type - include - fields - - inputs type: object ObservabilityPipelineAddFieldsProcessorType: default: add_fields @@ -33457,16 +33465,7 @@ components: $ref: '#/components/schemas/ObservabilityPipelineConfigDestinationItem' type: array processors: - description: A list of processors that transform or enrich log data. - example: - - id: filter-processor - include: service:my-service - inputs: - - datadog-agent-source - type: filter - items: - $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' - type: array + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessors' sources: description: A list of configured data sources for the pipeline. example: @@ -33501,6 +33500,72 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination' - $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination' - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestination' + ObservabilityPipelineConfigProcessorGroup: + description: A group of processors. + example: + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - fields: + - name: env + value: prod + id: add-fields-processor + include: '*' + type: add_fields + - id: filter-processor + include: status:error + type: filter + properties: + enabled: + description: Whether this processor group is enabled. + example: true + type: boolean + id: + description: The unique identifier for the processor group. + example: grouped-processors + type: string + include: + description: Conditional expression for when this processor group should + execute. + example: service:my-service + type: string + inputs: + description: A list of component IDs whose output is used as the input for + this processor group. + example: + - datadog-agent-source + items: + type: string + type: array + processors: + description: Processors applied sequentially within this group. No `inputs` + fields required - events flow through each processor in order. + example: + - fields: + - name: env + value: prod + id: add-fields-processor + include: '*' + type: add_fields + - id: filter-processor + include: status:error + type: filter + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' + type: array + required: + - id + - include + - inputs + - processors + type: object + ObservabilityPipelineConfigProcessorGroups: + description: A list of processor groups. + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorGroup' + type: array ObservabilityPipelineConfigProcessorItem: description: A processor for the pipeline. oneOf: @@ -33522,6 +33587,23 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessor' - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessor' - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessor' + ObservabilityPipelineConfigProcessors: + description: A list of processors that transform or enrich log data, or a list + of grouped processor configurations. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorsList' + - $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorGroups' + ObservabilityPipelineConfigProcessorsList: + description: A list of standalone processors that transform or enrich log data. + example: + - id: filter-processor + include: service:my-service + inputs: + - datadog-agent-source + type: filter + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' + type: array ObservabilityPipelineConfigSourceItem: description: A data source for the pipeline. oneOf: @@ -33618,6 +33700,10 @@ components: Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with advanced filtering capabilities. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this processor. example: remap-vrl-processor @@ -33630,8 +33716,9 @@ components: example: '*' type: string inputs: - description: A list of component IDs whose output is used as the input for - this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -33650,7 +33737,6 @@ components: - type - include - remaps - - inputs type: object ObservabilityPipelineCustomProcessorRemap: description: Defines a single VRL remap rule with its own filtering and transformation @@ -33790,6 +33876,10 @@ components: properties: action: $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction' + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` @@ -33802,8 +33892,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -33829,7 +33920,6 @@ components: - mode - action - keys - - inputs type: object ObservabilityPipelineDatadogTagsProcessorAction: description: The action to take on tags with matching keys. @@ -33875,6 +33965,10 @@ components: ObservabilityPipelineDedupeProcessor: description: The `dedupe` processor removes duplicate fields in log events. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean fields: description: A list of log field paths to check for duplicates. example: @@ -33893,8 +33987,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the input for - this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - parse-json-processor items: @@ -33908,7 +34003,6 @@ components: - id - type - include - - inputs - fields - mode type: object @@ -34116,6 +34210,10 @@ components: description: The `enrichment_table` processor enriches logs using a static CSV file or GeoIP database. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean file: $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFile' geoip: @@ -34130,8 +34228,9 @@ components: example: source:my-source type: string inputs: - description: A list of component IDs whose output is used as the input for - this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - add-fields-processor items: @@ -34147,7 +34246,6 @@ components: - id - type - include - - inputs - target type: object ObservabilityPipelineEnrichmentTableProcessorType: @@ -34179,6 +34277,10 @@ components: on a Datadog search query. Logs that match the `include` query are passed through; others are discarded. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` @@ -34192,8 +34294,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -34205,7 +34308,6 @@ components: - id - type - include - - inputs type: object ObservabilityPipelineFilterProcessorType: default: filter @@ -34285,6 +34387,10 @@ components: Metrics can be counters, gauges, or distributions and optionally grouped by log fields.' properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline. @@ -34296,8 +34402,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - source-id items: @@ -34313,9 +34420,6 @@ components: required: - id - type - - inputs - - include - - metrics type: object ObservabilityPipelineGenerateMetricsProcessorType: default: generate_datadog_metrics @@ -34916,6 +35020,10 @@ components: description: The `ocsf_mapper` processor transforms logs into the OCSF schema using a predefined mapping configuration. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline. @@ -34927,8 +35035,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - filter-processor items: @@ -34945,7 +35054,6 @@ components: - id - type - include - - inputs - mappings type: object ObservabilityPipelineOcsfMapperProcessorMapping: @@ -35051,6 +35159,10 @@ components: by Datadog. example: true type: boolean + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: A unique identifier for this processor. example: parse-grok-processor @@ -35061,8 +35173,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -35081,7 +35194,6 @@ components: - id - type - include - - inputs - rules type: object ObservabilityPipelineParseGrokProcessorRule: @@ -35167,6 +35279,10 @@ components: and flattens it into the event. This is useful when logs contain embedded JSON as a string. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean field: description: The name of the log field that contains a JSON string. example: message @@ -35183,8 +35299,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -35197,7 +35314,6 @@ components: - type - include - field - - inputs type: object ObservabilityPipelineParseJSONProcessorType: default: parse_json @@ -35230,6 +35346,10 @@ components: the filter query continue through the pipeline. example: false type: boolean + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` @@ -35246,8 +35366,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -35284,7 +35405,6 @@ components: - name - drop_events - limit - - inputs type: object ObservabilityPipelineQuotaProcessorLimit: description: The maximum amount of data or number of events allowed before the @@ -35360,6 +35480,10 @@ components: description: The `reduce` processor aggregates and merges logs based on matching keys and merge strategies. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean group_by: description: A list of fields used to group log events for merging. example: @@ -35378,8 +35502,9 @@ components: example: env:prod type: string inputs: - description: A list of component IDs whose output is used as the input for - this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - parse-json-processor items: @@ -35397,7 +35522,6 @@ components: - id - type - include - - inputs - group_by - merge_strategies type: object @@ -35456,6 +35580,10 @@ components: ObservabilityPipelineRemoveFieldsProcessor: description: The `remove_fields` processor deletes specified fields from logs. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean fields: description: A list of field names to be removed from each log event. example: @@ -35476,7 +35604,9 @@ components: example: service:my-service type: string inputs: - description: The `PipelineRemoveFieldsProcessor` `inputs`. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -35489,7 +35619,6 @@ components: - type - include - fields - - inputs type: object ObservabilityPipelineRemoveFieldsProcessorType: default: remove_fields @@ -35503,6 +35632,10 @@ components: ObservabilityPipelineRenameFieldsProcessor: description: The `rename_fields` processor changes field names. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean fields: description: A list of rename rules specifying which fields to rename in the event, what to rename them to, and whether to preserve the original @@ -35522,8 +35655,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -35536,7 +35670,6 @@ components: - type - include - fields - - inputs type: object ObservabilityPipelineRenameFieldsProcessorField: description: Defines how to rename a field in log events. @@ -35642,6 +35775,10 @@ components: description: The `sample` processor allows probabilistic sampling of logs at a fixed rate. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` @@ -35654,8 +35791,9 @@ components: example: service:my-service type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -35678,7 +35816,6 @@ components: - id - type - include - - inputs type: object ObservabilityPipelineSampleProcessorType: default: sample @@ -35693,6 +35830,10 @@ components: description: The `sensitive_data_scanner` processor detects and optionally redacts sensitive data in log events. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean 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 @@ -35705,8 +35846,9 @@ components: example: source:prod type: string inputs: - description: A list of component IDs whose output is used as the `input` - for this component. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - parse-json-processor items: @@ -35724,7 +35866,6 @@ components: - id - type - include - - inputs - rules type: object ObservabilityPipelineSensitiveDataScannerProcessorAction: @@ -36686,6 +36827,10 @@ components: description: The `throttle` processor limits the number of events that pass through over a given time window. properties: + enabled: + description: Whether this processor is enabled. + example: true + type: boolean group_by: description: Optional list of fields used to group events before the threshold has been reached. @@ -36704,8 +36849,9 @@ components: example: env:prod type: string inputs: - description: A list of component IDs whose output is used as the input for - this processor. + description: A list of component IDs whose output is used as input for this + processor. Required when used as a standalone processor, omit when used + within a processor group. example: - datadog-agent-source items: @@ -36728,7 +36874,6 @@ components: - id - type - include - - inputs - threshold - window type: object diff --git a/services/observability_pipelines/src/v2/index.ts b/services/observability_pipelines/src/v2/index.ts index aa6987ccea12..2706bfc412a5 100644 --- a/services/observability_pipelines/src/v2/index.ts +++ b/services/observability_pipelines/src/v2/index.ts @@ -37,7 +37,9 @@ export { ObservabilityPipelineAmazonSecurityLakeDestinationType } from "./models export { ObservabilityPipelineAwsAuth } from "./models/ObservabilityPipelineAwsAuth"; export { ObservabilityPipelineConfig } from "./models/ObservabilityPipelineConfig"; export { ObservabilityPipelineConfigDestinationItem } from "./models/ObservabilityPipelineConfigDestinationItem"; +export { ObservabilityPipelineConfigProcessorGroup } from "./models/ObservabilityPipelineConfigProcessorGroup"; export { ObservabilityPipelineConfigProcessorItem } from "./models/ObservabilityPipelineConfigProcessorItem"; +export { ObservabilityPipelineConfigProcessors } from "./models/ObservabilityPipelineConfigProcessors"; export { ObservabilityPipelineConfigSourceItem } from "./models/ObservabilityPipelineConfigSourceItem"; export { ObservabilityPipelineCrowdStrikeNextGenSiemDestination } from "./models/ObservabilityPipelineCrowdStrikeNextGenSiemDestination"; export { ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression } from "./models/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression"; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddEnvVarsProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddEnvVarsProcessor.ts index 177f7394dd22..ab9d4b3479ab 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddEnvVarsProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddEnvVarsProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineAddEnvVarsProcessorVariable } from "./Observabilit * The `add_env_vars` processor adds environment variable values to log events. */ export class ObservabilityPipelineAddEnvVarsProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this processor in the pipeline. */ @@ -16,9 +20,9 @@ export class ObservabilityPipelineAddEnvVarsProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the input for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The processor type. The value should always be `add_env_vars`. */ @@ -42,6 +46,10 @@ export class ObservabilityPipelineAddEnvVarsProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -55,7 +63,6 @@ export class ObservabilityPipelineAddEnvVarsProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddFieldsProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddFieldsProcessor.ts index 3f3316cd929b..329cc0c7fef6 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddFieldsProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineAddFieldsProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineFieldValue } from "./ObservabilityPipelineFieldVal * The `add_fields` processor adds static key-value fields to logs. */ export class ObservabilityPipelineAddFieldsProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * A list of static fields (key-value pairs) that is added to each log event processed by this component. */ @@ -20,9 +24,9 @@ export class ObservabilityPipelineAddFieldsProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The processor type. The value should always be `add_fields`. */ @@ -42,6 +46,10 @@ export class ObservabilityPipelineAddFieldsProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, fields: { baseName: "fields", type: "Array", @@ -60,7 +68,6 @@ export class ObservabilityPipelineAddFieldsProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfig.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfig.ts index 9dac45b2e278..1597ac6263fe 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfig.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfig.ts @@ -1,7 +1,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { ObservabilityPipelineConfigDestinationItem } from "./ObservabilityPipelineConfigDestinationItem"; -import { ObservabilityPipelineConfigProcessorItem } from "./ObservabilityPipelineConfigProcessorItem"; +import { ObservabilityPipelineConfigProcessors } from "./ObservabilityPipelineConfigProcessors"; import { ObservabilityPipelineConfigSourceItem } from "./ObservabilityPipelineConfigSourceItem"; /** @@ -13,9 +13,9 @@ export class ObservabilityPipelineConfig { */ "destinations": Array; /** - * A list of processors that transform or enrich log data. + * A list of processors that transform or enrich log data, or a list of grouped processor configurations. */ - "processors"?: Array; + "processors"?: ObservabilityPipelineConfigProcessors; /** * A list of configured data sources for the pipeline. */ @@ -42,7 +42,7 @@ export class ObservabilityPipelineConfig { }, processors: { baseName: "processors", - type: "Array", + type: "ObservabilityPipelineConfigProcessors", }, sources: { baseName: "sources", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorGroup.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorGroup.ts new file mode 100644 index 000000000000..3171c43ecb5c --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessorGroup.ts @@ -0,0 +1,82 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineConfigProcessorItem } from "./ObservabilityPipelineConfigProcessorItem"; + +/** + * A group of processors. + */ +export class ObservabilityPipelineConfigProcessorGroup { + /** + * Whether this processor group is enabled. + */ + "enabled"?: boolean; + /** + * The unique identifier for the processor group. + */ + "id": string; + /** + * Conditional expression for when this processor group should execute. + */ + "include": string; + /** + * A list of component IDs whose output is used as the input for this processor group. + */ + "inputs": Array; + /** + * Processors applied sequentially within this group. No `inputs` fields required - events flow through each processor in order. + */ + "processors": Array; + /** + * 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 = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + include: { + baseName: "include", + type: "string", + required: true, + }, + inputs: { + baseName: "inputs", + type: "Array", + required: true, + }, + processors: { + baseName: "processors", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ObservabilityPipelineConfigProcessorGroup.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessors.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessors.ts new file mode 100644 index 000000000000..15f720268c3c --- /dev/null +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineConfigProcessors.ts @@ -0,0 +1,12 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +import { ObservabilityPipelineConfigProcessorGroup } from "./ObservabilityPipelineConfigProcessorGroup"; +import { ObservabilityPipelineConfigProcessorItem } from "./ObservabilityPipelineConfigProcessorItem"; + +/** + * A list of processors that transform or enrich log data, or a list of grouped processor configurations. + */ +export type ObservabilityPipelineConfigProcessors = + | Array + | Array + | UnparsedObject; diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineCustomProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineCustomProcessor.ts index 510d12002e2d..90db3e21bcf9 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineCustomProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineCustomProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineCustomProcessorType } from "./ObservabilityPipelin * The `custom_processor` processor transforms events using [Vector Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with advanced filtering capabilities. */ export class ObservabilityPipelineCustomProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this processor. */ @@ -16,9 +20,9 @@ export class ObservabilityPipelineCustomProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the input for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * Array of VRL remap rules. */ @@ -42,6 +46,10 @@ export class ObservabilityPipelineCustomProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -55,7 +63,6 @@ export class ObservabilityPipelineCustomProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, remaps: { baseName: "remaps", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineDatadogTagsProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineDatadogTagsProcessor.ts index d128a67891dd..6997061a985c 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineDatadogTagsProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineDatadogTagsProcessor.ts @@ -12,6 +12,10 @@ export class ObservabilityPipelineDatadogTagsProcessor { * The action to take on tags with matching keys. */ "action": ObservabilityPipelineDatadogTagsProcessorAction; + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components). */ @@ -21,9 +25,9 @@ export class ObservabilityPipelineDatadogTagsProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * A list of tag keys. */ @@ -56,6 +60,10 @@ export class ObservabilityPipelineDatadogTagsProcessor { type: "ObservabilityPipelineDatadogTagsProcessorAction", required: true, }, + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -69,7 +77,6 @@ export class ObservabilityPipelineDatadogTagsProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, keys: { baseName: "keys", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineDedupeProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineDedupeProcessor.ts index abdc6db8ca67..9e8941ae6c1a 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineDedupeProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineDedupeProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineDedupeProcessorType } from "./ObservabilityPipelin * The `dedupe` processor removes duplicate fields in log events. */ export class ObservabilityPipelineDedupeProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * A list of log field paths to check for duplicates. */ @@ -20,9 +24,9 @@ export class ObservabilityPipelineDedupeProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the input for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The deduplication mode to apply to the fields. */ @@ -46,6 +50,10 @@ export class ObservabilityPipelineDedupeProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, fields: { baseName: "fields", type: "Array", @@ -64,7 +72,6 @@ export class ObservabilityPipelineDedupeProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, mode: { baseName: "mode", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineEnrichmentTableProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineEnrichmentTableProcessor.ts index a9e6a9d86ea7..c68b19ba2aa1 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineEnrichmentTableProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineEnrichmentTableProcessor.ts @@ -8,6 +8,10 @@ import { ObservabilityPipelineEnrichmentTableProcessorType } from "./Observabili * The `enrichment_table` processor enriches logs using a static CSV file or GeoIP database. */ export class ObservabilityPipelineEnrichmentTableProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * Defines a static enrichment table loaded from a CSV file. */ @@ -25,9 +29,9 @@ export class ObservabilityPipelineEnrichmentTableProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the input for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * Path where enrichment results should be stored in the log. */ @@ -51,6 +55,10 @@ export class ObservabilityPipelineEnrichmentTableProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, file: { baseName: "file", type: "ObservabilityPipelineEnrichmentTableFile", @@ -72,7 +80,6 @@ export class ObservabilityPipelineEnrichmentTableProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, target: { baseName: "target", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineFilterProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineFilterProcessor.ts index e548ca319df0..dd27c46a79ff 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineFilterProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineFilterProcessor.ts @@ -6,6 +6,10 @@ import { ObservabilityPipelineFilterProcessorType } from "./ObservabilityPipelin * The `filter` processor allows conditional processing of logs based on a Datadog search query. Logs that match the `include` query are passed through; others are discarded. */ export class ObservabilityPipelineFilterProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components). */ @@ -15,9 +19,9 @@ export class ObservabilityPipelineFilterProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The processor type. The value should always be `filter`. */ @@ -37,6 +41,10 @@ export class ObservabilityPipelineFilterProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -50,7 +58,6 @@ export class ObservabilityPipelineFilterProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineGenerateMetricsProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineGenerateMetricsProcessor.ts index 7c305b76066e..c6a66148f1ad 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineGenerateMetricsProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineGenerateMetricsProcessor.ts @@ -8,6 +8,10 @@ import { ObservabilityPipelineGenerateMetricsProcessorType } from "./Observabili * Metrics can be counters, gauges, or distributions and optionally grouped by log fields. */ export class ObservabilityPipelineGenerateMetricsProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline. */ @@ -15,15 +19,15 @@ export class ObservabilityPipelineGenerateMetricsProcessor { /** * A Datadog search query used to determine which logs this processor targets. */ - "include": string; + "include"?: string; /** - * A list of component IDs whose output is used as the `input` for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * Configuration for generating individual metrics. */ - "metrics": Array; + "metrics"?: Array; /** * The processor type. Always `generate_datadog_metrics`. */ @@ -43,6 +47,10 @@ export class ObservabilityPipelineGenerateMetricsProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -51,17 +59,14 @@ export class ObservabilityPipelineGenerateMetricsProcessor { include: { baseName: "include", type: "string", - required: true, }, inputs: { baseName: "inputs", type: "Array", - required: true, }, metrics: { baseName: "metrics", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineOcsfMapperProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineOcsfMapperProcessor.ts index c52b5598e284..fc9781b55449 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineOcsfMapperProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineOcsfMapperProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineOcsfMapperProcessorType } from "./ObservabilityPip * The `ocsf_mapper` processor transforms logs into the OCSF schema using a predefined mapping configuration. */ export class ObservabilityPipelineOcsfMapperProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline. */ @@ -16,9 +20,9 @@ export class ObservabilityPipelineOcsfMapperProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * A list of mapping rules to convert events to the OCSF format. */ @@ -42,6 +46,10 @@ export class ObservabilityPipelineOcsfMapperProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -55,7 +63,6 @@ export class ObservabilityPipelineOcsfMapperProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, mappings: { baseName: "mappings", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseGrokProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseGrokProcessor.ts index 48e13e37d7ea..9c4e4cd69498 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseGrokProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseGrokProcessor.ts @@ -11,6 +11,10 @@ export class ObservabilityPipelineParseGrokProcessor { * If set to `true`, disables the default Grok rules provided by Datadog. */ "disableLibraryRules"?: boolean; + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * A unique identifier for this processor. */ @@ -20,9 +24,9 @@ export class ObservabilityPipelineParseGrokProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied. */ @@ -50,6 +54,10 @@ export class ObservabilityPipelineParseGrokProcessor { baseName: "disable_library_rules", type: "boolean", }, + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -63,7 +71,6 @@ export class ObservabilityPipelineParseGrokProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, rules: { baseName: "rules", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseJSONProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseJSONProcessor.ts index 1845c2019514..309ddb65a679 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseJSONProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineParseJSONProcessor.ts @@ -6,6 +6,10 @@ import { ObservabilityPipelineParseJSONProcessorType } from "./ObservabilityPipe * The `parse_json` processor extracts JSON from a specified field and flattens it into the event. This is useful when logs contain embedded JSON as a string. */ export class ObservabilityPipelineParseJSONProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The name of the log field that contains a JSON string. */ @@ -19,9 +23,9 @@ export class ObservabilityPipelineParseJSONProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The processor type. The value should always be `parse_json`. */ @@ -41,6 +45,10 @@ export class ObservabilityPipelineParseJSONProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, field: { baseName: "field", type: "string", @@ -59,7 +67,6 @@ export class ObservabilityPipelineParseJSONProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineQuotaProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineQuotaProcessor.ts index 3084dfa0ab17..e8724f6e4b35 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineQuotaProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineQuotaProcessor.ts @@ -13,6 +13,10 @@ export class ObservabilityPipelineQuotaProcessor { * If set to `true`, logs that matched the quota filter and sent after the quota has been met are dropped; only logs that did not match the filter query continue through the pipeline. */ "dropEvents": boolean; + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components). */ @@ -26,9 +30,9 @@ export class ObservabilityPipelineQuotaProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The maximum amount of data or number of events allowed before the quota is enforced. Can be specified in bytes or events. */ @@ -76,6 +80,10 @@ export class ObservabilityPipelineQuotaProcessor { type: "boolean", required: true, }, + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -93,7 +101,6 @@ export class ObservabilityPipelineQuotaProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, limit: { baseName: "limit", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineReduceProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineReduceProcessor.ts index f3c0f27937ca..8e86afd50a34 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineReduceProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineReduceProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineReduceProcessorType } from "./ObservabilityPipelin * The `reduce` processor aggregates and merges logs based on matching keys and merge strategies. */ export class ObservabilityPipelineReduceProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * A list of fields used to group log events for merging. */ @@ -20,9 +24,9 @@ export class ObservabilityPipelineReduceProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the input for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * List of merge strategies defining how values from grouped events should be combined. */ @@ -46,6 +50,10 @@ export class ObservabilityPipelineReduceProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, groupBy: { baseName: "group_by", type: "Array", @@ -64,7 +72,6 @@ export class ObservabilityPipelineReduceProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, mergeStrategies: { baseName: "merge_strategies", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemoveFieldsProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemoveFieldsProcessor.ts index 21809448b1d4..690119ebb25e 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemoveFieldsProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRemoveFieldsProcessor.ts @@ -6,6 +6,10 @@ import { ObservabilityPipelineRemoveFieldsProcessorType } from "./ObservabilityP * The `remove_fields` processor deletes specified fields from logs. */ export class ObservabilityPipelineRemoveFieldsProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * A list of field names to be removed from each log event. */ @@ -19,9 +23,9 @@ export class ObservabilityPipelineRemoveFieldsProcessor { */ "include": string; /** - * The `PipelineRemoveFieldsProcessor` `inputs`. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The processor type. The value should always be `remove_fields`. */ @@ -41,6 +45,10 @@ export class ObservabilityPipelineRemoveFieldsProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, fields: { baseName: "fields", type: "Array", @@ -59,7 +67,6 @@ export class ObservabilityPipelineRemoveFieldsProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRenameFieldsProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRenameFieldsProcessor.ts index 8a741f25eab2..78aaff9a041f 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineRenameFieldsProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineRenameFieldsProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineRenameFieldsProcessorType } from "./ObservabilityP * The `rename_fields` processor changes field names. */ export class ObservabilityPipelineRenameFieldsProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * A list of rename rules specifying which fields to rename in the event, what to rename them to, and whether to preserve the original fields. */ @@ -20,9 +24,9 @@ export class ObservabilityPipelineRenameFieldsProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The processor type. The value should always be `rename_fields`. */ @@ -42,6 +46,10 @@ export class ObservabilityPipelineRenameFieldsProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, fields: { baseName: "fields", type: "Array", @@ -60,7 +68,6 @@ export class ObservabilityPipelineRenameFieldsProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, type: { baseName: "type", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSampleProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSampleProcessor.ts index 5c38f6749e54..0b96d559bf02 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSampleProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSampleProcessor.ts @@ -6,6 +6,10 @@ import { ObservabilityPipelineSampleProcessorType } from "./ObservabilityPipelin * The `sample` processor allows probabilistic sampling of logs at a fixed rate. */ export class ObservabilityPipelineSampleProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components). */ @@ -15,9 +19,9 @@ export class ObservabilityPipelineSampleProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * The percentage of logs to sample. */ @@ -45,6 +49,10 @@ export class ObservabilityPipelineSampleProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -58,7 +66,6 @@ export class ObservabilityPipelineSampleProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, percentage: { baseName: "percentage", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSensitiveDataScannerProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSensitiveDataScannerProcessor.ts index b12093fd6082..9d3cf0568c0a 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineSensitiveDataScannerProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineSensitiveDataScannerProcessor.ts @@ -7,6 +7,10 @@ import { ObservabilityPipelineSensitiveDataScannerProcessorType } from "./Observ * The `sensitive_data_scanner` processor detects and optionally redacts sensitive data in log events. */ export class ObservabilityPipelineSensitiveDataScannerProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). */ @@ -16,9 +20,9 @@ export class ObservabilityPipelineSensitiveDataScannerProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the `input` for this component. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * A list of rules for identifying and acting on sensitive data patterns. */ @@ -42,6 +46,10 @@ export class ObservabilityPipelineSensitiveDataScannerProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, id: { baseName: "id", type: "string", @@ -55,7 +63,6 @@ export class ObservabilityPipelineSensitiveDataScannerProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, rules: { baseName: "rules", diff --git a/services/observability_pipelines/src/v2/models/ObservabilityPipelineThrottleProcessor.ts b/services/observability_pipelines/src/v2/models/ObservabilityPipelineThrottleProcessor.ts index 9b5a7df63833..fc9f63131b43 100644 --- a/services/observability_pipelines/src/v2/models/ObservabilityPipelineThrottleProcessor.ts +++ b/services/observability_pipelines/src/v2/models/ObservabilityPipelineThrottleProcessor.ts @@ -6,6 +6,10 @@ import { ObservabilityPipelineThrottleProcessorType } from "./ObservabilityPipel * The `throttle` processor limits the number of events that pass through over a given time window. */ export class ObservabilityPipelineThrottleProcessor { + /** + * Whether this processor is enabled. + */ + "enabled"?: boolean; /** * Optional list of fields used to group events before the threshold has been reached. */ @@ -19,9 +23,9 @@ export class ObservabilityPipelineThrottleProcessor { */ "include": string; /** - * A list of component IDs whose output is used as the input for this processor. + * A list of component IDs whose output is used as input for this processor. Required when used as a standalone processor, omit when used within a processor group. */ - "inputs": Array; + "inputs"?: Array; /** * the number of events allowed in a given time window. Events sent after the threshold has been reached, are dropped. */ @@ -49,6 +53,10 @@ export class ObservabilityPipelineThrottleProcessor { * @ignore */ static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, groupBy: { baseName: "group_by", type: "Array", @@ -66,7 +74,6 @@ export class ObservabilityPipelineThrottleProcessor { inputs: { baseName: "inputs", type: "Array", - required: true, }, threshold: { baseName: "threshold", diff --git a/services/observability_pipelines/src/v2/models/TypingInfo.ts b/services/observability_pipelines/src/v2/models/TypingInfo.ts index abb5e4c02579..5c3b6827dbd1 100644 --- a/services/observability_pipelines/src/v2/models/TypingInfo.ts +++ b/services/observability_pipelines/src/v2/models/TypingInfo.ts @@ -17,6 +17,7 @@ import { ObservabilityPipelineAmazonS3Source } from "./ObservabilityPipelineAmaz import { ObservabilityPipelineAmazonSecurityLakeDestination } from "./ObservabilityPipelineAmazonSecurityLakeDestination"; import { ObservabilityPipelineAwsAuth } from "./ObservabilityPipelineAwsAuth"; import { ObservabilityPipelineConfig } from "./ObservabilityPipelineConfig"; +import { ObservabilityPipelineConfigProcessorGroup } from "./ObservabilityPipelineConfigProcessorGroup"; import { ObservabilityPipelineCrowdStrikeNextGenSiemDestination } from "./ObservabilityPipelineCrowdStrikeNextGenSiemDestination"; import { ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression } from "./ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression"; import { ObservabilityPipelineCustomProcessor } from "./ObservabilityPipelineCustomProcessor"; @@ -397,6 +398,10 @@ export const TypingInfo: ModelTypingInfo = { "ObservabilityPipelineCustomProcessor", "ObservabilityPipelineDatadogTagsProcessor", ], + ObservabilityPipelineConfigProcessors: [ + "Array", + "Array", + ], ObservabilityPipelineConfigSourceItem: [ "ObservabilityPipelineKafkaSource", "ObservabilityPipelineDatadogAgentSource", @@ -475,6 +480,8 @@ export const TypingInfo: ModelTypingInfo = { ObservabilityPipelineAmazonSecurityLakeDestination, ObservabilityPipelineAwsAuth: ObservabilityPipelineAwsAuth, ObservabilityPipelineConfig: ObservabilityPipelineConfig, + ObservabilityPipelineConfigProcessorGroup: + ObservabilityPipelineConfigProcessorGroup, ObservabilityPipelineCrowdStrikeNextGenSiemDestination: ObservabilityPipelineCrowdStrikeNextGenSiemDestination, ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression: