diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 3bec741a126..9b0ed7bd48c 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -7145,6 +7145,8 @@ components: example: - processor-id items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -39884,6 +39886,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array table: @@ -41857,6 +41861,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -41936,6 +41942,8 @@ components: example: - datadog-agent-source items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array key_prefix: @@ -42068,6 +42076,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array region: @@ -42167,6 +42177,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -42342,6 +42354,7 @@ components: example: - datadog-agent-source items: + description: The ID of a component whose output is used as input. type: string type: array processors: @@ -42442,6 +42455,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array tls: @@ -42670,6 +42685,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array routes: @@ -42741,6 +42758,8 @@ components: example: - metric-tags-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -42794,6 +42813,7 @@ components: - service - version items: + description: A Datadog tag key to include or exclude. type: string type: array mode: @@ -42872,6 +42892,7 @@ components: - log.message - log.error items: + description: A log field path to evaluate for duplicate values. type: string type: array id: @@ -42978,6 +42999,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -43244,6 +43267,7 @@ components: description: List of column names to include from the reference table. If not provided, all columns are included. items: + description: The name of a column to include from the reference table. type: string type: array key_field: @@ -43464,6 +43488,7 @@ components: - service - env items: + description: A log field name used to group the metric series. type: string type: array include: @@ -43567,6 +43592,8 @@ components: example: - parse-json-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array log_type: @@ -43631,6 +43658,8 @@ components: example: - datadog-agent-source items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array key_prefix: @@ -43724,6 +43753,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array project: @@ -43841,6 +43872,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array password_key: @@ -44102,6 +44135,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array key_field: @@ -44276,6 +44311,7 @@ components: - topic1 - topic2 items: + description: A Kafka topic name to subscribe to. type: string type: array type: @@ -44437,6 +44473,7 @@ components: - service - version items: + description: A metric tag key to include or exclude based on the action. type: string type: array mode: @@ -44502,6 +44539,8 @@ components: example: - parse-json-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array license_key_key: @@ -44710,6 +44749,7 @@ components: example: - container items: + description: The name of an OCSF profile to apply to the event. type: string type: array version: @@ -44779,6 +44819,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -44821,7 +44863,7 @@ components: Protocol (OTLP) over gRPC and HTTP. - **Supported pipeline types:** logs, metrics' + **Supported pipeline types:** logs' properties: grpc_address_key: description: Environment variable name containing the gRPC server address @@ -44851,7 +44893,6 @@ components: type: object x-pipeline-types: - logs - - metrics ObservabilityPipelineOpentelemetrySourceType: default: opentelemetry description: The source type. The value should always be `opentelemetry`. @@ -45161,6 +45202,7 @@ components: Quotas are tracked independently by unique combinations of these field values. items: + description: The name of a log field used to partition quota enforcement. type: string type: array too_many_buckets_action: @@ -45267,6 +45309,7 @@ components: - log.user.id - log.device.id items: + description: A log field path used to group events for aggregation. type: string type: array id: @@ -45366,6 +45409,7 @@ components: - field1 - field2 items: + description: The name of a field to remove from the log event. type: string type: array id: @@ -45494,6 +45538,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array keepalive: @@ -45582,6 +45628,7 @@ components: - service - host items: + description: A log field name used to group events for independent sampling. type: string minItems: 1 type: array @@ -45815,6 +45862,8 @@ components: - card - account items: + description: A keyword string that reinforces detection when found near + the sensitive pattern. type: string type: array proximity: @@ -45895,6 +45944,8 @@ components: - pii - ccn items: + description: A tag string used to classify and filter this sensitive data + rule. type: string type: array required: @@ -45974,6 +46025,8 @@ components: example: - '' items: + description: A log field path to include or exclude from sensitive data + scanning. type: string type: array required: @@ -46006,6 +46059,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array region: @@ -46076,6 +46131,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array mode: @@ -46468,6 +46525,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array sourcetype: @@ -46626,6 +46685,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array type: @@ -46731,6 +46792,8 @@ components: example: - filter-processor items: + description: The ID of a component whose output is used as input for this + destination. type: string type: array keepalive: @@ -46828,6 +46891,7 @@ components: example: - log.user.id items: + description: A log field name used to group events for independent throttling. type: string type: array id: diff --git a/examples/v2/observability-pipelines/ValidatePipeline_884022323.java b/examples/v2/observability-pipelines/ValidatePipeline_884022323.java deleted file mode 100644 index 75e3efa36de..00000000000 --- a/examples/v2/observability-pipelines/ValidatePipeline_884022323.java +++ /dev/null @@ -1,90 +0,0 @@ -// Validate a metrics pipeline with opentelemetry source returns "OK" response - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.ObservabilityPipelinesApi; -import com.datadog.api.client.v2.model.ObservabilityPipelineConfig; -import com.datadog.api.client.v2.model.ObservabilityPipelineConfigDestinationItem; -import com.datadog.api.client.v2.model.ObservabilityPipelineConfigPipelineType; -import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorGroup; -import com.datadog.api.client.v2.model.ObservabilityPipelineConfigProcessorItem; -import com.datadog.api.client.v2.model.ObservabilityPipelineConfigSourceItem; -import com.datadog.api.client.v2.model.ObservabilityPipelineDataAttributes; -import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogMetricsDestination; -import com.datadog.api.client.v2.model.ObservabilityPipelineDatadogMetricsDestinationType; -import com.datadog.api.client.v2.model.ObservabilityPipelineFilterProcessor; -import com.datadog.api.client.v2.model.ObservabilityPipelineFilterProcessorType; -import com.datadog.api.client.v2.model.ObservabilityPipelineOpentelemetrySource; -import com.datadog.api.client.v2.model.ObservabilityPipelineOpentelemetrySourceType; -import com.datadog.api.client.v2.model.ObservabilityPipelineSpec; -import com.datadog.api.client.v2.model.ObservabilityPipelineSpecData; -import com.datadog.api.client.v2.model.ValidationResponse; -import java.util.Collections; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = ApiClient.getDefaultApiClient(); - ObservabilityPipelinesApi apiInstance = new ObservabilityPipelinesApi(defaultClient); - - ObservabilityPipelineSpec body = - new ObservabilityPipelineSpec() - .data( - new ObservabilityPipelineSpecData() - .attributes( - new ObservabilityPipelineDataAttributes() - .config( - new ObservabilityPipelineConfig() - .pipelineType(ObservabilityPipelineConfigPipelineType.METRICS) - .destinations( - Collections.singletonList( - new ObservabilityPipelineConfigDestinationItem( - new ObservabilityPipelineDatadogMetricsDestination() - .id("datadog-metrics-destination") - .inputs( - Collections.singletonList( - "my-processor-group")) - .type( - ObservabilityPipelineDatadogMetricsDestinationType - .DATADOG_METRICS)))) - .processorGroups( - Collections.singletonList( - new ObservabilityPipelineConfigProcessorGroup() - .enabled(true) - .id("my-processor-group") - .include("*") - .inputs( - Collections.singletonList( - "opentelemetry-source")) - .processors( - Collections.singletonList( - new ObservabilityPipelineConfigProcessorItem( - new ObservabilityPipelineFilterProcessor() - .enabled(true) - .id("filter-processor") - .include("env:production") - .type( - ObservabilityPipelineFilterProcessorType - .FILTER)))))) - .sources( - Collections.singletonList( - new ObservabilityPipelineConfigSourceItem( - new ObservabilityPipelineOpentelemetrySource() - .id("opentelemetry-source") - .type( - ObservabilityPipelineOpentelemetrySourceType - .OPENTELEMETRY))))) - .name("Metrics OTel Pipeline")) - .type("pipelines")); - - try { - ValidationResponse result = apiInstance.validatePipeline(body); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling ObservabilityPipelinesApi#validatePipeline"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpentelemetrySource.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpentelemetrySource.java index 221238d464d..2964bc439bb 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpentelemetrySource.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpentelemetrySource.java @@ -21,7 +21,7 @@ * The opentelemetry source receives telemetry data using the OpenTelemetry Protocol * (OTLP) over gRPC and HTTP. * - *

Supported pipeline types: logs, metrics + *

Supported pipeline types: logs */ @JsonPropertyOrder({ ObservabilityPipelineOpentelemetrySource.JSON_PROPERTY_GRPC_ADDRESS_KEY, diff --git a/src/test/resources/cassettes/features/v2/Validate_a_metrics_pipeline_with_opentelemetry_source_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Validate_a_metrics_pipeline_with_opentelemetry_source_returns_OK_response.freeze deleted file mode 100644 index 9218d08a363..00000000000 --- a/src/test/resources/cassettes/features/v2/Validate_a_metrics_pipeline_with_opentelemetry_source_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-03-10T16:11:47.487Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Validate_a_metrics_pipeline_with_opentelemetry_source_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Validate_a_metrics_pipeline_with_opentelemetry_source_returns_OK_response.json deleted file mode 100644 index fd26d952407..00000000000 --- a/src/test/resources/cassettes/features/v2/Validate_a_metrics_pipeline_with_opentelemetry_source_returns_OK_response.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"config\":{\"destinations\":[{\"id\":\"datadog-metrics-destination\",\"inputs\":[\"my-processor-group\"],\"type\":\"datadog_metrics\"}],\"pipeline_type\":\"metrics\",\"processor_groups\":[{\"enabled\":true,\"id\":\"my-processor-group\",\"include\":\"*\",\"inputs\":[\"opentelemetry-source\"],\"processors\":[{\"enabled\":true,\"id\":\"filter-processor\",\"include\":\"env:production\",\"type\":\"filter\"}]}],\"sources\":[{\"id\":\"opentelemetry-source\",\"type\":\"opentelemetry\"}]},\"name\":\"Metrics OTel Pipeline\"},\"type\":\"pipelines\"}}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/obs-pipelines/pipelines/validate", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"errors\":[]}\n", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 200, - "reasonPhrase": "OK" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "fd62c635-471a-b911-f21d-26a9cd87afdc" - } -] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v2/api/observability_pipelines.feature b/src/test/resources/com/datadog/api/client/v2/api/observability_pipelines.feature index e272303955a..bf90c06c139 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/observability_pipelines.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/observability_pipelines.feature @@ -149,14 +149,6 @@ Feature: Observability Pipelines And the response "data.attributes.config.destinations" has length 1 And the response "data.attributes.config.destinations[0].id" is equal to "updated-datadog-logs-destination-id" - @team:DataDog/observability-pipelines - Scenario: Validate a metrics pipeline with opentelemetry source returns "OK" response - Given new "ValidatePipeline" request - And body with value {"data": {"attributes": {"config": {"pipeline_type": "metrics", "destinations": [{"id": "datadog-metrics-destination", "inputs": ["my-processor-group"], "type": "datadog_metrics"}], "processor_groups": [{"enabled": true, "id": "my-processor-group", "include": "*", "inputs": ["opentelemetry-source"], "processors": [{"enabled": true, "id": "filter-processor", "include": "env:production", "type": "filter"}]}], "sources": [{"id": "opentelemetry-source", "type": "opentelemetry"}]}, "name": "Metrics OTel Pipeline"}, "type": "pipelines"}} - When the request is sent - Then the response status is 200 OK - And the response "errors" has length 0 - @team:DataDog/observability-pipelines Scenario: Validate an observability pipeline returns "Bad Request" response Given new "ValidatePipeline" request