From 86cb84fea4ae156138dae2d1950dea732705e08f Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Fri, 21 Aug 2026 15:02:50 +0000 Subject: [PATCH] Regenerate client from commit b7d232e of spec repo --- .generator/schemas/v2/openapi.yaml | 177 +++++++++ .../v2/model/AzureStorageDestination.java | 34 ++ ...ervabilityPipelineAmazonS3Destination.java | 34 ++ ...ipelineAmazonS3DestinationCompression.java | 341 ++++++++++++++++ ...ineAmazonS3DestinationCompressionGzip.java | 190 +++++++++ ...mazonS3DestinationCompressionGzipType.java | 63 +++ ...ineAmazonS3DestinationCompressionZstd.java | 190 +++++++++ ...mazonS3DestinationCompressionZstdType.java | 63 +++ ...ineAzureStorageDestinationCompression.java | 355 +++++++++++++++++ ...zureStorageDestinationCompressionGzip.java | 192 +++++++++ ...StorageDestinationCompressionGzipType.java | 64 +++ ...zureStorageDestinationCompressionZstd.java | 192 +++++++++ ...StorageDestinationCompressionZstdType.java | 64 +++ ...PipelineGoogleCloudStorageDestination.java | 36 ++ ...gleCloudStorageDestinationCompression.java | 374 ++++++++++++++++++ ...loudStorageDestinationCompressionGzip.java | 193 +++++++++ ...StorageDestinationCompressionGzipType.java | 65 +++ ...loudStorageDestinationCompressionZstd.java | 193 +++++++++ ...StorageDestinationCompressionZstdType.java | 65 +++ 19 files changed, 2885 insertions(+) create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompression.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzip.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzipType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstd.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstdType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompression.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzip.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzipType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstd.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstdType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompression.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType.java diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 560b3188e9f..f1528ca3eab 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -12928,6 +12928,8 @@ components: type: string buffer: $ref: "#/components/schemas/ObservabilityPipelineBufferOptions" + compression: + $ref: "#/components/schemas/ObservabilityPipelineAzureStorageDestinationCompression" connection_string_key: description: Name of the environment variable or secret that holds the Azure Storage connection string. example: AZURE_STORAGE_CONNECTION_STRING @@ -70980,6 +70982,8 @@ components: type: string buffer: $ref: "#/components/schemas/ObservabilityPipelineBufferOptions" + compression: + $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationCompression" id: description: Unique identifier for the destination component. example: amazon-s3-destination @@ -71021,6 +71025,63 @@ components: - storage_class type: object x-pipeline-types: [logs] + ObservabilityPipelineAmazonS3DestinationCompression: + description: |- + Compression configuration for archived logs. When omitted, logs are compressed with gzip + for backward compatibility. + oneOf: + - $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationCompressionZstd" + - $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationCompressionGzip" + ObservabilityPipelineAmazonS3DestinationCompressionGzip: + description: Gzip compression. + properties: + algorithm: + $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationCompressionGzipType" + level: + description: Gzip compression level. Valid values range from 1 to 9. + example: 6 + format: int64 + maximum: 9 + minimum: 1 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineAmazonS3DestinationCompressionGzipType: + default: gzip + description: The compression type. Always `gzip`. + enum: + - gzip + example: gzip + type: string + x-enum-varnames: + - GZIP + ObservabilityPipelineAmazonS3DestinationCompressionZstd: + description: Zstd compression. + properties: + algorithm: + $ref: "#/components/schemas/ObservabilityPipelineAmazonS3DestinationCompressionZstdType" + level: + description: Zstd compression level. Valid values range from 1 to 21. + example: 3 + format: int64 + maximum: 21 + minimum: 1 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineAmazonS3DestinationCompressionZstdType: + default: zstd + description: The compression type. Always `zstd`. + enum: + - zstd + example: zstd + type: string + x-enum-varnames: + - ZSTD ObservabilityPipelineAmazonS3DestinationServerSideEncryption: description: Server-side encryption type for Amazon S3. enum: @@ -71382,6 +71443,63 @@ components: description: A session identifier used for logging and tracing the assumed role session. type: string type: object + ObservabilityPipelineAzureStorageDestinationCompression: + description: |- + Compression configuration for archived logs. When omitted, logs are compressed with gzip + for backward compatibility. + oneOf: + - $ref: "#/components/schemas/ObservabilityPipelineAzureStorageDestinationCompressionZstd" + - $ref: "#/components/schemas/ObservabilityPipelineAzureStorageDestinationCompressionGzip" + ObservabilityPipelineAzureStorageDestinationCompressionGzip: + description: Gzip compression. + properties: + algorithm: + $ref: "#/components/schemas/ObservabilityPipelineAzureStorageDestinationCompressionGzipType" + level: + description: Gzip compression level. Valid values range from 1 to 9. + example: 6 + format: int64 + maximum: 9 + minimum: 1 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineAzureStorageDestinationCompressionGzipType: + default: gzip + description: The compression type. Always `gzip`. + enum: + - gzip + example: gzip + type: string + x-enum-varnames: + - GZIP + ObservabilityPipelineAzureStorageDestinationCompressionZstd: + description: Zstd compression. + properties: + algorithm: + $ref: "#/components/schemas/ObservabilityPipelineAzureStorageDestinationCompressionZstdType" + level: + description: Zstd compression level. Valid values range from 1 to 21. + example: 3 + format: int64 + maximum: 21 + minimum: 1 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineAzureStorageDestinationCompressionZstdType: + default: zstd + description: The compression type. Always `zstd`. + enum: + - zstd + example: zstd + type: string + x-enum-varnames: + - ZSTD ObservabilityPipelineBufferOptions: description: Configuration for buffer settings on destination components. oneOf: @@ -73160,6 +73278,8 @@ components: type: string buffer: $ref: "#/components/schemas/ObservabilityPipelineBufferOptions" + compression: + $ref: "#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationCompression" id: description: Unique identifier for the destination component. example: gcs-destination @@ -73209,6 +73329,63 @@ components: - AUTHENTICATEDNOT_READ - BUCKETNOT_OWNERNOT_READ - BUCKETNOT_OWNERNOT_FULLNOT_CONTROL + ObservabilityPipelineGoogleCloudStorageDestinationCompression: + description: |- + Compression configuration for archived logs. When omitted, logs are compressed with gzip + for backward compatibility. + oneOf: + - $ref: "#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd" + - $ref: "#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip" + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip: + description: Gzip compression. + properties: + algorithm: + $ref: "#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType" + level: + description: Gzip compression level. Valid values range from 1 to 9. + example: 6 + format: int64 + maximum: 9 + minimum: 1 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType: + default: gzip + description: The compression type. Always `gzip`. + enum: + - gzip + example: gzip + type: string + x-enum-varnames: + - GZIP + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd: + description: Zstd compression. + properties: + algorithm: + $ref: "#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType" + level: + description: Zstd compression level. Valid values range from 1 to 21. + example: 3 + format: int64 + maximum: 21 + minimum: 1 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType: + default: zstd + description: The compression type. Always `zstd`. + enum: + - zstd + example: zstd + type: string + x-enum-varnames: + - ZSTD ObservabilityPipelineGoogleCloudStorageDestinationStorageClass: description: Storage class used for objects stored in GCS. enum: 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 2b950b14fbc..541a2d8756e 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 @@ -27,6 +27,7 @@ @JsonPropertyOrder({ AzureStorageDestination.JSON_PROPERTY_BLOB_PREFIX, AzureStorageDestination.JSON_PROPERTY_BUFFER, + AzureStorageDestination.JSON_PROPERTY_COMPRESSION, AzureStorageDestination.JSON_PROPERTY_CONNECTION_STRING_KEY, AzureStorageDestination.JSON_PROPERTY_CONTAINER_NAME, AzureStorageDestination.JSON_PROPERTY_ID, @@ -43,6 +44,9 @@ public class AzureStorageDestination { public static final String JSON_PROPERTY_BUFFER = "buffer"; private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_COMPRESSION = "compression"; + private ObservabilityPipelineAzureStorageDestinationCompression compression; + public static final String JSON_PROPERTY_CONNECTION_STRING_KEY = "connection_string_key"; private String connectionStringKey; @@ -119,6 +123,33 @@ public void setBuffer(ObservabilityPipelineBufferOptions buffer) { } } + public AzureStorageDestination compression( + ObservabilityPipelineAzureStorageDestinationCompression compression) { + this.compression = compression; + this.unparsed |= compression.unparsed; + return this; + } + + /** + * Compression configuration for archived logs. When omitted, logs are compressed with gzip for + * backward compatibility. + * + * @return compression + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPRESSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineAzureStorageDestinationCompression getCompression() { + return compression; + } + + public void setCompression(ObservabilityPipelineAzureStorageDestinationCompression compression) { + this.compression = compression; + if (compression != null) { + this.unparsed |= compression.unparsed; + } + } + public AzureStorageDestination connectionStringKey(String connectionStringKey) { this.connectionStringKey = connectionStringKey; return this; @@ -287,6 +318,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.compression, azureStorageDestination.compression) && Objects.equals(this.connectionStringKey, azureStorageDestination.connectionStringKey) && Objects.equals(this.containerName, azureStorageDestination.containerName) && Objects.equals(this.id, azureStorageDestination.id) @@ -300,6 +332,7 @@ public int hashCode() { return Objects.hash( blobPrefix, buffer, + compression, connectionStringKey, containerName, id, @@ -314,6 +347,7 @@ public String toString() { sb.append("class AzureStorageDestination {\n"); sb.append(" blobPrefix: ").append(toIndentedString(blobPrefix)).append("\n"); sb.append(" buffer: ").append(toIndentedString(buffer)).append("\n"); + sb.append(" compression: ").append(toIndentedString(compression)).append("\n"); sb.append(" connectionStringKey: ") .append(toIndentedString(connectionStringKey)) .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 1e0703f609f..bc54e7a1632 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 @@ -29,6 +29,7 @@ ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_AUTH, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_BUCKET, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_BUFFER, + ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_COMPRESSION, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_ID, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_INPUTS, ObservabilityPipelineAmazonS3Destination.JSON_PROPERTY_KEY_PREFIX, @@ -52,6 +53,9 @@ public class ObservabilityPipelineAmazonS3Destination { public static final String JSON_PROPERTY_BUFFER = "buffer"; private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_COMPRESSION = "compression"; + private ObservabilityPipelineAmazonS3DestinationCompression compression; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -174,6 +178,33 @@ public void setBuffer(ObservabilityPipelineBufferOptions buffer) { } } + public ObservabilityPipelineAmazonS3Destination compression( + ObservabilityPipelineAmazonS3DestinationCompression compression) { + this.compression = compression; + this.unparsed |= compression.unparsed; + return this; + } + + /** + * Compression configuration for archived logs. When omitted, logs are compressed with gzip for + * backward compatibility. + * + * @return compression + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPRESSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineAmazonS3DestinationCompression getCompression() { + return compression; + } + + public void setCompression(ObservabilityPipelineAmazonS3DestinationCompression compression) { + this.compression = compression; + if (compression != null) { + this.unparsed |= compression.unparsed; + } + } + public ObservabilityPipelineAmazonS3Destination id(String id) { this.id = id; return this; @@ -444,6 +475,7 @@ public boolean equals(Object o) { return Objects.equals(this.auth, observabilityPipelineAmazonS3Destination.auth) && Objects.equals(this.bucket, observabilityPipelineAmazonS3Destination.bucket) && Objects.equals(this.buffer, observabilityPipelineAmazonS3Destination.buffer) + && Objects.equals(this.compression, observabilityPipelineAmazonS3Destination.compression) && Objects.equals(this.id, observabilityPipelineAmazonS3Destination.id) && Objects.equals(this.inputs, observabilityPipelineAmazonS3Destination.inputs) && Objects.equals(this.keyPrefix, observabilityPipelineAmazonS3Destination.keyPrefix) @@ -466,6 +498,7 @@ public int hashCode() { auth, bucket, buffer, + compression, id, inputs, keyPrefix, @@ -485,6 +518,7 @@ public String toString() { 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(" compression: ").append(toIndentedString(compression)).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/ObservabilityPipelineAmazonS3DestinationCompression.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompression.java new file mode 100644 index 00000000000..c7af58e75ba --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompression.java @@ -0,0 +1,341 @@ +/* + * 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 = + ObservabilityPipelineAmazonS3DestinationCompression + .ObservabilityPipelineAmazonS3DestinationCompressionDeserializer.class) +@JsonSerialize( + using = + ObservabilityPipelineAmazonS3DestinationCompression + .ObservabilityPipelineAmazonS3DestinationCompressionSerializer.class) +public class ObservabilityPipelineAmazonS3DestinationCompression extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ObservabilityPipelineAmazonS3DestinationCompression.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ObservabilityPipelineAmazonS3DestinationCompressionSerializer + extends StdSerializer { + public ObservabilityPipelineAmazonS3DestinationCompressionSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineAmazonS3DestinationCompressionSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineAmazonS3DestinationCompression value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ObservabilityPipelineAmazonS3DestinationCompressionDeserializer + extends StdDeserializer { + public ObservabilityPipelineAmazonS3DestinationCompressionDeserializer() { + this(ObservabilityPipelineAmazonS3DestinationCompression.class); + } + + public ObservabilityPipelineAmazonS3DestinationCompressionDeserializer(Class vc) { + super(vc); + } + + @Override + public ObservabilityPipelineAmazonS3DestinationCompression 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 ObservabilityPipelineAmazonS3DestinationCompressionZstd + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Integer.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Long.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Float.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Double.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Boolean.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals( + Integer.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Float.class) + || ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineAmazonS3DestinationCompressionZstd.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineAmazonS3DestinationCompressionZstd.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 (!((ObservabilityPipelineAmazonS3DestinationCompressionZstd) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineAmazonS3DestinationCompressionZstd'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineAmazonS3DestinationCompressionZstd'", + e); + } + + // deserialize ObservabilityPipelineAmazonS3DestinationCompressionGzip + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Integer.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Long.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Float.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Double.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Boolean.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals( + Integer.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Float.class) + || ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineAmazonS3DestinationCompressionGzip.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineAmazonS3DestinationCompressionGzip.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 (!((ObservabilityPipelineAmazonS3DestinationCompressionGzip) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineAmazonS3DestinationCompressionGzip'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineAmazonS3DestinationCompressionGzip'", + e); + } + + ObservabilityPipelineAmazonS3DestinationCompression ret = + new ObservabilityPipelineAmazonS3DestinationCompression(); + 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 ObservabilityPipelineAmazonS3DestinationCompression getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "ObservabilityPipelineAmazonS3DestinationCompression cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ObservabilityPipelineAmazonS3DestinationCompression() { + super("oneOf", Boolean.FALSE); + } + + public ObservabilityPipelineAmazonS3DestinationCompression( + ObservabilityPipelineAmazonS3DestinationCompressionZstd o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineAmazonS3DestinationCompression( + ObservabilityPipelineAmazonS3DestinationCompressionGzip o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "ObservabilityPipelineAmazonS3DestinationCompressionZstd", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineAmazonS3DestinationCompressionGzip", + new GenericType() {}); + JSON.registerDescendants( + ObservabilityPipelineAmazonS3DestinationCompression.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ObservabilityPipelineAmazonS3DestinationCompression.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: ObservabilityPipelineAmazonS3DestinationCompressionZstd, + * ObservabilityPipelineAmazonS3DestinationCompressionGzip + * + *

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( + ObservabilityPipelineAmazonS3DestinationCompressionZstd.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineAmazonS3DestinationCompressionGzip.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 ObservabilityPipelineAmazonS3DestinationCompressionZstd," + + " ObservabilityPipelineAmazonS3DestinationCompressionGzip"); + } + + /** + * Get the actual instance, which can be the following: + * ObservabilityPipelineAmazonS3DestinationCompressionZstd, + * ObservabilityPipelineAmazonS3DestinationCompressionGzip + * + * @return The actual instance (ObservabilityPipelineAmazonS3DestinationCompressionZstd, + * ObservabilityPipelineAmazonS3DestinationCompressionGzip) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineAmazonS3DestinationCompressionZstd`. If the + * actual instance is not `ObservabilityPipelineAmazonS3DestinationCompressionZstd`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineAmazonS3DestinationCompressionZstd` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineAmazonS3DestinationCompressionZstd` + */ + public ObservabilityPipelineAmazonS3DestinationCompressionZstd + getObservabilityPipelineAmazonS3DestinationCompressionZstd() throws ClassCastException { + return (ObservabilityPipelineAmazonS3DestinationCompressionZstd) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineAmazonS3DestinationCompressionGzip`. If the + * actual instance is not `ObservabilityPipelineAmazonS3DestinationCompressionGzip`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineAmazonS3DestinationCompressionGzip` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineAmazonS3DestinationCompressionGzip` + */ + public ObservabilityPipelineAmazonS3DestinationCompressionGzip + getObservabilityPipelineAmazonS3DestinationCompressionGzip() throws ClassCastException { + return (ObservabilityPipelineAmazonS3DestinationCompressionGzip) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzip.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzip.java new file mode 100644 index 00000000000..f2014bd273d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzip.java @@ -0,0 +1,190 @@ +/* + * 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.JsonCreator; +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; + +/** Gzip compression. */ +@JsonPropertyOrder({ + ObservabilityPipelineAmazonS3DestinationCompressionGzip.JSON_PROPERTY_ALGORITHM, + ObservabilityPipelineAmazonS3DestinationCompressionGzip.JSON_PROPERTY_LEVEL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineAmazonS3DestinationCompressionGzip { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ALGORITHM = "algorithm"; + private ObservabilityPipelineAmazonS3DestinationCompressionGzipType algorithm = + ObservabilityPipelineAmazonS3DestinationCompressionGzipType.GZIP; + + public static final String JSON_PROPERTY_LEVEL = "level"; + private Long level; + + public ObservabilityPipelineAmazonS3DestinationCompressionGzip() {} + + @JsonCreator + public ObservabilityPipelineAmazonS3DestinationCompressionGzip( + @JsonProperty(required = true, value = JSON_PROPERTY_ALGORITHM) + ObservabilityPipelineAmazonS3DestinationCompressionGzipType algorithm, + @JsonProperty(required = true, value = JSON_PROPERTY_LEVEL) Long level) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + this.level = level; + } + + public ObservabilityPipelineAmazonS3DestinationCompressionGzip algorithm( + ObservabilityPipelineAmazonS3DestinationCompressionGzipType algorithm) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + return this; + } + + /** + * The compression type. Always gzip. + * + * @return algorithm + */ + @JsonProperty(JSON_PROPERTY_ALGORITHM) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineAmazonS3DestinationCompressionGzipType getAlgorithm() { + return algorithm; + } + + public void setAlgorithm(ObservabilityPipelineAmazonS3DestinationCompressionGzipType algorithm) { + if (!algorithm.isValid()) { + this.unparsed = true; + } + this.algorithm = algorithm; + } + + public ObservabilityPipelineAmazonS3DestinationCompressionGzip level(Long level) { + this.level = level; + return this; + } + + /** + * Gzip compression level. Valid values range from 1 to 9. minimum: 1 maximum: 9 + * + * @return level + */ + @JsonProperty(JSON_PROPERTY_LEVEL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getLevel() { + return level; + } + + public void setLevel(Long level) { + this.level = level; + } + + /** + * 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 ObservabilityPipelineAmazonS3DestinationCompressionGzip + */ + @JsonAnySetter + public ObservabilityPipelineAmazonS3DestinationCompressionGzip 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 ObservabilityPipelineAmazonS3DestinationCompressionGzip object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineAmazonS3DestinationCompressionGzip + observabilityPipelineAmazonS3DestinationCompressionGzip = + (ObservabilityPipelineAmazonS3DestinationCompressionGzip) o; + return Objects.equals( + this.algorithm, observabilityPipelineAmazonS3DestinationCompressionGzip.algorithm) + && Objects.equals(this.level, observabilityPipelineAmazonS3DestinationCompressionGzip.level) + && Objects.equals( + this.additionalProperties, + observabilityPipelineAmazonS3DestinationCompressionGzip.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(algorithm, level, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineAmazonS3DestinationCompressionGzip {\n"); + sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).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/ObservabilityPipelineAmazonS3DestinationCompressionGzipType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzipType.java new file mode 100644 index 00000000000..895919ba90c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionGzipType.java @@ -0,0 +1,63 @@ +/* + * 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; + +/** The compression type. Always gzip. */ +@JsonSerialize( + using = + ObservabilityPipelineAmazonS3DestinationCompressionGzipType + .ObservabilityPipelineAmazonS3DestinationCompressionGzipTypeSerializer.class) +public class ObservabilityPipelineAmazonS3DestinationCompressionGzipType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("gzip")); + + public static final ObservabilityPipelineAmazonS3DestinationCompressionGzipType GZIP = + new ObservabilityPipelineAmazonS3DestinationCompressionGzipType("gzip"); + + ObservabilityPipelineAmazonS3DestinationCompressionGzipType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineAmazonS3DestinationCompressionGzipTypeSerializer + extends StdSerializer { + public ObservabilityPipelineAmazonS3DestinationCompressionGzipTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineAmazonS3DestinationCompressionGzipTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineAmazonS3DestinationCompressionGzipType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineAmazonS3DestinationCompressionGzipType fromValue( + String value) { + return new ObservabilityPipelineAmazonS3DestinationCompressionGzipType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstd.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstd.java new file mode 100644 index 00000000000..c604c24c130 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstd.java @@ -0,0 +1,190 @@ +/* + * 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.JsonCreator; +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; + +/** Zstd compression. */ +@JsonPropertyOrder({ + ObservabilityPipelineAmazonS3DestinationCompressionZstd.JSON_PROPERTY_ALGORITHM, + ObservabilityPipelineAmazonS3DestinationCompressionZstd.JSON_PROPERTY_LEVEL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineAmazonS3DestinationCompressionZstd { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ALGORITHM = "algorithm"; + private ObservabilityPipelineAmazonS3DestinationCompressionZstdType algorithm = + ObservabilityPipelineAmazonS3DestinationCompressionZstdType.ZSTD; + + public static final String JSON_PROPERTY_LEVEL = "level"; + private Long level; + + public ObservabilityPipelineAmazonS3DestinationCompressionZstd() {} + + @JsonCreator + public ObservabilityPipelineAmazonS3DestinationCompressionZstd( + @JsonProperty(required = true, value = JSON_PROPERTY_ALGORITHM) + ObservabilityPipelineAmazonS3DestinationCompressionZstdType algorithm, + @JsonProperty(required = true, value = JSON_PROPERTY_LEVEL) Long level) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + this.level = level; + } + + public ObservabilityPipelineAmazonS3DestinationCompressionZstd algorithm( + ObservabilityPipelineAmazonS3DestinationCompressionZstdType algorithm) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + return this; + } + + /** + * The compression type. Always zstd. + * + * @return algorithm + */ + @JsonProperty(JSON_PROPERTY_ALGORITHM) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineAmazonS3DestinationCompressionZstdType getAlgorithm() { + return algorithm; + } + + public void setAlgorithm(ObservabilityPipelineAmazonS3DestinationCompressionZstdType algorithm) { + if (!algorithm.isValid()) { + this.unparsed = true; + } + this.algorithm = algorithm; + } + + public ObservabilityPipelineAmazonS3DestinationCompressionZstd level(Long level) { + this.level = level; + return this; + } + + /** + * Zstd compression level. Valid values range from 1 to 21. minimum: 1 maximum: 21 + * + * @return level + */ + @JsonProperty(JSON_PROPERTY_LEVEL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getLevel() { + return level; + } + + public void setLevel(Long level) { + this.level = level; + } + + /** + * 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 ObservabilityPipelineAmazonS3DestinationCompressionZstd + */ + @JsonAnySetter + public ObservabilityPipelineAmazonS3DestinationCompressionZstd 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 ObservabilityPipelineAmazonS3DestinationCompressionZstd object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineAmazonS3DestinationCompressionZstd + observabilityPipelineAmazonS3DestinationCompressionZstd = + (ObservabilityPipelineAmazonS3DestinationCompressionZstd) o; + return Objects.equals( + this.algorithm, observabilityPipelineAmazonS3DestinationCompressionZstd.algorithm) + && Objects.equals(this.level, observabilityPipelineAmazonS3DestinationCompressionZstd.level) + && Objects.equals( + this.additionalProperties, + observabilityPipelineAmazonS3DestinationCompressionZstd.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(algorithm, level, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineAmazonS3DestinationCompressionZstd {\n"); + sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).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/ObservabilityPipelineAmazonS3DestinationCompressionZstdType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstdType.java new file mode 100644 index 00000000000..89c649250c6 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAmazonS3DestinationCompressionZstdType.java @@ -0,0 +1,63 @@ +/* + * 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; + +/** The compression type. Always zstd. */ +@JsonSerialize( + using = + ObservabilityPipelineAmazonS3DestinationCompressionZstdType + .ObservabilityPipelineAmazonS3DestinationCompressionZstdTypeSerializer.class) +public class ObservabilityPipelineAmazonS3DestinationCompressionZstdType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("zstd")); + + public static final ObservabilityPipelineAmazonS3DestinationCompressionZstdType ZSTD = + new ObservabilityPipelineAmazonS3DestinationCompressionZstdType("zstd"); + + ObservabilityPipelineAmazonS3DestinationCompressionZstdType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineAmazonS3DestinationCompressionZstdTypeSerializer + extends StdSerializer { + public ObservabilityPipelineAmazonS3DestinationCompressionZstdTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineAmazonS3DestinationCompressionZstdTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineAmazonS3DestinationCompressionZstdType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineAmazonS3DestinationCompressionZstdType fromValue( + String value) { + return new ObservabilityPipelineAmazonS3DestinationCompressionZstdType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompression.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompression.java new file mode 100644 index 00000000000..fa475cb5fdd --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompression.java @@ -0,0 +1,355 @@ +/* + * 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 = + ObservabilityPipelineAzureStorageDestinationCompression + .ObservabilityPipelineAzureStorageDestinationCompressionDeserializer.class) +@JsonSerialize( + using = + ObservabilityPipelineAzureStorageDestinationCompression + .ObservabilityPipelineAzureStorageDestinationCompressionSerializer.class) +public class ObservabilityPipelineAzureStorageDestinationCompression extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger(ObservabilityPipelineAzureStorageDestinationCompression.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ObservabilityPipelineAzureStorageDestinationCompressionSerializer + extends StdSerializer { + public ObservabilityPipelineAzureStorageDestinationCompressionSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineAzureStorageDestinationCompressionSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineAzureStorageDestinationCompression value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ObservabilityPipelineAzureStorageDestinationCompressionDeserializer + extends StdDeserializer { + public ObservabilityPipelineAzureStorageDestinationCompressionDeserializer() { + this(ObservabilityPipelineAzureStorageDestinationCompression.class); + } + + public ObservabilityPipelineAzureStorageDestinationCompressionDeserializer(Class vc) { + super(vc); + } + + @Override + public ObservabilityPipelineAzureStorageDestinationCompression 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 ObservabilityPipelineAzureStorageDestinationCompressionZstd + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals(Integer.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals(Long.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals(Float.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Double.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Boolean.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Integer.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Float.class) + || ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineAzureStorageDestinationCompressionZstd.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineAzureStorageDestinationCompressionZstd.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 (!((ObservabilityPipelineAzureStorageDestinationCompressionZstd) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineAzureStorageDestinationCompressionZstd'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineAzureStorageDestinationCompressionZstd'", + e); + } + + // deserialize ObservabilityPipelineAzureStorageDestinationCompressionGzip + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals(Integer.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals(Long.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals(Float.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Double.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Boolean.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Integer.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Float.class) + || ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineAzureStorageDestinationCompressionGzip.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(ObservabilityPipelineAzureStorageDestinationCompressionGzip.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 (!((ObservabilityPipelineAzureStorageDestinationCompressionGzip) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineAzureStorageDestinationCompressionGzip'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineAzureStorageDestinationCompressionGzip'", + e); + } + + ObservabilityPipelineAzureStorageDestinationCompression ret = + new ObservabilityPipelineAzureStorageDestinationCompression(); + 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 ObservabilityPipelineAzureStorageDestinationCompression getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), + "ObservabilityPipelineAzureStorageDestinationCompression cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ObservabilityPipelineAzureStorageDestinationCompression() { + super("oneOf", Boolean.FALSE); + } + + public ObservabilityPipelineAzureStorageDestinationCompression( + ObservabilityPipelineAzureStorageDestinationCompressionZstd o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineAzureStorageDestinationCompression( + ObservabilityPipelineAzureStorageDestinationCompressionGzip o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "ObservabilityPipelineAzureStorageDestinationCompressionZstd", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineAzureStorageDestinationCompressionGzip", + new GenericType() {}); + JSON.registerDescendants( + ObservabilityPipelineAzureStorageDestinationCompression.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ObservabilityPipelineAzureStorageDestinationCompression.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: ObservabilityPipelineAzureStorageDestinationCompressionZstd, + * ObservabilityPipelineAzureStorageDestinationCompressionGzip + * + *

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( + ObservabilityPipelineAzureStorageDestinationCompressionZstd.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineAzureStorageDestinationCompressionGzip.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" + + " ObservabilityPipelineAzureStorageDestinationCompressionZstd," + + " ObservabilityPipelineAzureStorageDestinationCompressionGzip"); + } + + /** + * Get the actual instance, which can be the following: + * ObservabilityPipelineAzureStorageDestinationCompressionZstd, + * ObservabilityPipelineAzureStorageDestinationCompressionGzip + * + * @return The actual instance (ObservabilityPipelineAzureStorageDestinationCompressionZstd, + * ObservabilityPipelineAzureStorageDestinationCompressionGzip) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineAzureStorageDestinationCompressionZstd`. If + * the actual instance is not `ObservabilityPipelineAzureStorageDestinationCompressionZstd`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineAzureStorageDestinationCompressionZstd` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineAzureStorageDestinationCompressionZstd` + */ + public ObservabilityPipelineAzureStorageDestinationCompressionZstd + getObservabilityPipelineAzureStorageDestinationCompressionZstd() throws ClassCastException { + return (ObservabilityPipelineAzureStorageDestinationCompressionZstd) super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineAzureStorageDestinationCompressionGzip`. If + * the actual instance is not `ObservabilityPipelineAzureStorageDestinationCompressionGzip`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `ObservabilityPipelineAzureStorageDestinationCompressionGzip` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineAzureStorageDestinationCompressionGzip` + */ + public ObservabilityPipelineAzureStorageDestinationCompressionGzip + getObservabilityPipelineAzureStorageDestinationCompressionGzip() throws ClassCastException { + return (ObservabilityPipelineAzureStorageDestinationCompressionGzip) super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzip.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzip.java new file mode 100644 index 00000000000..38909dac625 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzip.java @@ -0,0 +1,192 @@ +/* + * 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.JsonCreator; +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; + +/** Gzip compression. */ +@JsonPropertyOrder({ + ObservabilityPipelineAzureStorageDestinationCompressionGzip.JSON_PROPERTY_ALGORITHM, + ObservabilityPipelineAzureStorageDestinationCompressionGzip.JSON_PROPERTY_LEVEL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineAzureStorageDestinationCompressionGzip { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ALGORITHM = "algorithm"; + private ObservabilityPipelineAzureStorageDestinationCompressionGzipType algorithm = + ObservabilityPipelineAzureStorageDestinationCompressionGzipType.GZIP; + + public static final String JSON_PROPERTY_LEVEL = "level"; + private Long level; + + public ObservabilityPipelineAzureStorageDestinationCompressionGzip() {} + + @JsonCreator + public ObservabilityPipelineAzureStorageDestinationCompressionGzip( + @JsonProperty(required = true, value = JSON_PROPERTY_ALGORITHM) + ObservabilityPipelineAzureStorageDestinationCompressionGzipType algorithm, + @JsonProperty(required = true, value = JSON_PROPERTY_LEVEL) Long level) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + this.level = level; + } + + public ObservabilityPipelineAzureStorageDestinationCompressionGzip algorithm( + ObservabilityPipelineAzureStorageDestinationCompressionGzipType algorithm) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + return this; + } + + /** + * The compression type. Always gzip. + * + * @return algorithm + */ + @JsonProperty(JSON_PROPERTY_ALGORITHM) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineAzureStorageDestinationCompressionGzipType getAlgorithm() { + return algorithm; + } + + public void setAlgorithm( + ObservabilityPipelineAzureStorageDestinationCompressionGzipType algorithm) { + if (!algorithm.isValid()) { + this.unparsed = true; + } + this.algorithm = algorithm; + } + + public ObservabilityPipelineAzureStorageDestinationCompressionGzip level(Long level) { + this.level = level; + return this; + } + + /** + * Gzip compression level. Valid values range from 1 to 9. minimum: 1 maximum: 9 + * + * @return level + */ + @JsonProperty(JSON_PROPERTY_LEVEL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getLevel() { + return level; + } + + public void setLevel(Long level) { + this.level = level; + } + + /** + * 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 ObservabilityPipelineAzureStorageDestinationCompressionGzip + */ + @JsonAnySetter + public ObservabilityPipelineAzureStorageDestinationCompressionGzip 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 ObservabilityPipelineAzureStorageDestinationCompressionGzip object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineAzureStorageDestinationCompressionGzip + observabilityPipelineAzureStorageDestinationCompressionGzip = + (ObservabilityPipelineAzureStorageDestinationCompressionGzip) o; + return Objects.equals( + this.algorithm, observabilityPipelineAzureStorageDestinationCompressionGzip.algorithm) + && Objects.equals( + this.level, observabilityPipelineAzureStorageDestinationCompressionGzip.level) + && Objects.equals( + this.additionalProperties, + observabilityPipelineAzureStorageDestinationCompressionGzip.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(algorithm, level, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineAzureStorageDestinationCompressionGzip {\n"); + sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).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/ObservabilityPipelineAzureStorageDestinationCompressionGzipType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzipType.java new file mode 100644 index 00000000000..f1f658821ea --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionGzipType.java @@ -0,0 +1,64 @@ +/* + * 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; + +/** The compression type. Always gzip. */ +@JsonSerialize( + using = + ObservabilityPipelineAzureStorageDestinationCompressionGzipType + .ObservabilityPipelineAzureStorageDestinationCompressionGzipTypeSerializer.class) +public class ObservabilityPipelineAzureStorageDestinationCompressionGzipType + extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("gzip")); + + public static final ObservabilityPipelineAzureStorageDestinationCompressionGzipType GZIP = + new ObservabilityPipelineAzureStorageDestinationCompressionGzipType("gzip"); + + ObservabilityPipelineAzureStorageDestinationCompressionGzipType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineAzureStorageDestinationCompressionGzipTypeSerializer + extends StdSerializer { + public ObservabilityPipelineAzureStorageDestinationCompressionGzipTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineAzureStorageDestinationCompressionGzipTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineAzureStorageDestinationCompressionGzipType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineAzureStorageDestinationCompressionGzipType fromValue( + String value) { + return new ObservabilityPipelineAzureStorageDestinationCompressionGzipType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstd.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstd.java new file mode 100644 index 00000000000..f28b2884ea9 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstd.java @@ -0,0 +1,192 @@ +/* + * 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.JsonCreator; +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; + +/** Zstd compression. */ +@JsonPropertyOrder({ + ObservabilityPipelineAzureStorageDestinationCompressionZstd.JSON_PROPERTY_ALGORITHM, + ObservabilityPipelineAzureStorageDestinationCompressionZstd.JSON_PROPERTY_LEVEL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineAzureStorageDestinationCompressionZstd { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ALGORITHM = "algorithm"; + private ObservabilityPipelineAzureStorageDestinationCompressionZstdType algorithm = + ObservabilityPipelineAzureStorageDestinationCompressionZstdType.ZSTD; + + public static final String JSON_PROPERTY_LEVEL = "level"; + private Long level; + + public ObservabilityPipelineAzureStorageDestinationCompressionZstd() {} + + @JsonCreator + public ObservabilityPipelineAzureStorageDestinationCompressionZstd( + @JsonProperty(required = true, value = JSON_PROPERTY_ALGORITHM) + ObservabilityPipelineAzureStorageDestinationCompressionZstdType algorithm, + @JsonProperty(required = true, value = JSON_PROPERTY_LEVEL) Long level) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + this.level = level; + } + + public ObservabilityPipelineAzureStorageDestinationCompressionZstd algorithm( + ObservabilityPipelineAzureStorageDestinationCompressionZstdType algorithm) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + return this; + } + + /** + * The compression type. Always zstd. + * + * @return algorithm + */ + @JsonProperty(JSON_PROPERTY_ALGORITHM) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineAzureStorageDestinationCompressionZstdType getAlgorithm() { + return algorithm; + } + + public void setAlgorithm( + ObservabilityPipelineAzureStorageDestinationCompressionZstdType algorithm) { + if (!algorithm.isValid()) { + this.unparsed = true; + } + this.algorithm = algorithm; + } + + public ObservabilityPipelineAzureStorageDestinationCompressionZstd level(Long level) { + this.level = level; + return this; + } + + /** + * Zstd compression level. Valid values range from 1 to 21. minimum: 1 maximum: 21 + * + * @return level + */ + @JsonProperty(JSON_PROPERTY_LEVEL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getLevel() { + return level; + } + + public void setLevel(Long level) { + this.level = level; + } + + /** + * 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 ObservabilityPipelineAzureStorageDestinationCompressionZstd + */ + @JsonAnySetter + public ObservabilityPipelineAzureStorageDestinationCompressionZstd 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 ObservabilityPipelineAzureStorageDestinationCompressionZstd object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineAzureStorageDestinationCompressionZstd + observabilityPipelineAzureStorageDestinationCompressionZstd = + (ObservabilityPipelineAzureStorageDestinationCompressionZstd) o; + return Objects.equals( + this.algorithm, observabilityPipelineAzureStorageDestinationCompressionZstd.algorithm) + && Objects.equals( + this.level, observabilityPipelineAzureStorageDestinationCompressionZstd.level) + && Objects.equals( + this.additionalProperties, + observabilityPipelineAzureStorageDestinationCompressionZstd.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(algorithm, level, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineAzureStorageDestinationCompressionZstd {\n"); + sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).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/ObservabilityPipelineAzureStorageDestinationCompressionZstdType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstdType.java new file mode 100644 index 00000000000..0575f683bee --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineAzureStorageDestinationCompressionZstdType.java @@ -0,0 +1,64 @@ +/* + * 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; + +/** The compression type. Always zstd. */ +@JsonSerialize( + using = + ObservabilityPipelineAzureStorageDestinationCompressionZstdType + .ObservabilityPipelineAzureStorageDestinationCompressionZstdTypeSerializer.class) +public class ObservabilityPipelineAzureStorageDestinationCompressionZstdType + extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("zstd")); + + public static final ObservabilityPipelineAzureStorageDestinationCompressionZstdType ZSTD = + new ObservabilityPipelineAzureStorageDestinationCompressionZstdType("zstd"); + + ObservabilityPipelineAzureStorageDestinationCompressionZstdType(String value) { + super(value, allowedValues); + } + + public static class ObservabilityPipelineAzureStorageDestinationCompressionZstdTypeSerializer + extends StdSerializer { + public ObservabilityPipelineAzureStorageDestinationCompressionZstdTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineAzureStorageDestinationCompressionZstdTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineAzureStorageDestinationCompressionZstdType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineAzureStorageDestinationCompressionZstdType fromValue( + String value) { + return new ObservabilityPipelineAzureStorageDestinationCompressionZstdType(value); + } +} 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 aa0a59415ac..ae87617be73 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 @@ -30,6 +30,7 @@ ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_AUTH, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_BUCKET, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_BUFFER, + ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_COMPRESSION, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_ID, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_INPUTS, ObservabilityPipelineGoogleCloudStorageDestination.JSON_PROPERTY_KEY_PREFIX, @@ -53,6 +54,9 @@ public class ObservabilityPipelineGoogleCloudStorageDestination { public static final String JSON_PROPERTY_BUFFER = "buffer"; private ObservabilityPipelineBufferOptions buffer; + public static final String JSON_PROPERTY_COMPRESSION = "compression"; + private ObservabilityPipelineGoogleCloudStorageDestinationCompression compression; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -190,6 +194,34 @@ public void setBuffer(ObservabilityPipelineBufferOptions buffer) { } } + public ObservabilityPipelineGoogleCloudStorageDestination compression( + ObservabilityPipelineGoogleCloudStorageDestinationCompression compression) { + this.compression = compression; + this.unparsed |= compression.unparsed; + return this; + } + + /** + * Compression configuration for archived logs. When omitted, logs are compressed with gzip for + * backward compatibility. + * + * @return compression + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPRESSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ObservabilityPipelineGoogleCloudStorageDestinationCompression getCompression() { + return compression; + } + + public void setCompression( + ObservabilityPipelineGoogleCloudStorageDestinationCompression compression) { + this.compression = compression; + if (compression != null) { + this.unparsed |= compression.unparsed; + } + } + public ObservabilityPipelineGoogleCloudStorageDestination id(String id) { this.id = id; return this; @@ -414,6 +446,8 @@ public boolean equals(Object o) { && Objects.equals(this.auth, observabilityPipelineGoogleCloudStorageDestination.auth) && Objects.equals(this.bucket, observabilityPipelineGoogleCloudStorageDestination.bucket) && Objects.equals(this.buffer, observabilityPipelineGoogleCloudStorageDestination.buffer) + && Objects.equals( + this.compression, observabilityPipelineGoogleCloudStorageDestination.compression) && Objects.equals(this.id, observabilityPipelineGoogleCloudStorageDestination.id) && Objects.equals(this.inputs, observabilityPipelineGoogleCloudStorageDestination.inputs) && Objects.equals( @@ -435,6 +469,7 @@ public int hashCode() { auth, bucket, buffer, + compression, id, inputs, keyPrefix, @@ -452,6 +487,7 @@ public String toString() { 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(" compression: ").append(toIndentedString(compression)).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/ObservabilityPipelineGoogleCloudStorageDestinationCompression.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompression.java new file mode 100644 index 00000000000..4b46dabe10c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompression.java @@ -0,0 +1,374 @@ +/* + * 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 = + ObservabilityPipelineGoogleCloudStorageDestinationCompression + .ObservabilityPipelineGoogleCloudStorageDestinationCompressionDeserializer.class) +@JsonSerialize( + using = + ObservabilityPipelineGoogleCloudStorageDestinationCompression + .ObservabilityPipelineGoogleCloudStorageDestinationCompressionSerializer.class) +public class ObservabilityPipelineGoogleCloudStorageDestinationCompression + extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger( + ObservabilityPipelineGoogleCloudStorageDestinationCompression.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class ObservabilityPipelineGoogleCloudStorageDestinationCompressionSerializer + extends StdSerializer { + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineGoogleCloudStorageDestinationCompression value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class ObservabilityPipelineGoogleCloudStorageDestinationCompressionDeserializer + extends StdDeserializer { + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionDeserializer() { + this(ObservabilityPipelineGoogleCloudStorageDestinationCompression.class); + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionDeserializer(Class vc) { + super(vc); + } + + @Override + public ObservabilityPipelineGoogleCloudStorageDestinationCompression 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 ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Integer.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Long.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Float.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Double.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Boolean.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Integer.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Float.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.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 (!((ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd'", + e); + } + + // deserialize ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Integer.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Long.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Float.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Double.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Boolean.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Integer.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Float.class) + || ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.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 (!((ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip'", + e); + } + + ObservabilityPipelineGoogleCloudStorageDestinationCompression ret = + new ObservabilityPipelineGoogleCloudStorageDestinationCompression(); + 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 ObservabilityPipelineGoogleCloudStorageDestinationCompression getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), + "ObservabilityPipelineGoogleCloudStorageDestinationCompression cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public ObservabilityPipelineGoogleCloudStorageDestinationCompression() { + super("oneOf", Boolean.FALSE); + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompression( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompression( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd", + new GenericType() {}); + schemas.put( + "ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip", + new GenericType() {}); + JSON.registerDescendants( + ObservabilityPipelineGoogleCloudStorageDestinationCompression.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return ObservabilityPipelineGoogleCloudStorageDestinationCompression.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: + * ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd, + * ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip + * + *

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( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.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" + + " ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd," + + " ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip"); + } + + /** + * Get the actual instance, which can be the following: + * ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd, + * ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip + * + * @return The actual instance (ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd, + * ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd`. + * If the actual instance is not + * `ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd`, the ClassCastException + * will be thrown. + * + * @return The actual instance of + * `ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd` + */ + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd + getObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd() + throws ClassCastException { + return (ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd) + super.getActualInstance(); + } + + /** + * Get the actual instance of `ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip`. + * If the actual instance is not + * `ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip`, the ClassCastException + * will be thrown. + * + * @return The actual instance of + * `ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip` + * @throws ClassCastException if the instance is not + * `ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip` + */ + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip + getObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip() + throws ClassCastException { + return (ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip) + super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.java new file mode 100644 index 00000000000..235157d7657 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.java @@ -0,0 +1,193 @@ +/* + * 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.JsonCreator; +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; + +/** Gzip compression. */ +@JsonPropertyOrder({ + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.JSON_PROPERTY_ALGORITHM, + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip.JSON_PROPERTY_LEVEL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ALGORITHM = "algorithm"; + private ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType algorithm = + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType.GZIP; + + public static final String JSON_PROPERTY_LEVEL = "level"; + private Long level; + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip() {} + + @JsonCreator + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip( + @JsonProperty(required = true, value = JSON_PROPERTY_ALGORITHM) + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType algorithm, + @JsonProperty(required = true, value = JSON_PROPERTY_LEVEL) Long level) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + this.level = level; + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip algorithm( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType algorithm) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + return this; + } + + /** + * The compression type. Always gzip. + * + * @return algorithm + */ + @JsonProperty(JSON_PROPERTY_ALGORITHM) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType getAlgorithm() { + return algorithm; + } + + public void setAlgorithm( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType algorithm) { + if (!algorithm.isValid()) { + this.unparsed = true; + } + this.algorithm = algorithm; + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip level(Long level) { + this.level = level; + return this; + } + + /** + * Gzip compression level. Valid values range from 1 to 9. minimum: 1 maximum: 9 + * + * @return level + */ + @JsonProperty(JSON_PROPERTY_LEVEL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getLevel() { + return level; + } + + public void setLevel(Long level) { + this.level = level; + } + + /** + * 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 ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip + */ + @JsonAnySetter + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip 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 ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip + observabilityPipelineGoogleCloudStorageDestinationCompressionGzip = + (ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip) o; + return Objects.equals( + this.algorithm, + observabilityPipelineGoogleCloudStorageDestinationCompressionGzip.algorithm) + && Objects.equals( + this.level, observabilityPipelineGoogleCloudStorageDestinationCompressionGzip.level) + && Objects.equals( + this.additionalProperties, + observabilityPipelineGoogleCloudStorageDestinationCompressionGzip.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(algorithm, level, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzip {\n"); + sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).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/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType.java new file mode 100644 index 00000000000..aad28fd1615 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType.java @@ -0,0 +1,65 @@ +/* + * 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; + +/** The compression type. Always gzip. */ +@JsonSerialize( + using = + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType + .ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipTypeSerializer.class) +public class ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType + extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("gzip")); + + public static final ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType GZIP = + new ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType("gzip"); + + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType(String value) { + super(value, allowedValues); + } + + public static + class ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipTypeSerializer + extends StdSerializer { + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType fromValue( + String value) { + return new ObservabilityPipelineGoogleCloudStorageDestinationCompressionGzipType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.java new file mode 100644 index 00000000000..5a939c96bb1 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.java @@ -0,0 +1,193 @@ +/* + * 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.JsonCreator; +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; + +/** Zstd compression. */ +@JsonPropertyOrder({ + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.JSON_PROPERTY_ALGORITHM, + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd.JSON_PROPERTY_LEVEL +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ALGORITHM = "algorithm"; + private ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType algorithm = + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType.ZSTD; + + public static final String JSON_PROPERTY_LEVEL = "level"; + private Long level; + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd() {} + + @JsonCreator + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd( + @JsonProperty(required = true, value = JSON_PROPERTY_ALGORITHM) + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType algorithm, + @JsonProperty(required = true, value = JSON_PROPERTY_LEVEL) Long level) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + this.level = level; + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd algorithm( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType algorithm) { + this.algorithm = algorithm; + this.unparsed |= !algorithm.isValid(); + return this; + } + + /** + * The compression type. Always zstd. + * + * @return algorithm + */ + @JsonProperty(JSON_PROPERTY_ALGORITHM) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType getAlgorithm() { + return algorithm; + } + + public void setAlgorithm( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType algorithm) { + if (!algorithm.isValid()) { + this.unparsed = true; + } + this.algorithm = algorithm; + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd level(Long level) { + this.level = level; + return this; + } + + /** + * Zstd compression level. Valid values range from 1 to 21. minimum: 1 maximum: 21 + * + * @return level + */ + @JsonProperty(JSON_PROPERTY_LEVEL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getLevel() { + return level; + } + + public void setLevel(Long level) { + this.level = level; + } + + /** + * 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 ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd + */ + @JsonAnySetter + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd 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 ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd + observabilityPipelineGoogleCloudStorageDestinationCompressionZstd = + (ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd) o; + return Objects.equals( + this.algorithm, + observabilityPipelineGoogleCloudStorageDestinationCompressionZstd.algorithm) + && Objects.equals( + this.level, observabilityPipelineGoogleCloudStorageDestinationCompressionZstd.level) + && Objects.equals( + this.additionalProperties, + observabilityPipelineGoogleCloudStorageDestinationCompressionZstd.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(algorithm, level, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstd {\n"); + sb.append(" algorithm: ").append(toIndentedString(algorithm)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).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/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType.java new file mode 100644 index 00000000000..8daf54aa915 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType.java @@ -0,0 +1,65 @@ +/* + * 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; + +/** The compression type. Always zstd. */ +@JsonSerialize( + using = + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType + .ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdTypeSerializer.class) +public class ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType + extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("zstd")); + + public static final ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType ZSTD = + new ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType("zstd"); + + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType(String value) { + super(value, allowedValues); + } + + public static + class ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdTypeSerializer + extends StdSerializer { + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdTypeSerializer( + Class t) { + super(t); + } + + public ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType fromValue( + String value) { + return new ObservabilityPipelineGoogleCloudStorageDestinationCompressionZstdType(value); + } +}