diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 82b87c5b71cd..411f9de1471c 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -34832,6 +34832,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. @@ -34842,14 +34846,6 @@ components: targets. example: service:my-service 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 type: $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessorType' variables: @@ -34861,8 +34857,8 @@ components: - id - type - include - - inputs - variables + - enabled type: object ObservabilityPipelineAddEnvVarsProcessorType: default: add_env_vars @@ -34891,6 +34887,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. @@ -34908,14 +34908,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array type: $ref: '#/components/schemas/ObservabilityPipelineAddFieldsProcessorType' required: @@ -34923,7 +34915,7 @@ components: - type - include - fields - - inputs + - enabled type: object ObservabilityPipelineAddFieldsProcessorType: default: add_fields @@ -35226,15 +35218,25 @@ components: $ref: '#/components/schemas/ObservabilityPipelineConfigDestinationItem' type: array processors: - description: A list of processors that transform or enrich log data. + description: A list of processor groups that transform or enrich log data. example: - - id: filter-processor + - enabled: true + id: my-processor-group include: service:my-service inputs: - datadog-agent-source - type: filter + processors: + - enabled: true + id: filter-processor + include: status:error + type: filter + - enabled: true + field: message + id: json-processor + include: '*' + type: parse_json items: - $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorGroup' type: array sources: description: A list of configured data sources for the pipeline. @@ -35270,6 +35272,73 @@ components: - $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination' - $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination' - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestination' + ObservabilityPipelineConfigProcessorGroup: + description: A group of processors. + example: + enabled: true + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - enabled: true + fields: + - name: env + value: prod + id: add-fields-processor + include: '*' + type: add_fields + - enabled: true + 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 IDs for components 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. Events flow + through each processor in order. + example: + - enabled: true + fields: + - name: env + value: prod + id: add-fields-processor + include: '*' + type: add_fields + - enabled: true + id: filter-processor + include: status:error + type: filter + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' + type: array + required: + - id + - include + - inputs + - processors + - enabled + type: object ObservabilityPipelineConfigProcessorItem: description: A processor for the pipeline. oneOf: @@ -35387,6 +35456,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 @@ -35398,14 +35471,6 @@ components: 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: @@ -35419,7 +35484,7 @@ components: - type - include - remaps - - inputs + - enabled type: object ObservabilityPipelineCustomProcessorRemap: description: Defines a single VRL remap rule with its own filtering and transformation @@ -35450,7 +35515,6 @@ components: - include - name - source - - enabled - drop_on_error type: object ObservabilityPipelineCustomProcessorType: @@ -35559,6 +35623,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` @@ -35570,14 +35638,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array keys: description: A list of tag keys. example: @@ -35598,7 +35658,7 @@ components: - mode - action - keys - - inputs + - enabled type: object ObservabilityPipelineDatadogTagsProcessorAction: description: The action to take on tags with matching keys. @@ -35644,6 +35704,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: @@ -35661,14 +35725,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the input for - this processor. - example: - - parse-json-processor - items: - type: string - type: array mode: $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorMode' type: @@ -35677,9 +35733,9 @@ components: - id - type - include - - inputs - fields - mode + - enabled type: object ObservabilityPipelineDedupeProcessorMode: description: The deduplication mode to apply to the fields. @@ -35885,6 +35941,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: @@ -35898,14 +35958,6 @@ components: targets. example: source:my-source type: string - inputs: - description: A list of component IDs whose output is used as the input for - this processor. - example: - - add-fields-processor - items: - type: string - type: array target: description: Path where enrichment results should be stored in the log. example: enriched.geoip @@ -35916,8 +35968,8 @@ components: - id - type - include - - inputs - target + - enabled type: object ObservabilityPipelineEnrichmentTableProcessorType: default: enrichment_table @@ -35948,6 +36000,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` @@ -35960,21 +36016,13 @@ components: components; others are dropped. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array type: $ref: '#/components/schemas/ObservabilityPipelineFilterProcessorType' required: - id - type - include - - inputs + - enabled type: object ObservabilityPipelineFilterProcessorType: default: filter @@ -36054,6 +36102,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. @@ -36064,14 +36116,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this processor. - example: - - source-id - items: - type: string - type: array metrics: description: Configuration for generating individual metrics. items: @@ -36082,9 +36126,7 @@ components: required: - id - type - - inputs - - include - - metrics + - enabled type: object ObservabilityPipelineGenerateMetricsProcessorType: default: generate_datadog_metrics @@ -36681,6 +36723,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. @@ -36691,14 +36737,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this processor. - example: - - filter-processor - items: - type: string - type: array mappings: description: A list of mapping rules to convert events to the OCSF format. items: @@ -36710,8 +36748,8 @@ components: - id - type - include - - inputs - mappings + - enabled type: object ObservabilityPipelineOcsfMapperProcessorMapping: description: Defines how specific events are transformed to OCSF using a mapping @@ -36816,6 +36854,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 @@ -36825,14 +36867,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array rules: description: The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match @@ -36846,8 +36880,8 @@ components: - id - type - include - - inputs - rules + - enabled type: object ObservabilityPipelineParseGrokProcessorRule: description: 'A Grok parsing rule used in the `parse_grok` processor. Each rule @@ -36932,6 +36966,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 @@ -36947,14 +36985,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array type: $ref: '#/components/schemas/ObservabilityPipelineParseJSONProcessorType' required: @@ -36962,7 +36992,7 @@ components: - type - include - field - - inputs + - enabled type: object ObservabilityPipelineParseJSONProcessorType: default: parse_json @@ -36995,6 +37025,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` @@ -37010,14 +37044,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array limit: $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimit' name: @@ -37047,9 +37073,8 @@ components: - type - include - name - - drop_events - limit - - inputs + - enabled type: object ObservabilityPipelineQuotaProcessorLimit: description: The maximum amount of data or number of events allowed before the @@ -37125,6 +37150,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: @@ -37142,14 +37171,6 @@ components: targets. example: env:prod type: string - inputs: - description: A list of component IDs whose output is used as the input for - this processor. - example: - - parse-json-processor - items: - type: string - type: array merge_strategies: description: List of merge strategies defining how values from grouped events should be combined. @@ -37162,9 +37183,9 @@ components: - id - type - include - - inputs - group_by - merge_strategies + - enabled type: object ObservabilityPipelineReduceProcessorMergeStrategy: description: Defines how a specific field should be merged across grouped events. @@ -37221,6 +37242,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: @@ -37240,13 +37265,6 @@ components: targets. example: service:my-service type: string - inputs: - description: The `PipelineRemoveFieldsProcessor` `inputs`. - example: - - datadog-agent-source - items: - type: string - type: array type: $ref: '#/components/schemas/ObservabilityPipelineRemoveFieldsProcessorType' required: @@ -37254,7 +37272,7 @@ components: - type - include - fields - - inputs + - enabled type: object ObservabilityPipelineRemoveFieldsProcessorType: default: remove_fields @@ -37268,6 +37286,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 @@ -37286,14 +37308,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array type: $ref: '#/components/schemas/ObservabilityPipelineRenameFieldsProcessorType' required: @@ -37301,7 +37315,7 @@ components: - type - include - fields - - inputs + - enabled type: object ObservabilityPipelineRenameFieldsProcessorField: description: Defines how to rename a field in log events. @@ -37407,6 +37421,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` @@ -37418,14 +37436,6 @@ components: targets. example: service:my-service type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - datadog-agent-source - items: - type: string - type: array percentage: description: The percentage of logs to sample. example: 10.0 @@ -37443,7 +37453,7 @@ components: - id - type - include - - inputs + - enabled type: object ObservabilityPipelineSampleProcessorType: default: sample @@ -37458,6 +37468,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 @@ -37469,14 +37483,6 @@ components: targets. example: source:prod type: string - inputs: - description: A list of component IDs whose output is used as the `input` - for this component. - example: - - parse-json-processor - items: - type: string - type: array rules: description: A list of rules for identifying and acting on sensitive data patterns. @@ -37489,8 +37495,8 @@ components: - id - type - include - - inputs - rules + - enabled type: object ObservabilityPipelineSensitiveDataScannerProcessorAction: description: Defines what action to take when sensitive data is matched. @@ -38451,6 +38457,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. @@ -38468,14 +38478,6 @@ components: targets. example: env:prod 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 threshold: description: the number of events allowed in a given time window. Events sent after the threshold has been reached, are dropped. @@ -38493,9 +38495,9 @@ components: - id - type - include - - inputs - threshold - window + - enabled type: object ObservabilityPipelineThrottleProcessorType: default: throttle diff --git a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.frozen b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.frozen index 71a6a094850a..ab5be24b5e22 100644 --- a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:21.625Z \ No newline at end of file +2025-12-12T12:01:38.830Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.yml b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.yml index b027c6064563..0f09e087a13a 100644 --- a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.yml +++ b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-Bad-Request-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:21 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:38 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"unknown-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"unknown-processor","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"errors":[{"title":"Component with ID filter-processor is an unknown - component","meta":{"message":"Component with ID filter-processor is an unknown + string: '{"errors":[{"title":"Component with ID my-processor-group is an unknown + component","meta":{"message":"Component with ID my-processor-group is an unknown component"}},{"title":"The following components are unused: [datadog-agent-source unknown-processor]","meta":{"message":"The following components are unused: [datadog-agent-source unknown-processor]"}}]} diff --git a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.frozen b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.frozen index a6261e736fd3..54d3e11ac3b0 100644 --- a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:23.837Z \ No newline at end of file +2025-12-12T12:01:39.315Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.yml b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.yml index 7ec7adf2c1e0..57b07e70092e 100644 --- a/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.yml +++ b/cassettes/features/v2/observability_pipelines/Create-a-new-pipeline-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:23 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:39 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"d891e45c-21fa-11f0-96dc-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"512fbd46-d752-11f0-b25a-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -25,14 +25,14 @@ http_interactions: status: code: 201 message: Created -- recorded_at: Fri, 25 Apr 2025 17:29:23 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:39 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/d891e45c-21fa-11f0-96dc-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/512fbd46-d752-11f0-b25a-da7ad0900002 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.frozen b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.frozen index 033a0755d0bc..11b70ae943fb 100644 --- a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:25.292Z \ No newline at end of file +2025-12-12T12:01:40.725Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.yml b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.yml index 24fd64ef6237..d7fd677503eb 100644 --- a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.yml +++ b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-Not-Found-response.yml @@ -1,5 +1,5 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:25 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:40 GMT request: body: null headers: diff --git a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.frozen b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.frozen index 9cbc728e0033..56c1eeacb0d9 100644 --- a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:26.847Z \ No newline at end of file +2025-12-12T12:01:41.308Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.yml b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.yml index eea8a420468b..6d187d469bd5 100644 --- a/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.yml +++ b/cassettes/features/v2/observability_pipelines/Delete-a-pipeline-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:26 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:41 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"da5f2218-21fa-11f0-96de-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"5260fb94-d752-11f0-b25c-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -25,14 +25,14 @@ http_interactions: status: code: 201 message: Created -- recorded_at: Fri, 25 Apr 2025 17:29:26 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:41 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/da5f2218-21fa-11f0-96de-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/5260fb94-d752-11f0-b25c-da7ad0900002 response: body: encoding: UTF-8 @@ -43,14 +43,14 @@ http_interactions: status: code: 204 message: No Content -- recorded_at: Fri, 25 Apr 2025 17:29:26 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:41 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/da5f2218-21fa-11f0-96de-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/5260fb94-d752-11f0-b25c-da7ad0900002 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.frozen b/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.frozen index f863fd1ac2d2..a850c336c3df 100644 --- a/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:29.196Z \ No newline at end of file +2025-12-12T12:01:43.689Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.yml b/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.yml index 883f491d0795..3203de1488ce 100644 --- a/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.yml +++ b/cassettes/features/v2/observability_pipelines/Get-a-specific-pipeline-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:29 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:43 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"dbbff3d0-21fa-11f0-96e0-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"53caaa70-d752-11f0-b766-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -25,19 +25,19 @@ http_interactions: status: code: 201 message: Created -- recorded_at: Fri, 25 Apr 2025 17:29:29 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:43 GMT request: body: null headers: Accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/dbbff3d0-21fa-11f0-96e0-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/53caaa70-d752-11f0-b766-da7ad0900002 response: body: encoding: UTF-8 - string: '{"data":{"id":"dbbff3d0-21fa-11f0-96e0-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"53caaa70-d752-11f0-b766-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -46,14 +46,14 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 25 Apr 2025 17:29:29 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:43 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/dbbff3d0-21fa-11f0-96e0-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/53caaa70-d752-11f0-b766-da7ad0900002 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.frozen b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.frozen index 3a7978da8a79..65b4915a7195 100644 --- a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.frozen +++ b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:31.769Z \ No newline at end of file +2025-12-12T12:01:46.096Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.yml b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.yml index 0456a06ef4d0..60e6e08c5f74 100644 --- a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.yml +++ b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-Bad-Request-response.yml @@ -1,5 +1,5 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:31 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:46 GMT request: body: null headers: diff --git a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.frozen b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.frozen index 4c9f3cfcbc39..d20c66e6abce 100644 --- a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.frozen +++ b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:32.322Z \ No newline at end of file +2025-12-12T12:01:46.582Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.yml b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.yml index 79ed4ba68e5a..1e9dde0f88be 100644 --- a/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.yml +++ b/cassettes/features/v2/observability_pipelines/List-pipelines-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:32 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:46 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"dd87c652-21fa-11f0-96e2-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"558588ee-d752-11f0-b25e-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -25,7 +25,7 @@ http_interactions: status: code: 201 message: Created -- recorded_at: Fri, 25 Apr 2025 17:29:32 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:46 GMT request: body: null headers: @@ -36,32 +36,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":[{"id":"8d85d864-0f09-11f0-9711-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"3f339054-10ab-11f0-88a2-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"b8c068de-10ab-11f0-88a8-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"32e2f90a-1139-11f0-8501-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"67e79020-1139-11f0-98d1-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"30966e06-113a-11f0-98e1-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"3e3f9382-138f-11f0-8cf0-da7ad0900002","type":"pipelines","attributes":{"name":"test - pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"service:my-service","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","tls":{"crt_file":"/path/to/cert.crt"},"type":"datadog_agent"}]}}},{"id":"42159650-138f-11f0-a2aa-da7ad0900002","type":"pipelines","attributes":{"name":"test - pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"service:my-service","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","tls":{"crt_file":"/path/to/cert.crt"},"type":"datadog_agent"}]}}},{"id":"6cc001f8-1392-11f0-9e35-da7ad0900002","type":"pipelines","attributes":{"name":"agent - with tls","config":{"destinations":[{"id":"destination-1","inputs":["source-with-tls"],"type":"datadog_logs"}],"processors":[],"sources":[{"id":"source-with-tls","tls":{"ca_file":"/etc/certs/ca.crt","crt_file":"/etc/certs/agent.crt","key_file":"/etc/certs/agent.key"},"type":"datadog_agent"}]}}},{"id":"bdf5078e-139d-11f0-8e4f-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"e67402d2-139d-11f0-8e51-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"e9849f22-139d-11f0-8e53-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"f9845bb0-139d-11f0-b101-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"2ebd82ca-139e-11f0-b103-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"31ba5a34-139e-11f0-8e55-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"3aa802c2-139e-11f0-8e57-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"7b3daaf8-139e-11f0-8e59-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"7e72d32e-139e-11f0-8e5b-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"818a8728-139e-11f0-8e5d-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"bed86e88-139e-11f0-8e5f-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"c202b050-139e-11f0-b107-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"c5111084-139e-11f0-8e61-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"e01ae6de-139e-11f0-8e63-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"e33ad356-139e-11f0-b109-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"e6783e78-139e-11f0-b10b-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"04407bfa-139f-11f0-8e65-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"126be958-139f-11f0-8e67-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"97607354-139f-11f0-8e6b-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"305f9a88-13a2-11f0-8dd9-da7ad0900002","type":"pipelines","attributes":{"name":"parse-json-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"env:parse","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"45669120-13a2-11f0-8ddb-da7ad0900002","type":"pipelines","attributes":{"name":"parse-json-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"env:parse","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"c00f7548-13a4-11f0-9315-da7ad0900002","type":"pipelines","attributes":{"name":"test - pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"service:my-service","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"c07cf206-13a6-11f0-949d-da7ad0900002","type":"pipelines","attributes":{"name":"test - pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"service:my-service","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"8ff06e36-13ad-11f0-8243-da7ad0900002","type":"pipelines","attributes":{"name":"add-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["add-fields-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"name":"custom.field","value":"hello-world"}],"id":"add-fields-1","include":"*","inputs":["source-1"],"type":"add_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"8ff1a508-13ad-11f0-b934-da7ad0900002","type":"pipelines","attributes":{"name":"agent - with tls","config":{"destinations":[{"id":"destination-1","inputs":["source-with-tls"],"type":"datadog_logs"}],"processors":[],"sources":[{"id":"source-with-tls","tls":{"crt_file":"/etc/certs/agent.crt","key_file":"/etc/certs/agent.key"},"type":"datadog_agent"}]}}},{"id":"8ff38a08-13ad-11f0-8245-da7ad0900002","type":"pipelines","attributes":{"name":"parse-json-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["parser-1"],"type":"datadog_logs"}],"processors":[{"field":"message","id":"parser-1","include":"env:parse","inputs":["source-1"],"type":"parse_json"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"8ff54f0a-13ad-11f0-8247-da7ad0900002","type":"pipelines","attributes":{"name":"kafka - pipeline","config":{"destinations":[{"id":"destination-1","inputs":["kafka-source-1"],"type":"datadog_logs"}],"processors":[],"sources":[{"group_id":"consumer-group-1","id":"kafka-source-1","sasl":{"mechanism":"PLAIN"},"tls":{"ca_file":"","crt_file":"/path/to/kafka.crt"},"topics":["topic-a","topic-b"],"type":"kafka"}]}}},{"id":"f814235e-13ad-11f0-b942-da7ad0900002","type":"pipelines","attributes":{"name":"agent - with tls","config":{"destinations":[{"id":"destination-1","inputs":["source-with-tls"],"type":"datadog_logs"}],"processors":[],"sources":[{"id":"source-with-tls","tls":{"crt_file":"/etc/certs/agent.crt","key_file":"/etc/certs/agent.key"},"type":"datadog_agent"}]}}},{"id":"5b1a9314-13ce-11f0-a9de-da7ad0900002","type":"pipelines","attributes":{"name":"rename-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["rename-1"],"type":"datadog_logs"}],"processors":[{"fields":[{"destination":"new.field","preserve_source":true,"source":"old.field"}],"id":"rename-1","include":"*","inputs":["source-1"],"type":"rename_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"1e356802-1419-11f0-8834-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"14156a86-142b-11f0-96f3-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"a5280a06-143a-11f0-aac4-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"5005f6c2-1481-11f0-8faa-da7ad0900002","type":"pipelines","attributes":{"name":"remove-fields-pipeline","config":{"destinations":[{"id":"destination-1","inputs":["remove-1"],"type":"datadog_logs"}],"processors":[{"fields":["temp.debug","internal.trace_id"],"id":"remove-1","include":"*","inputs":["source-1"],"type":"remove_fields"}],"sources":[{"id":"source-1","type":"datadog_agent"}]}}},{"id":"9c1776c0-14d7-11f0-87c9-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"b1e4c58c-1501-11f0-b0bd-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"43a8a4cc-15c3-11f0-b111-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"45042a58-15c3-11f0-b113-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"f9de3956-15cc-11f0-ac43-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"b3efaa52-1693-11f0-89e0-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"24c83620-1696-11f0-89e6-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}},{"id":"5d2875d6-17a2-11f0-9bd1-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}],"meta":{"totalCount":128}} + string: '{"data":[{"id":"558588ee-d752-11f0-b25e-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}],"meta":{"totalCount":1}} ' headers: @@ -70,14 +46,14 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 25 Apr 2025 17:29:32 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:46 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/dd87c652-21fa-11f0-96e2-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/558588ee-d752-11f0-b25e-da7ad0900002 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.frozen b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.frozen index a8aa863f11e4..f2c06e4be385 100644 --- a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:34.672Z \ No newline at end of file +2025-12-12T12:01:48.747Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.yml b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.yml index 5c5d0a35ecaf..7a5c256d9085 100644 --- a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.yml +++ b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Bad-Request-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:34 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:48 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"deeea5f6-21fa-11f0-96e4-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"56cdbe24-d752-11f0-b260-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -25,11 +25,11 @@ http_interactions: status: code: 201 message: Created -- recorded_at: Fri, 25 Apr 2025 17:29:34 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:48 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"unknown-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"unknown-processor","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","type":"pipelines"}}' headers: Accept: @@ -37,12 +37,12 @@ http_interactions: Content-Type: - application/json method: PUT - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/deeea5f6-21fa-11f0-96e4-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/56cdbe24-d752-11f0-b260-da7ad0900002 response: body: encoding: UTF-8 - string: '{"errors":[{"title":"Component with ID filter-processor is an unknown - component","meta":{"message":"Component with ID filter-processor is an unknown + string: '{"errors":[{"title":"Component with ID my-processor-group is an unknown + component","meta":{"message":"Component with ID my-processor-group is an unknown component"}},{"title":"The following components are unused: [datadog-agent-source unknown-processor]","meta":{"message":"The following components are unused: [datadog-agent-source unknown-processor]"}}]} @@ -54,14 +54,14 @@ http_interactions: status: code: 400 message: Bad Request -- recorded_at: Fri, 25 Apr 2025 17:29:34 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:48 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/deeea5f6-21fa-11f0-96e4-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/56cdbe24-d752-11f0-b260-da7ad0900002 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.frozen b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.frozen index 81821e325e08..90a907bd381d 100644 --- a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:36.564Z \ No newline at end of file +2025-12-12T12:01:50.671Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.yml b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.yml index 6ff8ab6e59e8..051ad602675f 100644 --- a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.yml +++ b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-Not-Found-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:36 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:50 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","type":"pipelines"}}' headers: Accept: diff --git a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.frozen b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.frozen index 8195f92c72eb..46edcdb93ad7 100644 --- a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:36.987Z \ No newline at end of file +2025-12-12T12:01:51.160Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.yml b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.yml index b8ee0702bdd4..a6de95e37e52 100644 --- a/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.yml +++ b/cassettes/features/v2/observability_pipelines/Update-a-pipeline-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:36 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:51 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -15,8 +15,8 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"e04d5230-21fa-11f0-96e6-da7ad0900002","type":"pipelines","attributes":{"name":"Main - Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"58407a12-d752-11f0-b262-da7ad0900002","type":"pipelines","attributes":{"name":"Main + Observability Pipeline","config":{"destinations":[{"id":"datadog-logs-destination","inputs":["processor-group-0"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"processor-group-0","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -25,11 +25,11 @@ http_interactions: status: code: 201 message: Created -- recorded_at: Fri, 25 Apr 2025 17:29:36 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:51 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"updated-datadog-logs-destination-id","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Updated + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"updated-datadog-logs-destination-id","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Updated Pipeline Name"},"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","type":"pipelines"}}' headers: Accept: @@ -37,12 +37,12 @@ http_interactions: Content-Type: - application/json method: PUT - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/e04d5230-21fa-11f0-96e6-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/58407a12-d752-11f0-b262-da7ad0900002 response: body: encoding: UTF-8 - string: '{"data":{"id":"e04d5230-21fa-11f0-96e6-da7ad0900002","type":"pipelines","attributes":{"name":"Updated - Pipeline Name","config":{"destinations":[{"id":"updated-datadog-logs-destination-id","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} + string: '{"data":{"id":"58407a12-d752-11f0-b262-da7ad0900002","type":"pipelines","attributes":{"name":"Updated + Pipeline Name","config":{"destinations":[{"id":"updated-datadog-logs-destination-id","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]}}}} ' headers: @@ -51,14 +51,14 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 25 Apr 2025 17:29:36 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:51 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/e04d5230-21fa-11f0-96e6-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/remote_config/products/obs_pipelines/pipelines/58407a12-d752-11f0-b262-da7ad0900002 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.frozen b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.frozen index f19e635b2791..149cc2fb4c11 100644 --- a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:39.236Z \ No newline at end of file +2025-12-12T12:01:54.040Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.yml b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.yml index ef630a906c85..7821623239c4 100644 --- a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.yml +++ b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-Bad-Request-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:39 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:54 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: diff --git a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.frozen b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.frozen index c2e1e3c73675..a4c7795147b1 100644 --- a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.frozen +++ b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.frozen @@ -1 +1 @@ -2025-04-25T17:29:39.613Z \ No newline at end of file +2025-12-12T12:01:54.520Z \ No newline at end of file diff --git a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.yml b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.yml index 5c3259b21243..569ddd990c32 100644 --- a/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.yml +++ b/cassettes/features/v2/observability_pipelines/Validate-an-observability-pipeline-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 25 Apr 2025 17:29:39 GMT +- recorded_at: Fri, 12 Dec 2025 12:01:54 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["filter-processor"],"type":"datadog_logs"}],"processors":[{"id":"filter-processor","include":"service:my-service","inputs":["datadog-agent-source"],"type":"filter"}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main + string: '{"data":{"attributes":{"config":{"destinations":[{"id":"datadog-logs-destination","inputs":["my-processor-group"],"type":"datadog_logs"}],"processors":[{"enabled":true,"id":"my-processor-group","include":"service:my-service","inputs":["datadog-agent-source"],"processors":[{"enabled":true,"id":"filter-processor","include":"status:error","type":"filter"}]}],"sources":[{"id":"datadog-agent-source","type":"datadog_agent"}]},"name":"Main Observability Pipeline"},"type":"pipelines"}}' headers: Accept: @@ -20,7 +20,7 @@ http_interactions: ' headers: Content-Type: - - application/json + - application/vnd.api+json status: code: 200 message: OK diff --git a/examples/v2/observability-pipelines/CreatePipeline.rb b/examples/v2/observability-pipelines/CreatePipeline.rb index 15120a4c7bbc..26427950224e 100644 --- a/examples/v2/observability-pipelines/CreatePipeline.rb +++ b/examples/v2/observability-pipelines/CreatePipeline.rb @@ -14,19 +14,27 @@ DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestination.new({ id: "datadog-logs-destination", inputs: [ - "filter-processor", + "my-processor-group", ], type: DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS, }), ], processors: [ - DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({ - id: "filter-processor", + DatadogAPIClient::V2::ObservabilityPipelineConfigProcessorGroup.new({ + enabled: true, + id: "my-processor-group", include: "service:my-service", inputs: [ "datadog-agent-source", ], - type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER, + processors: [ + DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({ + enabled: true, + id: "filter-processor", + include: "status:error", + type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER, + }), + ], }), ], sources: [ diff --git a/examples/v2/observability-pipelines/UpdatePipeline.rb b/examples/v2/observability-pipelines/UpdatePipeline.rb index 594ec3df377e..dc510dc3dde1 100644 --- a/examples/v2/observability-pipelines/UpdatePipeline.rb +++ b/examples/v2/observability-pipelines/UpdatePipeline.rb @@ -17,19 +17,27 @@ DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestination.new({ id: "updated-datadog-logs-destination-id", inputs: [ - "filter-processor", + "my-processor-group", ], type: DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS, }), ], processors: [ - DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({ - id: "filter-processor", + DatadogAPIClient::V2::ObservabilityPipelineConfigProcessorGroup.new({ + enabled: true, + id: "my-processor-group", include: "service:my-service", inputs: [ "datadog-agent-source", ], - type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER, + processors: [ + DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({ + enabled: true, + id: "filter-processor", + include: "status:error", + type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER, + }), + ], }), ], sources: [ diff --git a/examples/v2/observability-pipelines/ValidatePipeline.rb b/examples/v2/observability-pipelines/ValidatePipeline.rb index a9466e135e4b..ab3f267c04a2 100644 --- a/examples/v2/observability-pipelines/ValidatePipeline.rb +++ b/examples/v2/observability-pipelines/ValidatePipeline.rb @@ -14,19 +14,27 @@ DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestination.new({ id: "datadog-logs-destination", inputs: [ - "filter-processor", + "my-processor-group", ], type: DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS, }), ], processors: [ - DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({ - id: "filter-processor", + DatadogAPIClient::V2::ObservabilityPipelineConfigProcessorGroup.new({ + enabled: true, + id: "my-processor-group", include: "service:my-service", inputs: [ "datadog-agent-source", ], - type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER, + processors: [ + DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({ + enabled: true, + id: "filter-processor", + include: "status:error", + type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER, + }), + ], }), ], sources: [ diff --git a/features/v2/given.json b/features/v2/given.json index a6a148f264e5..7725798de449 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -867,7 +867,7 @@ "parameters": [ { "name": "body", - "value": "{\n \"data\":{\n \"attributes\":{\n \"config\":{\n \"destinations\":[\n {\n \"id\":\"datadog-logs-destination\",\n \"inputs\":[\n \"filter-processor\"\n ],\n \"type\":\"datadog_logs\"\n }\n ],\n \"processors\":[\n {\n \"id\":\"filter-processor\",\n \"include\":\"service:my-service\",\n \"inputs\":[\n \"datadog-agent-source\"\n ],\n \"type\":\"filter\"\n }\n ],\n \"sources\":[\n {\n \"id\":\"datadog-agent-source\",\n \"type\":\"datadog_agent\"\n }\n ]\n },\n \"name\":\"Main Observability Pipeline\"\n },\n \"type\":\"pipelines\"\n }\n}" + "value": "{\n \"data\":{\n \"attributes\":{\n \"config\":{\n \"destinations\":[\n {\n \"id\":\"datadog-logs-destination\",\n \"inputs\":[\n \"processor-group-0\"\n ],\n \"type\":\"datadog_logs\"\n }\n ],\n \"processors\":[\n {\n \"id\":\"processor-group-0\",\n \"include\":\"service:my-service\",\n \"inputs\":[\n \"datadog-agent-source\"\n ],\n \"enabled\": true,\n \"processors\": [\n {\n \"id\": \"filter-processor\",\n \"type\": \"filter\",\n \"include\": \"status:error\",\n \"enabled\": true\n }\n ]\n }\n ],\n \"sources\":[\n {\n \"id\":\"datadog-agent-source\",\n \"type\":\"datadog_agent\"\n }\n ]\n },\n \"name\":\"Main Observability Pipeline\"\n },\n \"type\":\"pipelines\"\n }\n}" } ], "step": "there is a valid \"pipeline\" in the system", diff --git a/features/v2/observability_pipelines.feature b/features/v2/observability_pipelines.feature index c7149b1e4fad..c43fa8b3b767 100644 --- a/features/v2/observability_pipelines.feature +++ b/features/v2/observability_pipelines.feature @@ -12,7 +12,7 @@ Feature: Observability Pipelines Scenario: Create a new pipeline returns "Bad Request" response Given operation "CreatePipeline" enabled And new "CreatePipeline" request - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "unknown-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "unknown-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} When the request is sent Then the response status is 400 Bad Request @@ -20,7 +20,7 @@ Feature: Observability Pipelines Scenario: Create a new pipeline returns "Conflict" response Given operation "CreatePipeline" enabled And new "CreatePipeline" request - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}, {"enabled": true, "field": "message", "id": "json-processor", "include": "*", "type": "parse_json"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} When the request is sent Then the response status is 409 Conflict @@ -28,7 +28,7 @@ Feature: Observability Pipelines Scenario: Create a new pipeline returns "OK" response Given operation "CreatePipeline" enabled And new "CreatePipeline" request - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} When the request is sent Then the response status is 201 OK And the response "data" has field "id" @@ -106,7 +106,7 @@ Feature: Observability Pipelines And new "UpdatePipeline" request And there is a valid "pipeline" in the system And request contains "pipeline_id" parameter from "pipeline.data.id" - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "unknown-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "unknown-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} When the request is sent Then the response status is 400 Bad Request @@ -115,7 +115,7 @@ Feature: Observability Pipelines Given operation "UpdatePipeline" enabled And new "UpdatePipeline" request And request contains "pipeline_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}, {"enabled": true, "field": "message", "id": "json-processor", "include": "*", "type": "parse_json"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} When the request is sent Then the response status is 409 Conflict @@ -124,7 +124,7 @@ Feature: Observability Pipelines Given operation "UpdatePipeline" enabled And new "UpdatePipeline" request And request contains "pipeline_id" parameter with value "3fa85f64-5717-4562-b3fc-2c963f66afa6" - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} When the request is sent Then the response status is 404 Not Found @@ -134,7 +134,7 @@ Feature: Observability Pipelines And there is a valid "pipeline" in the system And new "UpdatePipeline" request And request contains "pipeline_id" parameter from "pipeline.data.id" - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "updated-datadog-logs-destination-id", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Updated Pipeline Name"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "updated-datadog-logs-destination-id", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Updated Pipeline Name"}, "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "pipelines"}} When the request is sent Then the response status is 200 OK And the response "data" has field "id" @@ -149,7 +149,7 @@ Feature: Observability Pipelines Scenario: Validate an observability pipeline returns "Bad Request" response Given operation "ValidatePipeline" enabled And new "ValidatePipeline" request - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} When the request is sent Then the response status is 400 Bad Request And the response "errors[0].title" is equal to "Field 'include' is required" @@ -161,7 +161,7 @@ Feature: Observability Pipelines Scenario: Validate an observability pipeline returns "OK" response Given operation "ValidatePipeline" enabled And new "ValidatePipeline" request - And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["filter-processor"], "type": "datadog_logs"}], "processors": [{"id": "filter-processor", "include": "service:my-service", "inputs": ["datadog-agent-source"], "type": "filter"}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} + And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "processors": [{"enabled": true, "id": "my-processor-group", "include": "service:my-service", "inputs": ["datadog-agent-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "status:error", "type": "filter"}]}], "sources": [{"id": "datadog-agent-source", "type": "datadog_agent"}]}, "name": "Main Observability Pipeline"}, "type": "pipelines"}} When the request is sent Then the response status is 200 OK And the response "errors" has length 0 diff --git a/lib/datadog_api_client/inflector.rb b/lib/datadog_api_client/inflector.rb index 1d65dc8de946..e897b0419f33 100644 --- a/lib/datadog_api_client/inflector.rb +++ b/lib/datadog_api_client/inflector.rb @@ -3133,6 +3133,7 @@ def overrides "v2.observability_pipeline_aws_auth" => "ObservabilityPipelineAwsAuth", "v2.observability_pipeline_config" => "ObservabilityPipelineConfig", "v2.observability_pipeline_config_destination_item" => "ObservabilityPipelineConfigDestinationItem", + "v2.observability_pipeline_config_processor_group" => "ObservabilityPipelineConfigProcessorGroup", "v2.observability_pipeline_config_processor_item" => "ObservabilityPipelineConfigProcessorItem", "v2.observability_pipeline_config_source_item" => "ObservabilityPipelineConfigSourceItem", "v2.observability_pipeline_crowd_strike_next_gen_siem_destination" => "ObservabilityPipelineCrowdStrikeNextGenSiemDestination", diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb index 6943c679f4fd..a20504198888 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb @@ -21,15 +21,15 @@ module DatadogAPIClient::V2 class ObservabilityPipelineAddEnvVarsProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # The unique identifier for this component. Used to reference this processor in the pipeline. attr_reader :id # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the input for this processor. - attr_reader :inputs - # The processor type. The value should always be `add_env_vars`. attr_reader :type @@ -42,9 +42,9 @@ class ObservabilityPipelineAddEnvVarsProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'type' => :'type', :'variables' => :'variables' } @@ -54,9 +54,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'type' => :'ObservabilityPipelineAddEnvVarsProcessorType', :'variables' => :'Array' } @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -88,12 +92,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -109,14 +107,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @type.nil? return false if @variables.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -137,16 +145,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param type [Object] Object to be assigned # @!visibility private @@ -193,9 +191,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && type == o.type && variables == o.variables && additional_properties == o.additional_properties @@ -205,7 +203,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, type, variables, additional_properties].hash + [enabled, id, include, type, variables, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb index 0a1a2a6b19ac..cf83bee99308 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineAddFieldsProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # A list of static fields (key-value pairs) that is added to each log event processed by this component. attr_reader :fields @@ -30,9 +33,6 @@ class ObservabilityPipelineAddFieldsProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The processor type. The value should always be `add_fields`. attr_reader :type @@ -42,10 +42,10 @@ class ObservabilityPipelineAddFieldsProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'fields' => :'fields', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'type' => :'type' } end @@ -54,10 +54,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'fields' => :'Array', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'type' => :'ObservabilityPipelineAddFieldsProcessorType' } end @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'fields') if (value = attributes[:'fields']).is_a?(Array) self.fields = value @@ -94,12 +98,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -109,14 +107,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @fields.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param fields [Object] Object to be assigned # @!visibility private @@ -147,16 +155,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param type [Object] Object to be assigned # @!visibility private @@ -193,10 +191,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && fields == o.fields && id == o.id && include == o.include && - inputs == o.inputs && type == o.type && additional_properties == o.additional_properties end @@ -205,7 +203,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [fields, id, include, inputs, type, additional_properties].hash + [enabled, fields, id, include, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_config.rb b/lib/datadog_api_client/v2/models/observability_pipeline_config.rb index 5f34d5e2da95..04005274e028 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_config.rb @@ -24,7 +24,7 @@ class ObservabilityPipelineConfig # A list of destination components where processed logs are sent. attr_reader :destinations - # A list of processors that transform or enrich log data. + # A list of processor groups that transform or enrich log data. attr_accessor :processors # A list of configured data sources for the pipeline. @@ -47,7 +47,7 @@ def self.attribute_map def self.openapi_types { :'destinations' => :'Array', - :'processors' => :'Array', + :'processors' => :'Array', :'sources' => :'Array' } end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_group.rb b/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_group.rb new file mode 100644 index 000000000000..7fd5f573115f --- /dev/null +++ b/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_group.rb @@ -0,0 +1,211 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # A group of processors. + class ObservabilityPipelineConfigProcessorGroup + include BaseGenericModel + + # Whether this processor group is enabled. + attr_reader :enabled + + # The unique identifier for the processor group. + attr_reader :id + + # Conditional expression for when this processor group should execute. + attr_reader :include + + # A list of IDs for components whose output is used as the input for this processor group. + attr_reader :inputs + + # Processors applied sequentially within this group. Events flow through each processor in order. + attr_reader :processors + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'enabled' => :'enabled', + :'id' => :'id', + :'include' => :'include', + :'inputs' => :'inputs', + :'processors' => :'processors' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'enabled' => :'Boolean', + :'id' => :'String', + :'include' => :'String', + :'inputs' => :'Array', + :'processors' => :'Array' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineConfigProcessorGroup` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'include') + self.include = attributes[:'include'] + end + + if attributes.key?(:'inputs') + if (value = attributes[:'inputs']).is_a?(Array) + self.inputs = value + end + end + + if attributes.key?(:'processors') + if (value = attributes[:'processors']).is_a?(Array) + self.processors = value + end + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @enabled.nil? + return false if @id.nil? + return false if @include.nil? + return false if @inputs.nil? + return false if @processors.nil? + true + end + + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + + # Custom attribute writer method with validation + # @param id [Object] Object to be assigned + # @!visibility private + def id=(id) + if id.nil? + fail ArgumentError, 'invalid value for "id", id cannot be nil.' + end + @id = id + end + + # Custom attribute writer method with validation + # @param include [Object] Object to be assigned + # @!visibility private + def include=(include) + if include.nil? + fail ArgumentError, 'invalid value for "include", include cannot be nil.' + end + @include = include + end + + # Custom attribute writer method with validation + # @param inputs [Object] Object to be assigned + # @!visibility private + def inputs=(inputs) + if inputs.nil? + fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' + end + @inputs = inputs + end + + # Custom attribute writer method with validation + # @param processors [Object] Object to be assigned + # @!visibility private + def processors=(processors) + if processors.nil? + fail ArgumentError, 'invalid value for "processors", processors cannot be nil.' + end + @processors = processors + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + enabled == o.enabled && + id == o.id && + include == o.include && + inputs == o.inputs && + processors == o.processors && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [enabled, id, include, inputs, processors, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb index e0d50f74d5c6..91b10a9b1adc 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb @@ -21,15 +21,15 @@ module DatadogAPIClient::V2 class ObservabilityPipelineCustomProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # The unique identifier for this processor. attr_reader :id # A Datadog search query used to determine which logs this processor targets. This field should always be set to `*` for the custom_processor processor. attr_reader :include - # A list of component IDs whose output is used as the input for this processor. - attr_reader :inputs - # Array of VRL remap rules. attr_reader :remaps @@ -42,9 +42,9 @@ class ObservabilityPipelineCustomProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'remaps' => :'remaps', :'type' => :'type' } @@ -54,9 +54,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'remaps' => :'Array', :'type' => :'ObservabilityPipelineCustomProcessorType' } @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -88,12 +92,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'remaps') if (value = attributes[:'remaps']).is_a?(Array) self.remaps = value @@ -109,15 +107,25 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @remaps.nil? return false if @remaps.length < 1 return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -138,16 +146,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param remaps [Object] Object to be assigned # @!visibility private @@ -197,9 +195,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && remaps == o.remaps && type == o.type && additional_properties == o.additional_properties @@ -209,7 +207,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, remaps, type, additional_properties].hash + [enabled, id, include, remaps, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor_remap.rb b/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor_remap.rb index 04f0e10e6936..f74a6278ca71 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor_remap.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor_remap.rb @@ -25,7 +25,7 @@ class ObservabilityPipelineCustomProcessorRemap attr_reader :drop_on_error # Whether this remap rule is enabled. - attr_reader :enabled + attr_accessor :enabled # A Datadog search query used to filter events for this specific remap rule. attr_reader :include @@ -106,7 +106,6 @@ def initialize(attributes = {}) # @!visibility private def valid? return false if @drop_on_error.nil? - return false if @enabled.nil? return false if @include.nil? return false if @name.nil? return false if @source.nil? @@ -123,16 +122,6 @@ def drop_on_error=(drop_on_error) @drop_on_error = drop_on_error end - # Custom attribute writer method with validation - # @param enabled [Object] Object to be assigned - # @!visibility private - def enabled=(enabled) - if enabled.nil? - fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' - end - @enabled = enabled - end - # Custom attribute writer method with validation # @param include [Object] Object to be assigned # @!visibility private diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb index 4b3ae3a6e07f..5a428e80f7cd 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb @@ -24,15 +24,15 @@ class ObservabilityPipelineDatadogTagsProcessor # The action to take on tags with matching keys. attr_reader :action + # Whether this processor is enabled. + attr_reader :enabled + # 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). attr_reader :id # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # A list of tag keys. attr_reader :keys @@ -49,9 +49,9 @@ class ObservabilityPipelineDatadogTagsProcessor def self.attribute_map { :'action' => :'action', + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'keys' => :'keys', :'mode' => :'mode', :'type' => :'type' @@ -63,9 +63,9 @@ def self.attribute_map def self.openapi_types { :'action' => :'ObservabilityPipelineDatadogTagsProcessorAction', + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'keys' => :'Array', :'mode' => :'ObservabilityPipelineDatadogTagsProcessorMode', :'type' => :'ObservabilityPipelineDatadogTagsProcessorType' @@ -94,6 +94,10 @@ def initialize(attributes = {}) self.action = attributes[:'action'] end + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -102,12 +106,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'keys') if (value = attributes[:'keys']).is_a?(Array) self.keys = value @@ -128,9 +126,9 @@ def initialize(attributes = {}) # @!visibility private def valid? return false if @action.nil? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @keys.nil? return false if @mode.nil? return false if @type.nil? @@ -147,6 +145,16 @@ def action=(action) @action = action end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -167,16 +175,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param keys [Object] Object to be assigned # @!visibility private @@ -234,9 +232,9 @@ def ==(o) return true if self.equal?(o) self.class == o.class && action == o.action && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && keys == o.keys && mode == o.mode && type == o.type && @@ -247,7 +245,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [action, id, include, inputs, keys, mode, type, additional_properties].hash + [action, enabled, id, include, keys, mode, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb index 23b20920ed1b..9132d85aed2f 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineDedupeProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # A list of log field paths to check for duplicates. attr_reader :fields @@ -30,9 +33,6 @@ class ObservabilityPipelineDedupeProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the input for this processor. - attr_reader :inputs - # The deduplication mode to apply to the fields. attr_reader :mode @@ -45,10 +45,10 @@ class ObservabilityPipelineDedupeProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'fields' => :'fields', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'mode' => :'mode', :'type' => :'type' } @@ -58,10 +58,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'fields' => :'Array', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'mode' => :'ObservabilityPipelineDedupeProcessorMode', :'type' => :'ObservabilityPipelineDedupeProcessorType' } @@ -85,6 +85,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'fields') if (value = attributes[:'fields']).is_a?(Array) self.fields = value @@ -99,12 +103,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'mode') self.mode = attributes[:'mode'] end @@ -118,15 +116,25 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @fields.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @mode.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param fields [Object] Object to be assigned # @!visibility private @@ -157,16 +165,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param mode [Object] Object to be assigned # @!visibility private @@ -213,10 +211,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && fields == o.fields && id == o.id && include == o.include && - inputs == o.inputs && mode == o.mode && type == o.type && additional_properties == o.additional_properties @@ -226,7 +224,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [fields, id, include, inputs, mode, type, additional_properties].hash + [enabled, fields, id, include, mode, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb index eedfd442c2dd..b83339aacc2f 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineEnrichmentTableProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # Defines a static enrichment table loaded from a CSV file. attr_accessor :file @@ -33,9 +36,6 @@ class ObservabilityPipelineEnrichmentTableProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the input for this processor. - attr_reader :inputs - # Path where enrichment results should be stored in the log. attr_reader :target @@ -48,11 +48,11 @@ class ObservabilityPipelineEnrichmentTableProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'file' => :'file', :'geoip' => :'geoip', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'target' => :'target', :'type' => :'type' } @@ -62,11 +62,11 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'file' => :'ObservabilityPipelineEnrichmentTableFile', :'geoip' => :'ObservabilityPipelineEnrichmentTableGeoIp', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'target' => :'String', :'type' => :'ObservabilityPipelineEnrichmentTableProcessorType' } @@ -90,6 +90,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'file') self.file = attributes[:'file'] end @@ -106,12 +110,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'target') self.target = attributes[:'target'] end @@ -125,14 +123,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @target.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -153,16 +161,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param target [Object] Object to be assigned # @!visibility private @@ -209,11 +207,11 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && file == o.file && geoip == o.geoip && id == o.id && include == o.include && - inputs == o.inputs && target == o.target && type == o.type && additional_properties == o.additional_properties @@ -223,7 +221,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [file, geoip, id, include, inputs, target, type, additional_properties].hash + [enabled, file, geoip, id, include, target, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb index 66dd3a9d58a3..77b9a8dde0d1 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb @@ -21,15 +21,15 @@ module DatadogAPIClient::V2 class ObservabilityPipelineFilterProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # 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). attr_reader :id # A Datadog search query used to determine which logs should pass through the filter. Logs that match this query continue to downstream components; others are dropped. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The processor type. The value should always be `filter`. attr_reader :type @@ -39,9 +39,9 @@ class ObservabilityPipelineFilterProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'type' => :'type' } end @@ -50,9 +50,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'type' => :'ObservabilityPipelineFilterProcessorType' } end @@ -75,6 +75,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -83,12 +87,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -98,13 +96,23 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -125,16 +133,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param type [Object] Object to be assigned # @!visibility private @@ -171,9 +169,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && type == o.type && additional_properties == o.additional_properties end @@ -182,7 +180,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, type, additional_properties].hash + [enabled, id, include, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb index 1b5de81f58ce..ec5534dcc363 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb @@ -22,17 +22,17 @@ module DatadogAPIClient::V2 class ObservabilityPipelineGenerateMetricsProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # The unique identifier for this component. Used to reference this component in other parts of the pipeline. attr_reader :id # A Datadog search query used to determine which logs this processor targets. - attr_reader :include - - # A list of component IDs whose output is used as the `input` for this processor. - attr_reader :inputs + attr_accessor :include # Configuration for generating individual metrics. - attr_reader :metrics + attr_accessor :metrics # The processor type. Always `generate_datadog_metrics`. attr_reader :type @@ -43,9 +43,9 @@ class ObservabilityPipelineGenerateMetricsProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'metrics' => :'metrics', :'type' => :'type' } @@ -55,9 +55,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'metrics' => :'Array', :'type' => :'ObservabilityPipelineGenerateMetricsProcessorType' } @@ -81,6 +81,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -89,12 +93,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'metrics') if (value = attributes[:'metrics']).is_a?(Array) self.metrics = value @@ -110,52 +108,30 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? - return false if @include.nil? - return false if @inputs.nil? - return false if @metrics.nil? return false if @type.nil? true end # Custom attribute writer method with validation - # @param id [Object] Object to be assigned + # @param enabled [Object] Object to be assigned # @!visibility private - def id=(id) - if id.nil? - fail ArgumentError, 'invalid value for "id", id cannot be nil.' + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' end - @id = id + @enabled = enabled end # Custom attribute writer method with validation - # @param include [Object] Object to be assigned - # @!visibility private - def include=(include) - if include.nil? - fail ArgumentError, 'invalid value for "include", include cannot be nil.' - end - @include = include - end - - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - - # Custom attribute writer method with validation - # @param metrics [Object] Object to be assigned + # @param id [Object] Object to be assigned # @!visibility private - def metrics=(metrics) - if metrics.nil? - fail ArgumentError, 'invalid value for "metrics", metrics cannot be nil.' + def id=(id) + if id.nil? + fail ArgumentError, 'invalid value for "id", id cannot be nil.' end - @metrics = metrics + @id = id end # Custom attribute writer method with validation @@ -194,9 +170,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && metrics == o.metrics && type == o.type && additional_properties == o.additional_properties @@ -206,7 +182,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, metrics, type, additional_properties].hash + [enabled, id, include, metrics, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb index 5f245ff62737..cde8cc4de9c1 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb @@ -21,15 +21,15 @@ module DatadogAPIClient::V2 class ObservabilityPipelineOcsfMapperProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # The unique identifier for this component. Used to reference this component in other parts of the pipeline. attr_reader :id # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this processor. - attr_reader :inputs - # A list of mapping rules to convert events to the OCSF format. attr_reader :mappings @@ -42,9 +42,9 @@ class ObservabilityPipelineOcsfMapperProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'mappings' => :'mappings', :'type' => :'type' } @@ -54,9 +54,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'mappings' => :'Array', :'type' => :'ObservabilityPipelineOcsfMapperProcessorType' } @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -88,12 +92,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'mappings') if (value = attributes[:'mappings']).is_a?(Array) self.mappings = value @@ -109,14 +107,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @mappings.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -137,16 +145,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param mappings [Object] Object to be assigned # @!visibility private @@ -193,9 +191,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && mappings == o.mappings && type == o.type && additional_properties == o.additional_properties @@ -205,7 +203,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, mappings, type, additional_properties].hash + [enabled, id, include, mappings, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb index 2b39ee4555d6..4f265cf797c6 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb @@ -24,15 +24,15 @@ class ObservabilityPipelineParseGrokProcessor # If set to `true`, disables the default Grok rules provided by Datadog. attr_accessor :disable_library_rules + # Whether this processor is enabled. + attr_reader :enabled + # A unique identifier for this processor. attr_reader :id # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The list of Grok parsing rules. If multiple matching rules are provided, they are evaluated in order. The first successful match is applied. attr_reader :rules @@ -46,9 +46,9 @@ class ObservabilityPipelineParseGrokProcessor def self.attribute_map { :'disable_library_rules' => :'disable_library_rules', + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'rules' => :'rules', :'type' => :'type' } @@ -59,9 +59,9 @@ def self.attribute_map def self.openapi_types { :'disable_library_rules' => :'Boolean', + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'rules' => :'Array', :'type' => :'ObservabilityPipelineParseGrokProcessorType' } @@ -89,6 +89,10 @@ def initialize(attributes = {}) self.disable_library_rules = attributes[:'disable_library_rules'] end + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -97,12 +101,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'rules') if (value = attributes[:'rules']).is_a?(Array) self.rules = value @@ -118,14 +116,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @rules.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -146,16 +154,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param rules [Object] Object to be assigned # @!visibility private @@ -203,9 +201,9 @@ def ==(o) return true if self.equal?(o) self.class == o.class && disable_library_rules == o.disable_library_rules && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && rules == o.rules && type == o.type && additional_properties == o.additional_properties @@ -215,7 +213,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [disable_library_rules, id, include, inputs, rules, type, additional_properties].hash + [disable_library_rules, enabled, id, include, rules, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb index 7080c8c17de8..918b42a79ca4 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineParseJSONProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # The name of the log field that contains a JSON string. attr_reader :field @@ -30,9 +33,6 @@ class ObservabilityPipelineParseJSONProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The processor type. The value should always be `parse_json`. attr_reader :type @@ -42,10 +42,10 @@ class ObservabilityPipelineParseJSONProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'field' => :'field', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'type' => :'type' } end @@ -54,10 +54,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'field' => :'String', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'type' => :'ObservabilityPipelineParseJSONProcessorType' } end @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'field') self.field = attributes[:'field'] end @@ -92,12 +96,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -107,14 +105,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @field.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param field [Object] Object to be assigned # @!visibility private @@ -145,16 +153,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param type [Object] Object to be assigned # @!visibility private @@ -191,10 +189,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && field == o.field && id == o.id && include == o.include && - inputs == o.inputs && type == o.type && additional_properties == o.additional_properties end @@ -203,7 +201,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [field, id, include, inputs, type, additional_properties].hash + [enabled, field, id, include, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb index 173607241a6e..ea5b0a3edb24 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb @@ -22,7 +22,10 @@ class ObservabilityPipelineQuotaProcessor include BaseGenericModel # 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. - attr_reader :drop_events + attr_accessor :drop_events + + # Whether this processor is enabled. + attr_reader :enabled # 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). attr_reader :id @@ -33,9 +36,6 @@ class ObservabilityPipelineQuotaProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The maximum amount of data or number of events allowed before the quota is enforced. Can be specified in bytes or events. attr_reader :limit @@ -64,10 +64,10 @@ class ObservabilityPipelineQuotaProcessor def self.attribute_map { :'drop_events' => :'drop_events', + :'enabled' => :'enabled', :'id' => :'id', :'ignore_when_missing_partitions' => :'ignore_when_missing_partitions', :'include' => :'include', - :'inputs' => :'inputs', :'limit' => :'limit', :'name' => :'name', :'overflow_action' => :'overflow_action', @@ -82,10 +82,10 @@ def self.attribute_map def self.openapi_types { :'drop_events' => :'Boolean', + :'enabled' => :'Boolean', :'id' => :'String', :'ignore_when_missing_partitions' => :'Boolean', :'include' => :'String', - :'inputs' => :'Array', :'limit' => :'ObservabilityPipelineQuotaProcessorLimit', :'name' => :'String', :'overflow_action' => :'ObservabilityPipelineQuotaProcessorOverflowAction', @@ -117,6 +117,10 @@ def initialize(attributes = {}) self.drop_events = attributes[:'drop_events'] end + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -129,12 +133,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'limit') self.limit = attributes[:'limit'] end @@ -168,10 +166,9 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? - return false if @drop_events.nil? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @limit.nil? return false if @name.nil? return false if @type.nil? @@ -179,13 +176,13 @@ def valid? end # Custom attribute writer method with validation - # @param drop_events [Object] Object to be assigned + # @param enabled [Object] Object to be assigned # @!visibility private - def drop_events=(drop_events) - if drop_events.nil? - fail ArgumentError, 'invalid value for "drop_events", drop_events cannot be nil.' + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' end - @drop_events = drop_events + @enabled = enabled end # Custom attribute writer method with validation @@ -208,16 +205,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param limit [Object] Object to be assigned # @!visibility private @@ -275,10 +262,10 @@ def ==(o) return true if self.equal?(o) self.class == o.class && drop_events == o.drop_events && + enabled == o.enabled && id == o.id && ignore_when_missing_partitions == o.ignore_when_missing_partitions && include == o.include && - inputs == o.inputs && limit == o.limit && name == o.name && overflow_action == o.overflow_action && @@ -292,7 +279,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [drop_events, id, ignore_when_missing_partitions, include, inputs, limit, name, overflow_action, overrides, partition_fields, type, additional_properties].hash + [drop_events, enabled, id, ignore_when_missing_partitions, include, limit, name, overflow_action, overrides, partition_fields, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb index d920ebf9b5c8..4b400f061d8e 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineReduceProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # A list of fields used to group log events for merging. attr_reader :group_by @@ -30,9 +33,6 @@ class ObservabilityPipelineReduceProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the input for this processor. - attr_reader :inputs - # List of merge strategies defining how values from grouped events should be combined. attr_reader :merge_strategies @@ -45,10 +45,10 @@ class ObservabilityPipelineReduceProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'group_by' => :'group_by', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'merge_strategies' => :'merge_strategies', :'type' => :'type' } @@ -58,10 +58,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'group_by' => :'Array', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'merge_strategies' => :'Array', :'type' => :'ObservabilityPipelineReduceProcessorType' } @@ -85,6 +85,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'group_by') if (value = attributes[:'group_by']).is_a?(Array) self.group_by = value @@ -99,12 +103,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'merge_strategies') if (value = attributes[:'merge_strategies']).is_a?(Array) self.merge_strategies = value @@ -120,15 +118,25 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @group_by.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @merge_strategies.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param group_by [Object] Object to be assigned # @!visibility private @@ -159,16 +167,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param merge_strategies [Object] Object to be assigned # @!visibility private @@ -215,10 +213,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && group_by == o.group_by && id == o.id && include == o.include && - inputs == o.inputs && merge_strategies == o.merge_strategies && type == o.type && additional_properties == o.additional_properties @@ -228,7 +226,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [group_by, id, include, inputs, merge_strategies, type, additional_properties].hash + [enabled, group_by, id, include, merge_strategies, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb index e57683adc75f..3f22cd935f0e 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineRemoveFieldsProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # A list of field names to be removed from each log event. attr_reader :fields @@ -30,9 +33,6 @@ class ObservabilityPipelineRemoveFieldsProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # The `PipelineRemoveFieldsProcessor` `inputs`. - attr_reader :inputs - # The processor type. The value should always be `remove_fields`. attr_reader :type @@ -42,10 +42,10 @@ class ObservabilityPipelineRemoveFieldsProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'fields' => :'fields', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'type' => :'type' } end @@ -54,10 +54,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'fields' => :'Array', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'type' => :'ObservabilityPipelineRemoveFieldsProcessorType' } end @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'fields') if (value = attributes[:'fields']).is_a?(Array) self.fields = value @@ -94,12 +98,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -109,14 +107,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @fields.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param fields [Object] Object to be assigned # @!visibility private @@ -147,16 +155,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param type [Object] Object to be assigned # @!visibility private @@ -193,10 +191,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && fields == o.fields && id == o.id && include == o.include && - inputs == o.inputs && type == o.type && additional_properties == o.additional_properties end @@ -205,7 +203,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [fields, id, include, inputs, type, additional_properties].hash + [enabled, fields, id, include, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb index c8e37f1787dd..4249ad40d341 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineRenameFieldsProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # 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. attr_reader :fields @@ -30,9 +33,6 @@ class ObservabilityPipelineRenameFieldsProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The processor type. The value should always be `rename_fields`. attr_reader :type @@ -42,10 +42,10 @@ class ObservabilityPipelineRenameFieldsProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'fields' => :'fields', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'type' => :'type' } end @@ -54,10 +54,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'fields' => :'Array', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'type' => :'ObservabilityPipelineRenameFieldsProcessorType' } end @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'fields') if (value = attributes[:'fields']).is_a?(Array) self.fields = value @@ -94,12 +98,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -109,14 +107,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @fields.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param fields [Object] Object to be assigned # @!visibility private @@ -147,16 +155,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param type [Object] Object to be assigned # @!visibility private @@ -193,10 +191,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && fields == o.fields && id == o.id && include == o.include && - inputs == o.inputs && type == o.type && additional_properties == o.additional_properties end @@ -205,7 +203,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [fields, id, include, inputs, type, additional_properties].hash + [enabled, fields, id, include, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb index 32229c4bad55..f65b18291844 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb @@ -21,15 +21,15 @@ module DatadogAPIClient::V2 class ObservabilityPipelineSampleProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # 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). attr_reader :id # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # The percentage of logs to sample. attr_accessor :percentage @@ -45,9 +45,9 @@ class ObservabilityPipelineSampleProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'percentage' => :'percentage', :'rate' => :'rate', :'type' => :'type' @@ -58,9 +58,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'percentage' => :'Float', :'rate' => :'Integer', :'type' => :'ObservabilityPipelineSampleProcessorType' @@ -85,6 +85,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -93,12 +97,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'percentage') self.percentage = attributes[:'percentage'] end @@ -116,14 +114,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if !@rate.nil? && @rate < 1 return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -144,16 +152,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param rate [Object] Object to be assigned # @!visibility private @@ -200,9 +198,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && percentage == o.percentage && rate == o.rate && type == o.type && @@ -213,7 +211,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, percentage, rate, type, additional_properties].hash + [enabled, id, include, percentage, rate, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb index eaaac37f8c0d..fa45003722c7 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb @@ -21,15 +21,15 @@ module DatadogAPIClient::V2 class ObservabilityPipelineSensitiveDataScannerProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). attr_reader :id # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the `input` for this component. - attr_reader :inputs - # A list of rules for identifying and acting on sensitive data patterns. attr_reader :rules @@ -42,9 +42,9 @@ class ObservabilityPipelineSensitiveDataScannerProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'rules' => :'rules', :'type' => :'type' } @@ -54,9 +54,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'rules' => :'Array', :'type' => :'ObservabilityPipelineSensitiveDataScannerProcessorType' } @@ -80,6 +80,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -88,12 +92,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'rules') if (value = attributes[:'rules']).is_a?(Array) self.rules = value @@ -109,14 +107,24 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @rules.nil? return false if @type.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -137,16 +145,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param rules [Object] Object to be assigned # @!visibility private @@ -193,9 +191,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && id == o.id && include == o.include && - inputs == o.inputs && rules == o.rules && type == o.type && additional_properties == o.additional_properties @@ -205,7 +203,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [id, include, inputs, rules, type, additional_properties].hash + [enabled, id, include, rules, type, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb b/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb index 7e68c940bda8..00e5c6df2afa 100644 --- a/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb +++ b/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb @@ -21,6 +21,9 @@ module DatadogAPIClient::V2 class ObservabilityPipelineThrottleProcessor include BaseGenericModel + # Whether this processor is enabled. + attr_reader :enabled + # Optional list of fields used to group events before the threshold has been reached. attr_accessor :group_by @@ -30,9 +33,6 @@ class ObservabilityPipelineThrottleProcessor # A Datadog search query used to determine which logs this processor targets. attr_reader :include - # A list of component IDs whose output is used as the input for this processor. - attr_reader :inputs - # the number of events allowed in a given time window. Events sent after the threshold has been reached, are dropped. attr_reader :threshold @@ -48,10 +48,10 @@ class ObservabilityPipelineThrottleProcessor # @!visibility private def self.attribute_map { + :'enabled' => :'enabled', :'group_by' => :'group_by', :'id' => :'id', :'include' => :'include', - :'inputs' => :'inputs', :'threshold' => :'threshold', :'type' => :'type', :'window' => :'window' @@ -62,10 +62,10 @@ def self.attribute_map # @!visibility private def self.openapi_types { + :'enabled' => :'Boolean', :'group_by' => :'Array', :'id' => :'String', :'include' => :'String', - :'inputs' => :'Array', :'threshold' => :'Integer', :'type' => :'ObservabilityPipelineThrottleProcessorType', :'window' => :'Float' @@ -90,6 +90,10 @@ def initialize(attributes = {}) end } + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + if attributes.key?(:'group_by') if (value = attributes[:'group_by']).is_a?(Array) self.group_by = value @@ -104,12 +108,6 @@ def initialize(attributes = {}) self.include = attributes[:'include'] end - if attributes.key?(:'inputs') - if (value = attributes[:'inputs']).is_a?(Array) - self.inputs = value - end - end - if attributes.key?(:'threshold') self.threshold = attributes[:'threshold'] end @@ -127,15 +125,25 @@ def initialize(attributes = {}) # @return true if the model is valid # @!visibility private def valid? + return false if @enabled.nil? return false if @id.nil? return false if @include.nil? - return false if @inputs.nil? return false if @threshold.nil? return false if @type.nil? return false if @window.nil? true end + # Custom attribute writer method with validation + # @param enabled [Object] Object to be assigned + # @!visibility private + def enabled=(enabled) + if enabled.nil? + fail ArgumentError, 'invalid value for "enabled", enabled cannot be nil.' + end + @enabled = enabled + end + # Custom attribute writer method with validation # @param id [Object] Object to be assigned # @!visibility private @@ -156,16 +164,6 @@ def include=(include) @include = include end - # Custom attribute writer method with validation - # @param inputs [Object] Object to be assigned - # @!visibility private - def inputs=(inputs) - if inputs.nil? - fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.' - end - @inputs = inputs - end - # Custom attribute writer method with validation # @param threshold [Object] Object to be assigned # @!visibility private @@ -222,10 +220,10 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && + enabled == o.enabled && group_by == o.group_by && id == o.id && include == o.include && - inputs == o.inputs && threshold == o.threshold && type == o.type && window == o.window && @@ -236,7 +234,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [group_by, id, include, inputs, threshold, type, window, additional_properties].hash + [enabled, group_by, id, include, threshold, type, window, additional_properties].hash end end end