Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72239,6 +72239,12 @@ components:
items:
$ref: "#/components/schemas/ObservabilityPipelineConfigDestinationItem"
type: array
end_to_end_acknowledgements:
description: |-
Enables end-to-end event delivery confirmation for the pipeline. When enabled, sources confirm receipt only after all destinations have successfully received the events.
Requires Observability Pipelines Worker 2.14 or later. All configured sources must support this behavior.
example: true
type: boolean
pipeline_type:
$ref: "#/components/schemas/ObservabilityPipelineConfigPipelineType"
processor_groups:
Expand Down Expand Up @@ -177228,6 +177234,7 @@ paths:
inputs:
- datadog-agent-source
type: datadog_logs
end_to_end_acknowledgements: true
sources:
- id: datadog-agent-source
type: datadog_agent
Expand Down Expand Up @@ -177267,6 +177274,7 @@ paths:
inputs:
- my-processor-group
type: datadog_logs
end_to_end_acknowledgements: true
pipeline_type: logs
processor_groups:
- enabled: true
Expand Down Expand Up @@ -177308,6 +177316,7 @@ paths:
inputs:
- datadog-agent-source
type: datadog_logs
end_to_end_acknowledgements: true
sources:
- id: datadog-agent-source
type: datadog_agent
Expand Down Expand Up @@ -177352,6 +177361,7 @@ paths:
inputs:
- my-processor-group
type: datadog_logs
end_to_end_acknowledgements: true
pipeline_type: logs
processor_groups:
- enabled: true
Expand Down Expand Up @@ -177468,6 +177478,7 @@ paths:
inputs:
- datadog-agent-source
type: datadog_logs
end_to_end_acknowledgements: true
sources:
- id: datadog-agent-source
type: datadog_agent
Expand Down Expand Up @@ -177516,6 +177527,7 @@ paths:
inputs:
- my-processor-group
type: datadog_logs
end_to_end_acknowledgements: true
pipeline_type: logs
processor_groups:
- enabled: true
Expand Down Expand Up @@ -177558,6 +177570,7 @@ paths:
inputs:
- datadog-agent-source
type: datadog_logs
end_to_end_acknowledgements: true
sources:
- id: datadog-agent-source
type: datadog_agent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
/** Specifies the pipeline's configuration, including its sources, processors, and destinations. */
@JsonPropertyOrder({
ObservabilityPipelineConfig.JSON_PROPERTY_DESTINATIONS,
ObservabilityPipelineConfig.JSON_PROPERTY_END_TO_END_ACKNOWLEDGEMENTS,
ObservabilityPipelineConfig.JSON_PROPERTY_PIPELINE_TYPE,
ObservabilityPipelineConfig.JSON_PROPERTY_PROCESSOR_GROUPS,
ObservabilityPipelineConfig.JSON_PROPERTY_PROCESSORS,
Expand All @@ -35,6 +36,10 @@ public class ObservabilityPipelineConfig {
public static final String JSON_PROPERTY_DESTINATIONS = "destinations";
private List<ObservabilityPipelineConfigDestinationItem> destinations = new ArrayList<>();

public static final String JSON_PROPERTY_END_TO_END_ACKNOWLEDGEMENTS =
"end_to_end_acknowledgements";
private Boolean endToEndAcknowledgements;

public static final String JSON_PROPERTY_PIPELINE_TYPE = "pipeline_type";
private ObservabilityPipelineConfigPipelineType pipelineType =
ObservabilityPipelineConfigPipelineType.LOGS;
Expand Down Expand Up @@ -105,6 +110,30 @@ public void setDestinations(List<ObservabilityPipelineConfigDestinationItem> des
}
}

public ObservabilityPipelineConfig endToEndAcknowledgements(Boolean endToEndAcknowledgements) {
this.endToEndAcknowledgements = endToEndAcknowledgements;
return this;
}

/**
* Enables end-to-end event delivery confirmation for the pipeline. When enabled, sources confirm
* receipt only after all destinations have successfully received the events. Requires
* Observability Pipelines Worker 2.14 or later. All configured sources must support this
* behavior.
*
* @return endToEndAcknowledgements
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_END_TO_END_ACKNOWLEDGEMENTS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Boolean getEndToEndAcknowledgements() {
return endToEndAcknowledgements;
}

public void setEndToEndAcknowledgements(Boolean endToEndAcknowledgements) {
this.endToEndAcknowledgements = endToEndAcknowledgements;
}

public ObservabilityPipelineConfig pipelineType(
ObservabilityPipelineConfigPipelineType pipelineType) {
this.pipelineType = pipelineType;
Expand Down Expand Up @@ -340,6 +369,8 @@ public boolean equals(Object o) {
}
ObservabilityPipelineConfig observabilityPipelineConfig = (ObservabilityPipelineConfig) o;
return Objects.equals(this.destinations, observabilityPipelineConfig.destinations)
&& Objects.equals(
this.endToEndAcknowledgements, observabilityPipelineConfig.endToEndAcknowledgements)
&& Objects.equals(this.pipelineType, observabilityPipelineConfig.pipelineType)
&& Objects.equals(this.processorGroups, observabilityPipelineConfig.processorGroups)
&& Objects.equals(this.processors, observabilityPipelineConfig.processors)
Expand All @@ -354,6 +385,7 @@ public boolean equals(Object o) {
public int hashCode() {
return Objects.hash(
destinations,
endToEndAcknowledgements,
pipelineType,
processorGroups,
processors,
Expand All @@ -367,6 +399,9 @@ public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ObservabilityPipelineConfig {\n");
sb.append(" destinations: ").append(toIndentedString(destinations)).append("\n");
sb.append(" endToEndAcknowledgements: ")
.append(toIndentedString(endToEndAcknowledgements))
.append("\n");
sb.append(" pipelineType: ").append(toIndentedString(pipelineType)).append("\n");
sb.append(" processorGroups: ").append(toIndentedString(processorGroups)).append("\n");
sb.append(" processors: ").append(toIndentedString(processors)).append("\n");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Feature: Observability Pipelines
@generated @skip @team:DataDog/observability-pipelines
Scenario: Create a new pipeline returns "Conflict" response
Given new "CreatePipeline" request
And body with value {"data": {"attributes": {"config": {"destinations": [{"id": "datadog-logs-destination", "inputs": ["my-processor-group"], "type": "datadog_logs"}], "pipeline_type": "logs", "processor_groups": [{"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"}]}], "processors": [], "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"}], "end_to_end_acknowledgements": true, "pipeline_type": "logs", "processor_groups": [{"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"}]}], "processors": [], "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

Expand Down Expand Up @@ -121,7 +121,7 @@ Feature: Observability Pipelines
Scenario: Update a pipeline returns "Conflict" response
Given 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": ["my-processor-group"], "type": "datadog_logs"}], "pipeline_type": "logs", "processor_groups": [{"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"}]}], "processors": [], "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"}], "end_to_end_acknowledgements": true, "pipeline_type": "logs", "processor_groups": [{"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"}]}], "processors": [], "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

Expand Down
Loading