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
60 changes: 60 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30324,6 +30324,7 @@ components:
- $ref: '#/components/schemas/ObservabilityPipelineSocketDestination'
- $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination'
- $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination'
- $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestination'
ObservabilityPipelineConfigProcessorItem:
description: A processor for the pipeline.
oneOf:
Expand Down Expand Up @@ -31385,6 +31386,65 @@ components:
type: string
x-enum-varnames:
- GOOGLE_CLOUD_STORAGE
ObservabilityPipelineGooglePubSubDestination:
description: The `google_pubsub` destination publishes logs to a Google Cloud
Pub/Sub topic.
properties:
auth:
$ref: '#/components/schemas/ObservabilityPipelineGcpAuth'
encoding:
$ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationEncoding'
id:
description: The unique identifier for this component.
example: google-pubsub-destination
type: string
inputs:
description: A list of component IDs whose output is used as the `input`
for this component.
example:
- filter-processor
items:
type: string
type: array
project:
description: The GCP project ID that owns the Pub/Sub topic.
example: my-gcp-project
type: string
tls:
$ref: '#/components/schemas/ObservabilityPipelineTls'
topic:
description: The Pub/Sub topic name to publish logs to.
example: logs-subscription
type: string
type:
$ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationType'
required:
- id
- type
- inputs
- encoding
- project
- topic
type: object
ObservabilityPipelineGooglePubSubDestinationEncoding:
description: Encoding format for log events.
enum:
- json
- raw_message
example: json
type: string
x-enum-varnames:
- JSON
- RAW_MESSAGE
ObservabilityPipelineGooglePubSubDestinationType:
default: google_pubsub
description: The destination type. The value should always be `google_pubsub`.
enum:
- google_pubsub
example: google_pubsub
type: string
x-enum-varnames:
- GOOGLE_PUBSUB
ObservabilityPipelineGooglePubSubSource:
description: The `google_pubsub` source ingests logs from a Google Cloud Pub/Sub
subscription.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,58 @@ public ObservabilityPipelineConfigDestinationItem deserialize(
e);
}

// deserialize ObservabilityPipelineGooglePubSubDestination
try {
boolean attemptParsing = true;
// ensure that we respect type coercion as set on the client ObjectMapper
if (ObservabilityPipelineGooglePubSubDestination.class.equals(Integer.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(Long.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(Float.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(Double.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(Boolean.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(String.class)) {
attemptParsing = typeCoercion;
if (!attemptParsing) {
attemptParsing |=
((ObservabilityPipelineGooglePubSubDestination.class.equals(Integer.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(Long.class))
&& token == JsonToken.VALUE_NUMBER_INT);
attemptParsing |=
((ObservabilityPipelineGooglePubSubDestination.class.equals(Float.class)
|| ObservabilityPipelineGooglePubSubDestination.class.equals(Double.class))
&& (token == JsonToken.VALUE_NUMBER_FLOAT
|| token == JsonToken.VALUE_NUMBER_INT));
attemptParsing |=
(ObservabilityPipelineGooglePubSubDestination.class.equals(Boolean.class)
&& (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
attemptParsing |=
(ObservabilityPipelineGooglePubSubDestination.class.equals(String.class)
&& token == JsonToken.VALUE_STRING);
}
}
if (attemptParsing) {
tmp =
tree.traverse(jp.getCodec())
.readValueAs(ObservabilityPipelineGooglePubSubDestination.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 (!((ObservabilityPipelineGooglePubSubDestination) tmp).unparsed) {
deserialized = tmp;
match++;
}
log.log(
Level.FINER,
"Input data matches schema 'ObservabilityPipelineGooglePubSubDestination'");
}
} catch (Exception e) {
// deserialization failed, continue
log.log(
Level.FINER,
"Input data does not match schema 'ObservabilityPipelineGooglePubSubDestination'",
e);
}

ObservabilityPipelineConfigDestinationItem ret =
new ObservabilityPipelineConfigDestinationItem();
if (match == 1) {
Expand Down Expand Up @@ -1142,6 +1194,12 @@ public ObservabilityPipelineConfigDestinationItem(
setActualInstance(o);
}

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

static {
schemas.put(
"ObservabilityPipelineDatadogLogsDestination",
Expand Down Expand Up @@ -1193,6 +1251,9 @@ public ObservabilityPipelineConfigDestinationItem(
schemas.put(
"ObservabilityPipelineCrowdStrikeNextGenSiemDestination",
new GenericType<ObservabilityPipelineCrowdStrikeNextGenSiemDestination>() {});
schemas.put(
"ObservabilityPipelineGooglePubSubDestination",
new GenericType<ObservabilityPipelineGooglePubSubDestination>() {});
JSON.registerDescendants(
ObservabilityPipelineConfigDestinationItem.class, Collections.unmodifiableMap(schemas));
}
Expand All @@ -1213,7 +1274,8 @@ public Map<String, GenericType> getSchemas() {
* ObservabilityPipelineNewRelicDestination, ObservabilityPipelineSentinelOneDestination,
* ObservabilityPipelineOpenSearchDestination, ObservabilityPipelineAmazonOpenSearchDestination,
* ObservabilityPipelineSocketDestination, ObservabilityPipelineAmazonSecurityLakeDestination,
* ObservabilityPipelineCrowdStrikeNextGenSiemDestination
* ObservabilityPipelineCrowdStrikeNextGenSiemDestination,
* ObservabilityPipelineGooglePubSubDestination
*
* <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
* composed schema (allOf, anyOf, oneOf).
Expand Down Expand Up @@ -1316,6 +1378,11 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
if (JSON.isInstanceOf(
ObservabilityPipelineGooglePubSubDestination.class, instance, new HashSet<Class<?>>())) {
super.setActualInstance(instance);
return;
}

if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet<Class<?>>())) {
super.setActualInstance(instance);
Expand All @@ -1337,7 +1404,8 @@ public void setActualInstance(Object instance) {
+ " ObservabilityPipelineAmazonOpenSearchDestination,"
+ " ObservabilityPipelineSocketDestination,"
+ " ObservabilityPipelineAmazonSecurityLakeDestination,"
+ " ObservabilityPipelineCrowdStrikeNextGenSiemDestination");
+ " ObservabilityPipelineCrowdStrikeNextGenSiemDestination,"
+ " ObservabilityPipelineGooglePubSubDestination");
}

/**
Expand All @@ -1351,7 +1419,8 @@ public void setActualInstance(Object instance) {
* ObservabilityPipelineSentinelOneDestination, ObservabilityPipelineOpenSearchDestination,
* ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineSocketDestination,
* ObservabilityPipelineAmazonSecurityLakeDestination,
* ObservabilityPipelineCrowdStrikeNextGenSiemDestination
* ObservabilityPipelineCrowdStrikeNextGenSiemDestination,
* ObservabilityPipelineGooglePubSubDestination
*
* @return The actual instance (ObservabilityPipelineDatadogLogsDestination,
* ObservabilityPipelineAmazonS3Destination,
Expand All @@ -1364,7 +1433,8 @@ public void setActualInstance(Object instance) {
* ObservabilityPipelineOpenSearchDestination,
* ObservabilityPipelineAmazonOpenSearchDestination, ObservabilityPipelineSocketDestination,
* ObservabilityPipelineAmazonSecurityLakeDestination,
* ObservabilityPipelineCrowdStrikeNextGenSiemDestination)
* ObservabilityPipelineCrowdStrikeNextGenSiemDestination,
* ObservabilityPipelineGooglePubSubDestination)
*/
@Override
public Object getActualInstance() {
Expand Down Expand Up @@ -1598,4 +1668,18 @@ public ObservabilityPipelineSocketDestination getObservabilityPipelineSocketDest
getObservabilityPipelineCrowdStrikeNextGenSiemDestination() throws ClassCastException {
return (ObservabilityPipelineCrowdStrikeNextGenSiemDestination) super.getActualInstance();
}

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