diff --git a/.generated-info b/.generated-info index 2f609c52737..4859698c660 100644 --- a/.generated-info +++ b/.generated-info @@ -1,4 +1,4 @@ { - "spec_repo_commit": "4413e63", - "generated": "2025-08-19 20:29:58.463" + "spec_repo_commit": "ca16233", + "generated": "2025-08-21 17:10:08.217" } diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 5dc52e4a2ee..7be522b9349 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -4983,6 +4983,8 @@ components: description: Optional prefix for blobs written to the container. example: logs/ type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' container_name: description: The name of the Azure Blob Storage container to store logs in. @@ -25037,6 +25039,8 @@ components: description: The `microsoft_sentinel` destination forwards logs to Microsoft Sentinel. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' client_id: description: Azure AD client ID used for authentication. example: a1b2c3d4-5678-90ab-cdef-1234567890ab @@ -26669,6 +26673,8 @@ components: properties: auth: $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' bulk_index: description: The index to write logs to. example: logs-index @@ -26747,6 +26753,8 @@ components: description: S3 bucket name. example: error-logs type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: Unique identifier for the destination component. example: amazon-s3-destination @@ -26919,6 +26927,30 @@ components: role session. type: string type: object + ObservabilityPipelineBufferOptions: + description: Configuration for buffer settings on destination components. + oneOf: + - $ref: '#/components/schemas/ObservabilityPipelineDiskBufferOptions' + - $ref: '#/components/schemas/ObservabilityPipelineMemoryBufferOptions' + - $ref: '#/components/schemas/ObservabilityPipelineMemoryBufferSizeOptions' + ObservabilityPipelineBufferOptionsDiskType: + default: disk + description: Specifies the buffer type to configure. This option supports only + a disk buffer. + enum: + - disk + type: string + x-enum-varnames: + - DISK + ObservabilityPipelineBufferOptionsMemoryType: + default: memory + description: Specifies the buffer type to configure. This option supports only + a memory buffer. + enum: + - memory + type: string + x-enum-varnames: + - MEMORY ObservabilityPipelineConfig: description: Specifies the pipeline's configuration, including its sources, processors, and destinations. @@ -27232,6 +27264,8 @@ components: ObservabilityPipelineDatadogLogsDestination: description: The `datadog_logs` destination forwards logs to Datadog Log Management. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: datadog-logs-destination @@ -27407,12 +27441,25 @@ components: type: string x-enum-varnames: - DEDUPE + ObservabilityPipelineDiskBufferOptions: + description: Options for configuring a disk buffer. + properties: + max_size: + description: Maximum size of the disk buffer. + example: 4096 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsDiskType' + type: object ObservabilityPipelineElasticsearchDestination: description: The `elasticsearch` destination writes logs to an Elasticsearch cluster. properties: api_version: $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationApiVersion' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' bulk_index: description: The index to write logs to in Elasticsearch. example: logs-index @@ -27897,6 +27944,8 @@ components: properties: auth: $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' customer_id: description: The Google Chronicle customer ID. example: abcdefg123456789 @@ -27963,6 +28012,8 @@ components: description: Name of the GCS bucket. example: error-logs type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: Unique identifier for the destination component. example: gcs-destination @@ -28273,6 +28324,28 @@ components: type: string x-enum-varnames: - LOGSTASH + ObservabilityPipelineMemoryBufferOptions: + description: Options for configuring a memory buffer by byte size. + properties: + max_size: + description: Maximum size of the disk buffer. + example: 4096 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsMemoryType' + type: object + ObservabilityPipelineMemoryBufferSizeOptions: + description: Options for configuring a memory buffer by queue length. + properties: + max_events: + description: Maximum events for the memory buffer. + example: 500 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsMemoryType' + type: object ObservabilityPipelineMetadataEntry: description: A custom metadata entry. properties: @@ -28296,6 +28369,8 @@ components: ObservabilityPipelineNewRelicDestination: description: The `new_relic` destination sends logs to the New Relic platform. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: new-relic-destination @@ -28433,6 +28508,8 @@ components: ObservabilityPipelineOpenSearchDestination: description: The `opensearch` destination writes logs to an OpenSearch cluster. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' bulk_index: description: The index to write logs to. example: logs-index @@ -28657,9 +28734,10 @@ components: can drop or alert. properties: drop_events: - description: If set to `true`, logs that matched the quota filter and sent - after the quota has been met are dropped; only logs that did not match - the filter query continue through the pipeline. + description: 'If set to `true`, logs that match the quota filter and are + sent after the quota is exceeded are dropped. Logs that do not match the + filter continue through the pipeline. **Note**: You can set either `drop_events` + or `overflow_action`, but not both.' example: false type: boolean id: @@ -28707,6 +28785,8 @@ components: items: type: string type: array + too_many_buckets_action: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverflowAction' type: $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorType' required: @@ -28714,7 +28794,6 @@ components: - type - include - name - - drop_events - limit - inputs type: object @@ -28745,7 +28824,8 @@ components: - BYTES - EVENTS ObservabilityPipelineQuotaProcessorOverflowAction: - description: 'The action to take when the quota is exceeded. Options: + description: 'The action to take when the quota or bucket limit is exceeded. + Options: - `drop`: Drop the event. @@ -29006,6 +29086,8 @@ components: description: The `rsyslog` destination forwards logs to an external `rsyslog` server over TCP or UDP using the syslog protocol. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: rsyslog-destination @@ -29076,6 +29158,16 @@ components: description: The `sample` processor allows probabilistic sampling of logs at a fixed rate. properties: + group_by: + description: Optional list of fields to group events by. Each group is sampled + independently. + example: + - service + - host + items: + type: string + minItems: 1 + type: array id: description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` @@ -29480,6 +29572,8 @@ components: ObservabilityPipelineSentinelOneDestination: description: The `sentinel_one` destination sends logs to SentinelOne. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: sentinelone-destination @@ -29836,6 +29930,8 @@ components: ' example: true type: boolean + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' encoding: $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationEncoding' id: @@ -29949,6 +30045,8 @@ components: ObservabilityPipelineSumoLogicDestination: description: The `sumo_logic` destination forwards logs to Sumo Logic. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' encoding: $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationEncoding' header_custom_fields: @@ -30052,6 +30150,8 @@ components: description: The `syslog_ng` destination forwards logs to an external `syslog-ng` server over TCP or UDP using the syslog protocol. properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' id: description: The unique identifier for this component. example: syslog-ng-destination diff --git a/src/main/java/com/datadog/api/client/v2/model/AzureStorageDestination.java b/src/main/java/com/datadog/api/client/v2/model/AzureStorageDestination.java index 2404a627a2b..3499a5894a3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AzureStorageDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/AzureStorageDestination.java @@ -22,6 +22,7 @@ /** The azure_storage destination forwards logs to an Azure Blob Storage container. */ @JsonPropertyOrder({ AzureStorageDestination.JSON_PROPERTY_BLOB_PREFIX, + AzureStorageDestination.JSON_PROPERTY_BUFFER, AzureStorageDestination.JSON_PROPERTY_CONTAINER_NAME, AzureStorageDestination.JSON_PROPERTY_ID, AzureStorageDestination.JSON_PROPERTY_INPUTS, @@ -34,6 +35,9 @@ public class AzureStorageDestination { public static final String JSON_PROPERTY_BLOB_PREFIX = "blob_prefix"; private String blobPrefix; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_CONTAINER_NAME = "container_name"; private String containerName; @@ -82,6 +86,28 @@ public void setBlobPrefix(String blobPrefix) { this.blobPrefix = blobPrefix; } + public AzureStorageDestination buffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public AzureStorageDestination containerName(String containerName) { this.containerName = containerName; return this; @@ -228,6 +254,7 @@ public boolean equals(Object o) { } AzureStorageDestination azureStorageDestination = (AzureStorageDestination) o; return Objects.equals(this.blobPrefix, azureStorageDestination.blobPrefix) + && Objects.equals(this.buffer, azureStorageDestination.buffer) && Objects.equals(this.containerName, azureStorageDestination.containerName) && Objects.equals(this.id, azureStorageDestination.id) && Objects.equals(this.inputs, azureStorageDestination.inputs) @@ -237,7 +264,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(blobPrefix, containerName, id, inputs, type, additionalProperties); + return Objects.hash(blobPrefix, buffer, containerName, id, inputs, type, additionalProperties); } @Override @@ -245,6 +272,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AzureStorageDestination {\n"); sb.append(" blobPrefix: ").append(toIndentedString(blobPrefix)).append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" containerName: ").append(toIndentedString(containerName)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/MicrosoftSentinelDestination.java b/src/main/java/com/datadog/api/client/v2/model/MicrosoftSentinelDestination.java index 62d3cfd1cbc..5ca5c0728d6 100644 --- a/src/main/java/com/datadog/api/client/v2/model/MicrosoftSentinelDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/MicrosoftSentinelDestination.java @@ -21,6 +21,7 @@ /** The microsoft_sentinel destination forwards logs to Microsoft Sentinel. */ @JsonPropertyOrder({ + MicrosoftSentinelDestination.JSON_PROPERTY_BUFFER, MicrosoftSentinelDestination.JSON_PROPERTY_CLIENT_ID, MicrosoftSentinelDestination.JSON_PROPERTY_DCR_IMMUTABLE_ID, MicrosoftSentinelDestination.JSON_PROPERTY_ID, @@ -33,6 +34,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class MicrosoftSentinelDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_CLIENT_ID = "client_id"; private String clientId; @@ -77,6 +81,28 @@ public MicrosoftSentinelDestination( this.unparsed |= !type.isValid(); } + public MicrosoftSentinelDestination buffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public MicrosoftSentinelDestination clientId(String clientId) { this.clientId = clientId; return this; @@ -282,7 +308,8 @@ public boolean equals(Object o) { return false; } MicrosoftSentinelDestination microsoftSentinelDestination = (MicrosoftSentinelDestination) o; - return Objects.equals(this.clientId, microsoftSentinelDestination.clientId) + return Objects.equals(this.buffer, microsoftSentinelDestination.buffer) + && Objects.equals(this.clientId, microsoftSentinelDestination.clientId) && Objects.equals(this.dcrImmutableId, microsoftSentinelDestination.dcrImmutableId) && Objects.equals(this.id, microsoftSentinelDestination.id) && Objects.equals(this.inputs, microsoftSentinelDestination.inputs) @@ -296,13 +323,14 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( - clientId, dcrImmutableId, id, inputs, table, tenantId, type, additionalProperties); + buffer, clientId, dcrImmutableId, id, inputs, table, tenantId, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class MicrosoftSentinelDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); sb.append(" dcrImmutableId: ").append(toIndentedString(dcrImmutableId)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonOpenSearchDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonOpenSearchDestination.java index f8e615e74d8..20f5f4228cd 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonOpenSearchDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonOpenSearchDestination.java @@ -22,6 +22,7 @@ /** The amazon_opensearch destination writes logs to Amazon OpenSearch. */ @JsonPropertyOrder({ ObservabilityPipelineAmazonOpenSearchDestination.JSON_PROPERTY_AUTH, + ObservabilityPipelineAmazonOpenSearchDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineAmazonOpenSearchDestination.JSON_PROPERTY_BULK_INDEX, ObservabilityPipelineAmazonOpenSearchDestination.JSON_PROPERTY_ID, ObservabilityPipelineAmazonOpenSearchDestination.JSON_PROPERTY_INPUTS, @@ -34,6 +35,9 @@ public class ObservabilityPipelineAmazonOpenSearchDestination { public static final String JSON_PROPERTY_AUTH = "auth"; private ObservabilityPipelineAmazonOpenSearchDestinationAuth auth; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_BULK_INDEX = "bulk_index"; private String bulkIndex; @@ -88,6 +92,29 @@ public void setAuth(ObservabilityPipelineAmazonOpenSearchDestinationAuth auth) { this.auth = auth; } + public ObservabilityPipelineAmazonOpenSearchDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineAmazonOpenSearchDestination bulkIndex(String bulkIndex) { this.bulkIndex = bulkIndex; return this; @@ -239,6 +266,7 @@ public boolean equals(Object o) { observabilityPipelineAmazonOpenSearchDestination = (ObservabilityPipelineAmazonOpenSearchDestination) o; return Objects.equals(this.auth, observabilityPipelineAmazonOpenSearchDestination.auth) + && Objects.equals(this.buffer, observabilityPipelineAmazonOpenSearchDestination.buffer) && Objects.equals( this.bulkIndex, observabilityPipelineAmazonOpenSearchDestination.bulkIndex) && Objects.equals(this.id, observabilityPipelineAmazonOpenSearchDestination.id) @@ -251,7 +279,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(auth, bulkIndex, id, inputs, type, additionalProperties); + return Objects.hash(auth, buffer, bulkIndex, id, inputs, type, additionalProperties); } @Override @@ -259,6 +287,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineAmazonOpenSearchDestination {\n"); sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" bulkIndex: ").append(toIndentedString(bulkIndex)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3Destination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3Destination.java index e7b0612ac30..482d362982b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3Destination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3Destination.java @@ -26,6 +26,7 @@ @JsonPropertyOrder({ ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_AUTH, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_BUCKET, + ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_BUFFER, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_ID, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_INPUTS, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_KEY_PREFIX, @@ -44,6 +45,9 @@ public class ObservabilityPipelineAmazonS3Destination { public static final String JSON_PROPERTY_BUCKET = "bucket"; private String bucket; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -131,6 +135,29 @@ public void setBucket(String bucket) { this.bucket = bucket; } + public ObservabilityPipelineAmazonS3Destination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineAmazonS3Destination id(String id) { this.id = id; return this; @@ -348,6 +375,7 @@ public boolean equals(Object o) { (ObservabilityPipelineAmazonS3Destination) o; return Objects.equals(this.auth, observabilityPipelineAmazonS3Destination.auth) && Objects.equals(this.bucket, observabilityPipelineAmazonS3Destination.bucket) + && Objects.equals(this.buffer, observabilityPipelineAmazonS3Destination.buffer) && Objects.equals(this.id, observabilityPipelineAmazonS3Destination.id) && Objects.equals(this.inputs, observabilityPipelineAmazonS3Destination.inputs) && Objects.equals(this.keyPrefix, observabilityPipelineAmazonS3Destination.keyPrefix) @@ -363,7 +391,17 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( - auth, bucket, id, inputs, keyPrefix, region, storageClass, tls, type, additionalProperties); + auth, + bucket, + buffer, + id, + inputs, + keyPrefix, + region, + storageClass, + tls, + type, + additionalProperties); } @Override @@ -372,6 +410,7 @@ public String toString() { sb.append("class ObservabilityPipelineAmazonS3Destination {\n"); sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); sb.append(" bucket: ").append(toIndentedString(bucket)).append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" keyPrefix: ").append(toIndentedString(keyPrefix)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptions.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptions.java new file mode 100644 index 00000000000..bc7dbbaed68 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptions.java @@ -0,0 +1,390 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +@JsonDeserialize( + using = ObservabilityPipelineBufferOptions.ObservabilityPipelineBufferOptionsDeserializer.class) +@JsonSerialize( + using = ObservabilityPipelineBufferOptions.ObservabilityPipelineBufferOptionsSerializer.class) +public class ObservabilityPipelineBufferOptions extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ObservabilityPipelineBufferOptions.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ObservabilityPipelineBufferOptionsSerializer + extends StdSerializer { + public ObservabilityPipelineBufferOptionsSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineBufferOptionsSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineBufferOptions value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ObservabilityPipelineBufferOptionsDeserializer + extends StdDeserializer { + public ObservabilityPipelineBufferOptionsDeserializer() { + this(ObservabilityPipelineBufferOptions.class); + } + + public ObservabilityPipelineBufferOptionsDeserializer(Class vc) { + super(vc); + } + + @Override + public ObservabilityPipelineBufferOptions deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize ObservabilityPipelineDiskBufferOptions + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineDiskBufferOptions.class.equals(Integer.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(Long.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(Float.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(Double.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(Boolean.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineDiskBufferOptions.class.equals(Integer.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineDiskBufferOptions.class.equals(Float.class) + || ObservabilityPipelineDiskBufferOptions.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineDiskBufferOptions.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineDiskBufferOptions.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineDiskBufferOptions.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 (!((ObservabilityPipelineDiskBufferOptions) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, "Input data matches schema 'ObservabilityPipelineDiskBufferOptions'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineDiskBufferOptions'", + e); + } + + // deserialize ObservabilityPipelineMemoryBufferOptions + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineMemoryBufferOptions.class.equals(Integer.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(Long.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(Float.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(Double.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(Boolean.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineMemoryBufferOptions.class.equals(Integer.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineMemoryBufferOptions.class.equals(Float.class) + || ObservabilityPipelineMemoryBufferOptions.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineMemoryBufferOptions.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineMemoryBufferOptions.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineMemoryBufferOptions.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 (!((ObservabilityPipelineMemoryBufferOptions) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, "Input data matches schema 'ObservabilityPipelineMemoryBufferOptions'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineMemoryBufferOptions'", + e); + } + + // deserialize ObservabilityPipelineMemoryBufferSizeOptions + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Integer.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Long.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Float.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Double.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Boolean.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Integer.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Float.class) + || ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineMemoryBufferSizeOptions.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineMemoryBufferSizeOptions.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineMemoryBufferSizeOptions.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 (!((ObservabilityPipelineMemoryBufferSizeOptions) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema 'ObservabilityPipelineMemoryBufferSizeOptions'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'ObservabilityPipelineMemoryBufferSizeOptions'", + e); + } + + ObservabilityPipelineBufferOptions ret = new ObservabilityPipelineBufferOptions(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public ObservabilityPipelineBufferOptions getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ObservabilityPipelineBufferOptions cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ObservabilityPipelineBufferOptions() { + super("oneOf", Boolean.FALSE); + } + + public ObservabilityPipelineBufferOptions(ObservabilityPipelineDiskBufferOptions o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineBufferOptions(ObservabilityPipelineMemoryBufferOptions o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineBufferOptions(ObservabilityPipelineMemoryBufferSizeOptions o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "ObservabilityPipelineDiskBufferOptions", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineMemoryBufferOptions", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineMemoryBufferSizeOptions", + new GenericType() {}); + JSON.registerDescendants( + ObservabilityPipelineBufferOptions.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ObservabilityPipelineBufferOptions.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: ObservabilityPipelineDiskBufferOptions, + * ObservabilityPipelineMemoryBufferOptions, ObservabilityPipelineMemoryBufferSizeOptions + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + ObservabilityPipelineDiskBufferOptions.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineMemoryBufferOptions.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineMemoryBufferSizeOptions.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be ObservabilityPipelineDiskBufferOptions," + + " ObservabilityPipelineMemoryBufferOptions," + + " ObservabilityPipelineMemoryBufferSizeOptions"); + } + + /** + * Get the actual instance, which can be the following: ObservabilityPipelineDiskBufferOptions, + * ObservabilityPipelineMemoryBufferOptions, ObservabilityPipelineMemoryBufferSizeOptions + * + * @return The actual instance (ObservabilityPipelineDiskBufferOptions, + * ObservabilityPipelineMemoryBufferOptions, ObservabilityPipelineMemoryBufferSizeOptions) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineDiskBufferOptions`. If the actual instance is + * not `ObservabilityPipelineDiskBufferOptions`, the ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineDiskBufferOptions` + * @throws ClassCastException if the instance is not `ObservabilityPipelineDiskBufferOptions` + */ + public ObservabilityPipelineDiskBufferOptions getObservabilityPipelineDiskBufferOptions() + throws ClassCastException { + return (ObservabilityPipelineDiskBufferOptions) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineMemoryBufferOptions`. If the actual instance + * is not `ObservabilityPipelineMemoryBufferOptions`, the ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineMemoryBufferOptions` + * @throws ClassCastException if the instance is not `ObservabilityPipelineMemoryBufferOptions` + */ + public ObservabilityPipelineMemoryBufferOptions getObservabilityPipelineMemoryBufferOptions() + throws ClassCastException { + return (ObservabilityPipelineMemoryBufferOptions) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineMemoryBufferSizeOptions`. If the actual + * instance is not `ObservabilityPipelineMemoryBufferSizeOptions`, the ClassCastException will be + * thrown. + * + * @return The actual instance of `ObservabilityPipelineMemoryBufferSizeOptions` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineMemoryBufferSizeOptions` + */ + public ObservabilityPipelineMemoryBufferSizeOptions + getObservabilityPipelineMemoryBufferSizeOptions() throws ClassCastException { + return (ObservabilityPipelineMemoryBufferSizeOptions) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptionsDiskType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptionsDiskType.java new file mode 100644 index 00000000000..831293d7db6 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptionsDiskType.java @@ -0,0 +1,62 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Specifies the buffer type to configure. This option supports only a disk buffer. */ +@JsonSerialize( + using = + ObservabilityPipelineBufferOptionsDiskType + .ObservabilityPipelineBufferOptionsDiskTypeSerializer.class) +public class ObservabilityPipelineBufferOptionsDiskType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("disk")); + + public static final ObservabilityPipelineBufferOptionsDiskType DISK = + new ObservabilityPipelineBufferOptionsDiskType("disk"); + + ObservabilityPipelineBufferOptionsDiskType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineBufferOptionsDiskTypeSerializer + extends StdSerializer { + public ObservabilityPipelineBufferOptionsDiskTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineBufferOptionsDiskTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineBufferOptionsDiskType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineBufferOptionsDiskType fromValue(String value) { + return new ObservabilityPipelineBufferOptionsDiskType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptionsMemoryType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptionsMemoryType.java new file mode 100644 index 00000000000..88b6d941762 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineBufferOptionsMemoryType.java @@ -0,0 +1,62 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Specifies the buffer type to configure. This option supports only a memory buffer. */ +@JsonSerialize( + using = + ObservabilityPipelineBufferOptionsMemoryType + .ObservabilityPipelineBufferOptionsMemoryTypeSerializer.class) +public class ObservabilityPipelineBufferOptionsMemoryType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("memory")); + + public static final ObservabilityPipelineBufferOptionsMemoryType MEMORY = + new ObservabilityPipelineBufferOptionsMemoryType("memory"); + + ObservabilityPipelineBufferOptionsMemoryType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineBufferOptionsMemoryTypeSerializer + extends StdSerializer { + public ObservabilityPipelineBufferOptionsMemoryTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineBufferOptionsMemoryTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineBufferOptionsMemoryType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineBufferOptionsMemoryType fromValue(String value) { + return new ObservabilityPipelineBufferOptionsMemoryType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogLogsDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogLogsDestination.java index c408c2da16f..edcfe28688c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogLogsDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDatadogLogsDestination.java @@ -21,6 +21,7 @@ /** The datadog_logs destination forwards logs to Datadog Log Management. */ @JsonPropertyOrder({ + ObservabilityPipelineDatadogLogsDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineDatadogLogsDestination.JSON_PROPERTY_ID, ObservabilityPipelineDatadogLogsDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineDatadogLogsDestination.JSON_PROPERTY_TYPE @@ -29,6 +30,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineDatadogLogsDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -53,6 +57,29 @@ public ObservabilityPipelineDatadogLogsDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineDatadogLogsDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineDatadogLogsDestination id(String id) { this.id = id; return this; @@ -181,7 +208,8 @@ public boolean equals(Object o) { } ObservabilityPipelineDatadogLogsDestination observabilityPipelineDatadogLogsDestination = (ObservabilityPipelineDatadogLogsDestination) o; - return Objects.equals(this.id, observabilityPipelineDatadogLogsDestination.id) + return Objects.equals(this.buffer, observabilityPipelineDatadogLogsDestination.buffer) + && Objects.equals(this.id, observabilityPipelineDatadogLogsDestination.id) && Objects.equals(this.inputs, observabilityPipelineDatadogLogsDestination.inputs) && Objects.equals(this.type, observabilityPipelineDatadogLogsDestination.type) && Objects.equals( @@ -191,13 +219,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, inputs, type, additionalProperties); + return Objects.hash(buffer, id, inputs, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineDatadogLogsDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDiskBufferOptions.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDiskBufferOptions.java new file mode 100644 index 00000000000..4323b75ac0c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineDiskBufferOptions.java @@ -0,0 +1,172 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Options for configuring a disk buffer. */ +@JsonPropertyOrder({ + ObservabilityPipelineDiskBufferOptions.JSON_PROPERTY_MAX_SIZE, + ObservabilityPipelineDiskBufferOptions.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineDiskBufferOptions { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_MAX_SIZE = "max_size"; + private Long maxSize; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineBufferOptionsDiskType type = + ObservabilityPipelineBufferOptionsDiskType.DISK; + + public ObservabilityPipelineDiskBufferOptions maxSize(Long maxSize) { + this.maxSize = maxSize; + return this; + } + + /** + * Maximum size of the disk buffer. + * + * @return maxSize + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MAX_SIZE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getMaxSize() { + return maxSize; + } + + public void setMaxSize(Long maxSize) { + this.maxSize = maxSize; + } + + public ObservabilityPipelineDiskBufferOptions type( + ObservabilityPipelineBufferOptionsDiskType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Specifies the buffer type to configure. This option supports only a disk buffer. + * + * @return type + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptionsDiskType getType() { + return type; + } + + public void setType(ObservabilityPipelineBufferOptionsDiskType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineDiskBufferOptions + */ + @JsonAnySetter + public ObservabilityPipelineDiskBufferOptions putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineDiskBufferOptions object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineDiskBufferOptions observabilityPipelineDiskBufferOptions = + (ObservabilityPipelineDiskBufferOptions) o; + return Objects.equals(this.maxSize, observabilityPipelineDiskBufferOptions.maxSize) + && Objects.equals(this.type, observabilityPipelineDiskBufferOptions.type) + && Objects.equals( + this.additionalProperties, observabilityPipelineDiskBufferOptions.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(maxSize, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineDiskBufferOptions {\n"); + sb.append(" maxSize: ").append(toIndentedString(maxSize)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineElasticsearchDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineElasticsearchDestination.java index c414b55e50e..fdc7f6e7a0f 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineElasticsearchDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineElasticsearchDestination.java @@ -22,6 +22,7 @@ /** The elasticsearch destination writes logs to an Elasticsearch cluster. */ @JsonPropertyOrder({ ObservabilityPipelineElasticsearchDestination.JSON_PROPERTY_API_VERSION, + ObservabilityPipelineElasticsearchDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineElasticsearchDestination.JSON_PROPERTY_BULK_INDEX, ObservabilityPipelineElasticsearchDestination.JSON_PROPERTY_ID, ObservabilityPipelineElasticsearchDestination.JSON_PROPERTY_INPUTS, @@ -34,6 +35,9 @@ public class ObservabilityPipelineElasticsearchDestination { public static final String JSON_PROPERTY_API_VERSION = "api_version"; private ObservabilityPipelineElasticsearchDestinationApiVersion apiVersion; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_BULK_INDEX = "bulk_index"; private String bulkIndex; @@ -87,6 +91,29 @@ public void setApiVersion(ObservabilityPipelineElasticsearchDestinationApiVersio this.apiVersion = apiVersion; } + public ObservabilityPipelineElasticsearchDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineElasticsearchDestination bulkIndex(String bulkIndex) { this.bulkIndex = bulkIndex; return this; @@ -237,6 +264,7 @@ public boolean equals(Object o) { ObservabilityPipelineElasticsearchDestination observabilityPipelineElasticsearchDestination = (ObservabilityPipelineElasticsearchDestination) o; return Objects.equals(this.apiVersion, observabilityPipelineElasticsearchDestination.apiVersion) + && Objects.equals(this.buffer, observabilityPipelineElasticsearchDestination.buffer) && Objects.equals(this.bulkIndex, observabilityPipelineElasticsearchDestination.bulkIndex) && Objects.equals(this.id, observabilityPipelineElasticsearchDestination.id) && Objects.equals(this.inputs, observabilityPipelineElasticsearchDestination.inputs) @@ -248,7 +276,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(apiVersion, bulkIndex, id, inputs, type, additionalProperties); + return Objects.hash(apiVersion, buffer, bulkIndex, id, inputs, type, additionalProperties); } @Override @@ -256,6 +284,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineElasticsearchDestination {\n"); sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" bulkIndex: ").append(toIndentedString(bulkIndex)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleChronicleDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleChronicleDestination.java index 59f67cbc635..5b9fabd886e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleChronicleDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleChronicleDestination.java @@ -22,6 +22,7 @@ /** The google_chronicle destination sends logs to Google Chronicle. */ @JsonPropertyOrder({ ObservabilityPipelineGoogleChronicleDestination.JSON_PROPERTY_AUTH, + ObservabilityPipelineGoogleChronicleDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineGoogleChronicleDestination.JSON_PROPERTY_CUSTOMER_ID, ObservabilityPipelineGoogleChronicleDestination.JSON_PROPERTY_ENCODING, ObservabilityPipelineGoogleChronicleDestination.JSON_PROPERTY_ID, @@ -36,6 +37,9 @@ public class ObservabilityPipelineGoogleChronicleDestination { public static final String JSON_PROPERTY_AUTH = "auth"; private ObservabilityPipelineGcpAuth auth; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_CUSTOMER_ID = "customer_id"; private String customerId; @@ -95,6 +99,29 @@ public void setAuth(ObservabilityPipelineGcpAuth auth) { this.auth = auth; } + public ObservabilityPipelineGoogleChronicleDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineGoogleChronicleDestination customerId(String customerId) { this.customerId = customerId; return this; @@ -292,6 +319,7 @@ public boolean equals(Object o) { observabilityPipelineGoogleChronicleDestination = (ObservabilityPipelineGoogleChronicleDestination) o; return Objects.equals(this.auth, observabilityPipelineGoogleChronicleDestination.auth) + && Objects.equals(this.buffer, observabilityPipelineGoogleChronicleDestination.buffer) && Objects.equals( this.customerId, observabilityPipelineGoogleChronicleDestination.customerId) && Objects.equals(this.encoding, observabilityPipelineGoogleChronicleDestination.encoding) @@ -307,7 +335,7 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( - auth, customerId, encoding, id, inputs, logType, type, additionalProperties); + auth, buffer, customerId, encoding, id, inputs, logType, type, additionalProperties); } @Override @@ -315,6 +343,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineGoogleChronicleDestination {\n"); sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" customerId: ").append(toIndentedString(customerId)).append("\n"); sb.append(" encoding: ").append(toIndentedString(encoding)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java index ecc90380196..f872a07135d 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestination.java @@ -27,6 +27,7 @@ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_ACL, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_AUTH, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_BUCKET, + ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_ID, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_KEY_PREFIX, @@ -47,6 +48,9 @@ public class ObservabilityPipelineGoogleCloudStorageDestination { public static final String JSON_PROPERTY_BUCKET = "bucket"; private String bucket; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -160,6 +164,29 @@ public void setBucket(String bucket) { this.bucket = bucket; } + public ObservabilityPipelineGoogleCloudStorageDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineGoogleCloudStorageDestination id(String id) { this.id = id; return this; @@ -376,6 +403,7 @@ public boolean equals(Object o) { return Objects.equals(this.acl, observabilityPipelineGoogleCloudStorageDestination.acl) && Objects.equals(this.auth, observabilityPipelineGoogleCloudStorageDestination.auth) && Objects.equals(this.bucket, observabilityPipelineGoogleCloudStorageDestination.bucket) + && Objects.equals(this.buffer, observabilityPipelineGoogleCloudStorageDestination.buffer) && Objects.equals(this.id, observabilityPipelineGoogleCloudStorageDestination.id) && Objects.equals(this.inputs, observabilityPipelineGoogleCloudStorageDestination.inputs) && Objects.equals( @@ -396,6 +424,7 @@ public int hashCode() { acl, auth, bucket, + buffer, id, inputs, keyPrefix, @@ -412,6 +441,7 @@ public String toString() { sb.append(" acl: ").append(toIndentedString(acl)).append("\n"); sb.append(" auth: ").append(toIndentedString(auth)).append("\n"); sb.append(" bucket: ").append(toIndentedString(bucket)).append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" keyPrefix: ").append(toIndentedString(keyPrefix)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMemoryBufferOptions.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMemoryBufferOptions.java new file mode 100644 index 00000000000..92b60038a53 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMemoryBufferOptions.java @@ -0,0 +1,173 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Options for configuring a memory buffer by byte size. */ +@JsonPropertyOrder({ + ObservabilityPipelineMemoryBufferOptions.JSON_PROPERTY_MAX_SIZE, + ObservabilityPipelineMemoryBufferOptions.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineMemoryBufferOptions { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_MAX_SIZE = "max_size"; + private Long maxSize; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineBufferOptionsMemoryType type = + ObservabilityPipelineBufferOptionsMemoryType.MEMORY; + + public ObservabilityPipelineMemoryBufferOptions maxSize(Long maxSize) { + this.maxSize = maxSize; + return this; + } + + /** + * Maximum size of the disk buffer. + * + * @return maxSize + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MAX_SIZE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getMaxSize() { + return maxSize; + } + + public void setMaxSize(Long maxSize) { + this.maxSize = maxSize; + } + + public ObservabilityPipelineMemoryBufferOptions type( + ObservabilityPipelineBufferOptionsMemoryType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Specifies the buffer type to configure. This option supports only a memory buffer. + * + * @return type + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptionsMemoryType getType() { + return type; + } + + public void setType(ObservabilityPipelineBufferOptionsMemoryType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineMemoryBufferOptions + */ + @JsonAnySetter + public ObservabilityPipelineMemoryBufferOptions putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineMemoryBufferOptions object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineMemoryBufferOptions observabilityPipelineMemoryBufferOptions = + (ObservabilityPipelineMemoryBufferOptions) o; + return Objects.equals(this.maxSize, observabilityPipelineMemoryBufferOptions.maxSize) + && Objects.equals(this.type, observabilityPipelineMemoryBufferOptions.type) + && Objects.equals( + this.additionalProperties, + observabilityPipelineMemoryBufferOptions.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(maxSize, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineMemoryBufferOptions {\n"); + sb.append(" maxSize: ").append(toIndentedString(maxSize)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMemoryBufferSizeOptions.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMemoryBufferSizeOptions.java new file mode 100644 index 00000000000..66a0f6f26e2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineMemoryBufferSizeOptions.java @@ -0,0 +1,174 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Options for configuring a memory buffer by queue length. */ +@JsonPropertyOrder({ + ObservabilityPipelineMemoryBufferSizeOptions.JSON_PROPERTY_MAX_EVENTS, + ObservabilityPipelineMemoryBufferSizeOptions.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineMemoryBufferSizeOptions { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_MAX_EVENTS = "max_events"; + private Long maxEvents; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ObservabilityPipelineBufferOptionsMemoryType type = + ObservabilityPipelineBufferOptionsMemoryType.MEMORY; + + public ObservabilityPipelineMemoryBufferSizeOptions maxEvents(Long maxEvents) { + this.maxEvents = maxEvents; + return this; + } + + /** + * Maximum events for the memory buffer. + * + * @return maxEvents + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MAX_EVENTS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getMaxEvents() { + return maxEvents; + } + + public void setMaxEvents(Long maxEvents) { + this.maxEvents = maxEvents; + } + + public ObservabilityPipelineMemoryBufferSizeOptions type( + ObservabilityPipelineBufferOptionsMemoryType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Specifies the buffer type to configure. This option supports only a memory buffer. + * + * @return type + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptionsMemoryType getType() { + return type; + } + + public void setType(ObservabilityPipelineBufferOptionsMemoryType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ObservabilityPipelineMemoryBufferSizeOptions + */ + @JsonAnySetter + public ObservabilityPipelineMemoryBufferSizeOptions putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ObservabilityPipelineMemoryBufferSizeOptions object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineMemoryBufferSizeOptions observabilityPipelineMemoryBufferSizeOptions = + (ObservabilityPipelineMemoryBufferSizeOptions) o; + return Objects.equals(this.maxEvents, observabilityPipelineMemoryBufferSizeOptions.maxEvents) + && Objects.equals(this.type, observabilityPipelineMemoryBufferSizeOptions.type) + && Objects.equals( + this.additionalProperties, + observabilityPipelineMemoryBufferSizeOptions.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(maxEvents, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineMemoryBufferSizeOptions {\n"); + sb.append(" maxEvents: ").append(toIndentedString(maxEvents)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineNewRelicDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineNewRelicDestination.java index 014f7edd62a..510c28c4215 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineNewRelicDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineNewRelicDestination.java @@ -21,6 +21,7 @@ /** The new_relic destination sends logs to the New Relic platform. */ @JsonPropertyOrder({ + ObservabilityPipelineNewRelicDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineNewRelicDestination.JSON_PROPERTY_ID, ObservabilityPipelineNewRelicDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineNewRelicDestination.JSON_PROPERTY_REGION, @@ -30,6 +31,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineNewRelicDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -61,6 +65,29 @@ public ObservabilityPipelineNewRelicDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineNewRelicDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineNewRelicDestination id(String id) { this.id = id; return this; @@ -213,7 +240,8 @@ public boolean equals(Object o) { } ObservabilityPipelineNewRelicDestination observabilityPipelineNewRelicDestination = (ObservabilityPipelineNewRelicDestination) o; - return Objects.equals(this.id, observabilityPipelineNewRelicDestination.id) + return Objects.equals(this.buffer, observabilityPipelineNewRelicDestination.buffer) + && Objects.equals(this.id, observabilityPipelineNewRelicDestination.id) && Objects.equals(this.inputs, observabilityPipelineNewRelicDestination.inputs) && Objects.equals(this.region, observabilityPipelineNewRelicDestination.region) && Objects.equals(this.type, observabilityPipelineNewRelicDestination.type) @@ -224,13 +252,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, inputs, region, type, additionalProperties); + return Objects.hash(buffer, id, inputs, region, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineNewRelicDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" region: ").append(toIndentedString(region)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpenSearchDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpenSearchDestination.java index b9d0be60441..831c1b4f29b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpenSearchDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineOpenSearchDestination.java @@ -21,6 +21,7 @@ /** The opensearch destination writes logs to an OpenSearch cluster. */ @JsonPropertyOrder({ + ObservabilityPipelineOpenSearchDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineOpenSearchDestination.JSON_PROPERTY_BULK_INDEX, ObservabilityPipelineOpenSearchDestination.JSON_PROPERTY_ID, ObservabilityPipelineOpenSearchDestination.JSON_PROPERTY_INPUTS, @@ -30,6 +31,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineOpenSearchDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_BULK_INDEX = "bulk_index"; private String bulkIndex; @@ -57,6 +61,29 @@ public ObservabilityPipelineOpenSearchDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineOpenSearchDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineOpenSearchDestination bulkIndex(String bulkIndex) { this.bulkIndex = bulkIndex; return this; @@ -206,7 +233,8 @@ public boolean equals(Object o) { } ObservabilityPipelineOpenSearchDestination observabilityPipelineOpenSearchDestination = (ObservabilityPipelineOpenSearchDestination) o; - return Objects.equals(this.bulkIndex, observabilityPipelineOpenSearchDestination.bulkIndex) + return Objects.equals(this.buffer, observabilityPipelineOpenSearchDestination.buffer) + && Objects.equals(this.bulkIndex, observabilityPipelineOpenSearchDestination.bulkIndex) && Objects.equals(this.id, observabilityPipelineOpenSearchDestination.id) && Objects.equals(this.inputs, observabilityPipelineOpenSearchDestination.inputs) && Objects.equals(this.type, observabilityPipelineOpenSearchDestination.type) @@ -217,13 +245,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(bulkIndex, id, inputs, type, additionalProperties); + return Objects.hash(buffer, bulkIndex, id, inputs, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineOpenSearchDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" bulkIndex: ").append(toIndentedString(bulkIndex)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessor.java index 589a76b0604..1a20119a03b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessor.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessor.java @@ -34,6 +34,7 @@ ObservabilityPipelineQuotaProcessor.JSON_PROPERTY_OVERFLOW_ACTION, ObservabilityPipelineQuotaProcessor.JSON_PROPERTY_OVERRIDES, ObservabilityPipelineQuotaProcessor.JSON_PROPERTY_PARTITION_FIELDS, + ObservabilityPipelineQuotaProcessor.JSON_PROPERTY_TOO_MANY_BUCKETS_ACTION, ObservabilityPipelineQuotaProcessor.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated( @@ -71,6 +72,9 @@ public class ObservabilityPipelineQuotaProcessor { public static final String JSON_PROPERTY_PARTITION_FIELDS = "partition_fields"; private List partitionFields = null; + public static final String JSON_PROPERTY_TOO_MANY_BUCKETS_ACTION = "too_many_buckets_action"; + private ObservabilityPipelineQuotaProcessorOverflowAction tooManyBucketsAction; + public static final String JSON_PROPERTY_TYPE = "type"; private ObservabilityPipelineQuotaProcessorType type = ObservabilityPipelineQuotaProcessorType.QUOTA; @@ -79,7 +83,6 @@ public ObservabilityPipelineQuotaProcessor() {} @JsonCreator public ObservabilityPipelineQuotaProcessor( - @JsonProperty(required = true, value = JSON_PROPERTY_DROP_EVENTS) Boolean dropEvents, @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, @JsonProperty(required = true, value = JSON_PROPERTY_INCLUDE) String include, @JsonProperty(required = true, value = JSON_PROPERTY_INPUTS) List inputs, @@ -88,7 +91,6 @@ public ObservabilityPipelineQuotaProcessor( @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) ObservabilityPipelineQuotaProcessorType type) { - this.dropEvents = dropEvents; this.id = id; this.include = include; this.inputs = inputs; @@ -105,14 +107,16 @@ public ObservabilityPipelineQuotaProcessor dropEvents(Boolean dropEvents) { } /** - * If set to true, logs that matched the quota filter and sent after the quota has - * been met are dropped; only logs that did not match the filter query continue through the - * pipeline. + * If set to true, logs that match the quota filter and are sent after the quota is + * exceeded are dropped. Logs that do not match the filter continue through the pipeline. + * Note: You can set either drop_events or overflow_action + * , but not both. * * @return dropEvents */ + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_DROP_EVENTS) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public Boolean getDropEvents() { return dropEvents; } @@ -260,9 +264,9 @@ public ObservabilityPipelineQuotaProcessor overflowAction( } /** - * The action to take when the quota is exceeded. Options: - drop: Drop the event. - - * no_action: Let the event pass through. - overflow_routing: Route to - * an overflow destination. + * The action to take when the quota or bucket limit is exceeded. Options: - drop: + * Drop the event. - no_action: Let the event pass through. - overflow_routing + * : Route to an overflow destination. * * @return overflowAction */ @@ -346,6 +350,35 @@ public void setPartitionFields(List partitionFields) { this.partitionFields = partitionFields; } + public ObservabilityPipelineQuotaProcessor tooManyBucketsAction( + ObservabilityPipelineQuotaProcessorOverflowAction tooManyBucketsAction) { + this.tooManyBucketsAction = tooManyBucketsAction; + this.unparsed |= !tooManyBucketsAction.isValid(); + return this; + } + + /** + * The action to take when the quota or bucket limit is exceeded. Options: - drop: + * Drop the event. - no_action: Let the event pass through. - overflow_routing + * : Route to an overflow destination. + * + * @return tooManyBucketsAction + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TOO_MANY_BUCKETS_ACTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineQuotaProcessorOverflowAction getTooManyBucketsAction() { + return tooManyBucketsAction; + } + + public void setTooManyBucketsAction( + ObservabilityPipelineQuotaProcessorOverflowAction tooManyBucketsAction) { + if (!tooManyBucketsAction.isValid()) { + this.unparsed = true; + } + this.tooManyBucketsAction = tooManyBucketsAction; + } + public ObservabilityPipelineQuotaProcessor type(ObservabilityPipelineQuotaProcessorType type) { this.type = type; this.unparsed |= !type.isValid(); @@ -439,6 +472,8 @@ public boolean equals(Object o) { && Objects.equals(this.overflowAction, observabilityPipelineQuotaProcessor.overflowAction) && Objects.equals(this.overrides, observabilityPipelineQuotaProcessor.overrides) && Objects.equals(this.partitionFields, observabilityPipelineQuotaProcessor.partitionFields) + && Objects.equals( + this.tooManyBucketsAction, observabilityPipelineQuotaProcessor.tooManyBucketsAction) && Objects.equals(this.type, observabilityPipelineQuotaProcessor.type) && Objects.equals( this.additionalProperties, observabilityPipelineQuotaProcessor.additionalProperties); @@ -457,6 +492,7 @@ public int hashCode() { overflowAction, overrides, partitionFields, + tooManyBucketsAction, type, additionalProperties); } @@ -477,6 +513,9 @@ public String toString() { sb.append(" overflowAction: ").append(toIndentedString(overflowAction)).append("\n"); sb.append(" overrides: ").append(toIndentedString(overrides)).append("\n"); sb.append(" partitionFields: ").append(toIndentedString(partitionFields)).append("\n"); + sb.append(" tooManyBucketsAction: ") + .append(toIndentedString(tooManyBucketsAction)) + .append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessorOverflowAction.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessorOverflowAction.java index ddb04343a50..953d483a274 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessorOverflowAction.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineQuotaProcessorOverflowAction.java @@ -19,9 +19,9 @@ import java.util.Set; /** - * The action to take when the quota is exceeded. Options: - drop: Drop the event. - - * no_action: Let the event pass through. - overflow_routing: Route to an - * overflow destination. + * The action to take when the quota or bucket limit is exceeded. Options: - drop: Drop + * the event. - no_action: Let the event pass through. - overflow_routing: + * Route to an overflow destination. */ @JsonSerialize( using = diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineRsyslogDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineRsyslogDestination.java index 3a2cd8d24a8..2d9175c988e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineRsyslogDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineRsyslogDestination.java @@ -24,6 +24,7 @@ * over TCP or UDP using the syslog protocol. */ @JsonPropertyOrder({ + ObservabilityPipelineRsyslogDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineRsyslogDestination.JSON_PROPERTY_ID, ObservabilityPipelineRsyslogDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineRsyslogDestination.JSON_PROPERTY_KEEPALIVE, @@ -34,6 +35,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineRsyslogDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -64,6 +68,28 @@ public ObservabilityPipelineRsyslogDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineRsyslogDestination buffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineRsyslogDestination id(String id) { this.id = id; return this; @@ -234,7 +260,8 @@ public boolean equals(Object o) { } ObservabilityPipelineRsyslogDestination observabilityPipelineRsyslogDestination = (ObservabilityPipelineRsyslogDestination) o; - return Objects.equals(this.id, observabilityPipelineRsyslogDestination.id) + return Objects.equals(this.buffer, observabilityPipelineRsyslogDestination.buffer) + && Objects.equals(this.id, observabilityPipelineRsyslogDestination.id) && Objects.equals(this.inputs, observabilityPipelineRsyslogDestination.inputs) && Objects.equals(this.keepalive, observabilityPipelineRsyslogDestination.keepalive) && Objects.equals(this.tls, observabilityPipelineRsyslogDestination.tls) @@ -246,13 +273,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, inputs, keepalive, tls, type, additionalProperties); + return Objects.hash(buffer, id, inputs, keepalive, tls, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineRsyslogDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" keepalive: ").append(toIndentedString(keepalive)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSampleProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSampleProcessor.java index c865cfaf352..542302123f1 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSampleProcessor.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSampleProcessor.java @@ -21,6 +21,7 @@ /** The sample processor allows probabilistic sampling of logs at a fixed rate. */ @JsonPropertyOrder({ + ObservabilityPipelineSampleProcessor.JSON_PROPERTY_GROUP_BY, ObservabilityPipelineSampleProcessor.JSON_PROPERTY_ID, ObservabilityPipelineSampleProcessor.JSON_PROPERTY_INCLUDE, ObservabilityPipelineSampleProcessor.JSON_PROPERTY_INPUTS, @@ -32,6 +33,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineSampleProcessor { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_GROUP_BY = "group_by"; + private List groupBy = null; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -67,6 +71,35 @@ public ObservabilityPipelineSampleProcessor( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineSampleProcessor groupBy(List groupBy) { + this.groupBy = groupBy; + return this; + } + + public ObservabilityPipelineSampleProcessor addGroupByItem(String groupByItem) { + if (this.groupBy == null) { + this.groupBy = new ArrayList<>(); + } + this.groupBy.add(groupByItem); + return this; + } + + /** + * Optional list of fields to group events by. Each group is sampled independently. + * + * @return groupBy + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_GROUP_BY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getGroupBy() { + return groupBy; + } + + public void setGroupBy(List groupBy) { + this.groupBy = groupBy; + } + public ObservabilityPipelineSampleProcessor id(String id) { this.id = id; return this; @@ -256,7 +289,8 @@ public boolean equals(Object o) { } ObservabilityPipelineSampleProcessor observabilityPipelineSampleProcessor = (ObservabilityPipelineSampleProcessor) o; - return Objects.equals(this.id, observabilityPipelineSampleProcessor.id) + return Objects.equals(this.groupBy, observabilityPipelineSampleProcessor.groupBy) + && Objects.equals(this.id, observabilityPipelineSampleProcessor.id) && Objects.equals(this.include, observabilityPipelineSampleProcessor.include) && Objects.equals(this.inputs, observabilityPipelineSampleProcessor.inputs) && Objects.equals(this.percentage, observabilityPipelineSampleProcessor.percentage) @@ -268,13 +302,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, include, inputs, percentage, rate, type, additionalProperties); + return Objects.hash(groupBy, id, include, inputs, percentage, rate, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineSampleProcessor {\n"); + sb.append(" groupBy: ").append(toIndentedString(groupBy)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" include: ").append(toIndentedString(include)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSentinelOneDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSentinelOneDestination.java index 01f5acac7ee..2930d209f15 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSentinelOneDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSentinelOneDestination.java @@ -21,6 +21,7 @@ /** The sentinel_one destination sends logs to SentinelOne. */ @JsonPropertyOrder({ + ObservabilityPipelineSentinelOneDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineSentinelOneDestination.JSON_PROPERTY_ID, ObservabilityPipelineSentinelOneDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineSentinelOneDestination.JSON_PROPERTY_REGION, @@ -30,6 +31,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineSentinelOneDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -61,6 +65,29 @@ public ObservabilityPipelineSentinelOneDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineSentinelOneDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineSentinelOneDestination id(String id) { this.id = id; return this; @@ -214,7 +241,8 @@ public boolean equals(Object o) { } ObservabilityPipelineSentinelOneDestination observabilityPipelineSentinelOneDestination = (ObservabilityPipelineSentinelOneDestination) o; - return Objects.equals(this.id, observabilityPipelineSentinelOneDestination.id) + return Objects.equals(this.buffer, observabilityPipelineSentinelOneDestination.buffer) + && Objects.equals(this.id, observabilityPipelineSentinelOneDestination.id) && Objects.equals(this.inputs, observabilityPipelineSentinelOneDestination.inputs) && Objects.equals(this.region, observabilityPipelineSentinelOneDestination.region) && Objects.equals(this.type, observabilityPipelineSentinelOneDestination.type) @@ -225,13 +253,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, inputs, region, type, additionalProperties); + return Objects.hash(buffer, id, inputs, region, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineSentinelOneDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" region: ").append(toIndentedString(region)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSplunkHecDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSplunkHecDestination.java index 3eafb768273..2876a124855 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSplunkHecDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSplunkHecDestination.java @@ -25,6 +25,7 @@ */ @JsonPropertyOrder({ ObservabilityPipelineSplunkHecDestination.JSON_PROPERTY_AUTO_EXTRACT_TIMESTAMP, + ObservabilityPipelineSplunkHecDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineSplunkHecDestination.JSON_PROPERTY_ENCODING, ObservabilityPipelineSplunkHecDestination.JSON_PROPERTY_ID, ObservabilityPipelineSplunkHecDestination.JSON_PROPERTY_INDEX, @@ -39,6 +40,9 @@ public class ObservabilityPipelineSplunkHecDestination { public static final String JSON_PROPERTY_AUTO_EXTRACT_TIMESTAMP = "auto_extract_timestamp"; private Boolean autoExtractTimestamp; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ENCODING = "encoding"; private ObservabilityPipelineSplunkHecDestinationEncoding encoding; @@ -95,6 +99,29 @@ public void setAutoExtractTimestamp(Boolean autoExtractTimestamp) { this.autoExtractTimestamp = autoExtractTimestamp; } + public ObservabilityPipelineSplunkHecDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineSplunkHecDestination encoding( ObservabilityPipelineSplunkHecDestinationEncoding encoding) { this.encoding = encoding; @@ -294,6 +321,7 @@ public boolean equals(Object o) { return Objects.equals( this.autoExtractTimestamp, observabilityPipelineSplunkHecDestination.autoExtractTimestamp) + && Objects.equals(this.buffer, observabilityPipelineSplunkHecDestination.buffer) && Objects.equals(this.encoding, observabilityPipelineSplunkHecDestination.encoding) && Objects.equals(this.id, observabilityPipelineSplunkHecDestination.id) && Objects.equals(this.index, observabilityPipelineSplunkHecDestination.index) @@ -308,7 +336,15 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( - autoExtractTimestamp, encoding, id, index, inputs, sourcetype, type, additionalProperties); + autoExtractTimestamp, + buffer, + encoding, + id, + index, + inputs, + sourcetype, + type, + additionalProperties); } @Override @@ -318,6 +354,7 @@ public String toString() { sb.append(" autoExtractTimestamp: ") .append(toIndentedString(autoExtractTimestamp)) .append("\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" encoding: ").append(toIndentedString(encoding)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" index: ").append(toIndentedString(index)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSumoLogicDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSumoLogicDestination.java index ae5f61dcbce..4e507743d70 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSumoLogicDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSumoLogicDestination.java @@ -21,6 +21,7 @@ /** The sumo_logic destination forwards logs to Sumo Logic. */ @JsonPropertyOrder({ + ObservabilityPipelineSumoLogicDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineSumoLogicDestination.JSON_PROPERTY_ENCODING, ObservabilityPipelineSumoLogicDestination.JSON_PROPERTY_HEADER_CUSTOM_FIELDS, ObservabilityPipelineSumoLogicDestination.JSON_PROPERTY_HEADER_HOST_NAME, @@ -34,6 +35,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineSumoLogicDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ENCODING = "encoding"; private ObservabilityPipelineSumoLogicDestinationEncoding encoding; @@ -74,6 +78,29 @@ public ObservabilityPipelineSumoLogicDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineSumoLogicDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineSumoLogicDestination encoding( ObservabilityPipelineSumoLogicDestinationEncoding encoding) { this.encoding = encoding; @@ -329,7 +356,8 @@ public boolean equals(Object o) { } ObservabilityPipelineSumoLogicDestination observabilityPipelineSumoLogicDestination = (ObservabilityPipelineSumoLogicDestination) o; - return Objects.equals(this.encoding, observabilityPipelineSumoLogicDestination.encoding) + return Objects.equals(this.buffer, observabilityPipelineSumoLogicDestination.buffer) + && Objects.equals(this.encoding, observabilityPipelineSumoLogicDestination.encoding) && Objects.equals( this.headerCustomFields, observabilityPipelineSumoLogicDestination.headerCustomFields) && Objects.equals( @@ -350,6 +378,7 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( + buffer, encoding, headerCustomFields, headerHostName, @@ -365,6 +394,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineSumoLogicDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" encoding: ").append(toIndentedString(encoding)).append("\n"); sb.append(" headerCustomFields: ").append(toIndentedString(headerCustomFields)).append("\n"); sb.append(" headerHostName: ").append(toIndentedString(headerHostName)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSyslogNgDestination.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSyslogNgDestination.java index b8b70fe8139..ee14088bb89 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSyslogNgDestination.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineSyslogNgDestination.java @@ -24,6 +24,7 @@ * over TCP or UDP using the syslog protocol. */ @JsonPropertyOrder({ + ObservabilityPipelineSyslogNgDestination.JSON_PROPERTY_BUFFER, ObservabilityPipelineSyslogNgDestination.JSON_PROPERTY_ID, ObservabilityPipelineSyslogNgDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineSyslogNgDestination.JSON_PROPERTY_KEEPALIVE, @@ -34,6 +35,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ObservabilityPipelineSyslogNgDestination { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUFFER = "buffer"; + private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -64,6 +68,29 @@ public ObservabilityPipelineSyslogNgDestination( this.unparsed |= !type.isValid(); } + public ObservabilityPipelineSyslogNgDestination buffer( + ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + this.unparsed |= buffer.unparsed; + return this; + } + + /** + * Configuration for buffer settings on destination components. + * + * @return buffer + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUFFER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineBufferOptions getBuffer() { + return buffer; + } + + public void setBuffer(ObservabilityPipelineBufferOptions buffer) { + this.buffer = buffer; + } + public ObservabilityPipelineSyslogNgDestination id(String id) { this.id = id; return this; @@ -234,7 +261,8 @@ public boolean equals(Object o) { } ObservabilityPipelineSyslogNgDestination observabilityPipelineSyslogNgDestination = (ObservabilityPipelineSyslogNgDestination) o; - return Objects.equals(this.id, observabilityPipelineSyslogNgDestination.id) + return Objects.equals(this.buffer, observabilityPipelineSyslogNgDestination.buffer) + && Objects.equals(this.id, observabilityPipelineSyslogNgDestination.id) && Objects.equals(this.inputs, observabilityPipelineSyslogNgDestination.inputs) && Objects.equals(this.keepalive, observabilityPipelineSyslogNgDestination.keepalive) && Objects.equals(this.tls, observabilityPipelineSyslogNgDestination.tls) @@ -246,13 +274,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, inputs, keepalive, tls, type, additionalProperties); + return Objects.hash(buffer, id, inputs, keepalive, tls, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ObservabilityPipelineSyslogNgDestination {\n"); + sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n"); sb.append(" keepalive: ").append(toIndentedString(keepalive)).append("\n");