Skip to content
Merged
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
44 changes: 44 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line numberDiff line numberDiff line change
Expand Up@@ -72524,6 +72524,7 @@ components:
- $ref: "#/components/schemas/ObservabilityPipelineSyslogNgDestination"
- $ref: "#/components/schemas/ObservabilityPipelineDatabricksZerobusDestination"
- $ref: "#/components/schemas/ObservabilityPipelineDatadogMetricsDestination"
- $ref: "#/components/schemas/ObservabilityPipelineOpentelemetryMetricsDestination"
- $ref: "#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestination"
ObservabilityPipelineConfigPipelineType:
default: logs
Expand DownExpand Up@@ -75170,6 +75171,49 @@ components:
type: string
x-enum-varnames:
- OPENSEARCH
ObservabilityPipelineOpentelemetryMetricsDestination:
description: |-
The `opentelemetry` destination forwards metrics using the OpenTelemetry Protocol (OTLP) over HTTP.

**Supported pipeline types:** metrics
properties:
buffer:
$ref: "#/components/schemas/ObservabilityPipelineBufferOptions"
http_client_uri_key:
default: DESTINATION_OTEL_HTTP_CLIENT_URI
description: Environment variable name containing the URI of the OTLP HTTP endpoint to send metrics to.
example: DESTINATION_OTEL_HTTP_CLIENT_URI
type: string
id:
description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components).
example: opentelemetry-metrics-destination
type: string
inputs:
description: A list of component IDs whose output is used as the `input` for this component.
example: ["metrics-filter-processor"]
items:
description: The ID of a component whose output is used as input for this destination.
type: string
type: array
tls:
$ref: "#/components/schemas/ObservabilityPipelineTls"
type:
$ref: "#/components/schemas/ObservabilityPipelineOpentelemetryMetricsDestinationType"
required:
- id
- type
- inputs
type: object
x-pipeline-types: [metrics]
ObservabilityPipelineOpentelemetryMetricsDestinationType:
default: opentelemetry
description: The destination type. Always `opentelemetry`.
enum:
- opentelemetry
example: opentelemetry
type: string
x-enum-varnames:
- OPENTELEMETRY
ObservabilityPipelineOpentelemetrySource:
description: |-
The `opentelemetry` source receives telemetry data using the OpenTelemetry Protocol (OTLP) over gRPC and HTTP.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -1431,6 +1431,61 @@ public ObservabilityPipelineConfigDestinationItem deserialize(
e);
}

// deserialize ObservabilityPipelineOpentelemetryMetricsDestination
try {
boolean attemptParsing = true;
// ensure that we respect type coercion as set on the client ObjectMapper
if (ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Integer.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Long.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Float.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Double.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Boolean.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(String.class)) {
attemptParsing = typeCoercion;
if (!attemptParsing) {
attemptParsing |=
((ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Integer.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(
Long.class))
&& token == JsonToken.VALUE_NUMBER_INT);
attemptParsing |=
((ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Float.class)
|| ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(
Double.class))
&& (token == JsonToken.VALUE_NUMBER_FLOAT
|| token == JsonToken.VALUE_NUMBER_INT));
attemptParsing |=
(ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(Boolean.class)
&& (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
attemptParsing |=
(ObservabilityPipelineOpentelemetryMetricsDestination.class.equals(String.class)
&& token == JsonToken.VALUE_STRING);
}
}
if (attemptParsing) {
tmp =
tree.traverse(jp.getCodec())
.readValueAs(ObservabilityPipelineOpentelemetryMetricsDestination.class);
// TODO: there is no validation against JSON schema constraints
// (min, max, enum, pattern...), this does not perform a strict JSON
// validation, which means the 'match' count may be higher than it should be.
if (!((ObservabilityPipelineOpentelemetryMetricsDestination) tmp).unparsed) {
deserialized = tmp;
match++;
}
log.log(
Level.FINER,
"Input data matches schema 'ObservabilityPipelineOpentelemetryMetricsDestination'");
}
} catch (Exception e) {
// deserialization failed, continue
log.log(
Level.FINER,
"Input data does not match schema"
+ " 'ObservabilityPipelineOpentelemetryMetricsDestination'",
e);
}

// deserialize ObservabilityPipelineSplunkHecMetricsDestination
try {
boolean attemptParsing = true;
Expand DownExpand Up@@ -1656,6 +1711,12 @@ public ObservabilityPipelineConfigDestinationItem(
setActualInstance(o);
}

public ObservabilityPipelineConfigDestinationItem(
ObservabilityPipelineOpentelemetryMetricsDestination o) {
super("oneOf", Boolean.FALSE);
setActualInstance(o);
}

public ObservabilityPipelineConfigDestinationItem(
ObservabilityPipelineSplunkHecMetricsDestination o) {
super("oneOf", Boolean.FALSE);
Expand DownExpand Up@@ -1737,6 +1798,9 @@ public ObservabilityPipelineConfigDestinationItem(
schemas.put(
"ObservabilityPipelineDatadogMetricsDestination",
new GenericType<ObservabilityPipelineDatadogMetricsDestination>() {});
schemas.put(
"ObservabilityPipelineOpentelemetryMetricsDestination",
new GenericType<ObservabilityPipelineOpentelemetryMetricsDestination>() {});
schemas.put(
"ObservabilityPipelineSplunkHecMetricsDestination",
new GenericType<ObservabilityPipelineSplunkHecMetricsDestination>() {});
Expand DownExpand Up@@ -1766,6 +1830,7 @@ public Map<String, GenericType> getSchemas() {
* ObservabilityPipelineSplunkHecDestination, ObservabilityPipelineSumoLogicDestination,
* ObservabilityPipelineSyslogNgDestination, ObservabilityPipelineDatabricksZerobusDestination,
* ObservabilityPipelineDatadogMetricsDestination,
* ObservabilityPipelineOpentelemetryMetricsDestination,
* ObservabilityPipelineSplunkHecMetricsDestination
*
* <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
Expand DownExpand Up@@ -1911,6 +1976,13 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
if (JSON.isInstanceOf(
ObservabilityPipelineOpentelemetryMetricsDestination.class,
instance,
new HashSet<Class<?>>())) {
super.setActualInstance(instance);
return;
}
if (JSON.isInstanceOf(
ObservabilityPipelineSplunkHecMetricsDestination.class,
instance,
Expand DownExpand Up@@ -1947,6 +2019,7 @@ public void setActualInstance(Object instance) {
+ " ObservabilityPipelineSyslogNgDestination,"
+ " ObservabilityPipelineDatabricksZerobusDestination,"
+ " ObservabilityPipelineDatadogMetricsDestination,"
+ " ObservabilityPipelineOpentelemetryMetricsDestination,"
+ " ObservabilityPipelineSplunkHecMetricsDestination");
}

Expand All@@ -1967,6 +2040,7 @@ public void setActualInstance(Object instance) {
* ObservabilityPipelineSplunkHecDestination, ObservabilityPipelineSumoLogicDestination,
* ObservabilityPipelineSyslogNgDestination, ObservabilityPipelineDatabricksZerobusDestination,
* ObservabilityPipelineDatadogMetricsDestination,
* ObservabilityPipelineOpentelemetryMetricsDestination,
* ObservabilityPipelineSplunkHecMetricsDestination
*
* @return The actual instance (ObservabilityPipelineElasticsearchDestination,
Expand All@@ -1987,6 +2061,7 @@ public void setActualInstance(Object instance) {
* ObservabilityPipelineSyslogNgDestination,
* ObservabilityPipelineDatabricksZerobusDestination,
* ObservabilityPipelineDatadogMetricsDestination,
* ObservabilityPipelineOpentelemetryMetricsDestination,
* ObservabilityPipelineSplunkHecMetricsDestination)
*/
@Override
Expand DownExpand Up@@ -2326,6 +2401,20 @@ public ObservabilityPipelineSyslogNgDestination getObservabilityPipelineSyslogNg
return (ObservabilityPipelineDatadogMetricsDestination) super.getActualInstance();
}

/**
* Get the actual instance of `ObservabilityPipelineOpentelemetryMetricsDestination`. If the
* actual instance is not `ObservabilityPipelineOpentelemetryMetricsDestination`, the
* ClassCastException will be thrown.
*
* @return The actual instance of `ObservabilityPipelineOpentelemetryMetricsDestination`
* @throws ClassCastException if the instance is not
* `ObservabilityPipelineOpentelemetryMetricsDestination`
*/
public ObservabilityPipelineOpentelemetryMetricsDestination
getObservabilityPipelineOpentelemetryMetricsDestination() throws ClassCastException {
return (ObservabilityPipelineOpentelemetryMetricsDestination) super.getActualInstance();
}

/**
* Get the actual instance of `ObservabilityPipelineSplunkHecMetricsDestination`. If the actual
* instance is not `ObservabilityPipelineSplunkHecMetricsDestination`, the ClassCastException will
Expand Down
Loading
Loading