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
5 changes: 5 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73676,6 +73676,11 @@ components:
items:
$ref: '#/components/schemas/ObservabilityPipelineConfigDestinationItem'
type: array
end_to_end_acknowledgements:
description: |-
Enables end-to-end event delivery confirmation. Without a disk buffer, sources acknowledge events after delivery to all final destinations; when a disk buffer provides the acknowledgment boundary, they acknowledge after durable persistence.
Defaults to `false` when omitted. Requires Observability Pipelines Worker 2.14 or later. All configured sources must support this behavior.
type: boolean
pipeline_type:
$ref: '#/components/schemas/ObservabilityPipelineConfigPipelineType'
processor_groups:
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,31 @@ public void setDestinations(List<ObservabilityPipelineConfigDestinationItem> des
}
}

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

/**
* Enables end-to-end event delivery confirmation. Without a disk buffer, sources acknowledge
* events after delivery to all final destinations; when a disk buffer provides the acknowledgment
* boundary, they acknowledge after durable persistence. Defaults to <code>false</code> when
* omitted. 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 +370,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 +386,7 @@ public boolean equals(Object o) {
public int hashCode() {
return Objects.hash(
destinations,
endToEndAcknowledgements,
pipelineType,
processorGroups,
processors,
Expand All @@ -367,6 +400,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 @@ -34,6 +34,7 @@ Feature: Observability Pipelines
And the response "data.attributes.config.sources" has length 1
And the response "data.attributes.config.processor_groups" has length 1
And the response "data.attributes.config.destinations" has length 1
And the response "data.attributes.config" does not have field "end_to_end_acknowledgements"

@team:DataDog/observability-pipelines
Scenario: Create a pipeline with dedupe processor with cache returns "OK" response
Expand Down
Loading