diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 093a28a0b5b..fb10f21526e 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -50581,6 +50581,69 @@ components: type: string x-enum-varnames: - RULESET + RumCrossProductSampling: + description: 'Configuration for additional APM trace data retention for sessions + that match this retention filter. + + When a session matches the filter and is retained (based on `sample_rate`), + you can configure + + the percentage of retained sessions with ingested traces whose traces are + indexed.' + properties: + trace_enabled: + description: Indicates whether trace cross-product sampling is enabled. + If `false`, no traces are indexed regardless of `trace_sample_rate`. + example: true + type: boolean + trace_sample_rate: + description: 'The percentage (0-100) of retained sessions with ingested + traces whose traces are indexed. + + For example, 25.0 means 25% of retained sessions with ingested traces + have their traces indexed.' + example: 25.0 + format: double + maximum: 100 + minimum: 0 + type: number + type: object + RumCrossProductSamplingCreate: + description: Configuration for cross-product sampling when creating a retention + filter. + properties: + trace_enabled: + description: Indicates whether trace cross-product sampling is enabled. + example: true + type: boolean + trace_sample_rate: + description: The percentage (0-100) of retained sessions with ingested traces + whose traces are indexed. + example: 25.0 + format: double + maximum: 100 + minimum: 0 + type: number + required: + - trace_sample_rate + type: object + RumCrossProductSamplingUpdate: + description: Configuration for cross-product sampling when updating a retention + filter. All fields are optional for partial updates. + properties: + trace_enabled: + description: Indicates whether trace cross-product sampling is enabled. + example: true + type: boolean + trace_sample_rate: + description: The percentage (0-100) of retained sessions with ingested traces + whose traces are indexed. + example: 25.0 + format: double + maximum: 100 + minimum: 0 + type: number + type: object RumMetricCompute: description: The compute rule to compute the rum-based metric. properties: @@ -50868,6 +50931,8 @@ components: RumRetentionFilterAttributes: description: The object describing attributes of a RUM retention filter. properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSampling' enabled: $ref: '#/components/schemas/RumRetentionFilterEnabled' event_type: @@ -50882,6 +50947,8 @@ components: RumRetentionFilterCreateAttributes: description: The object describing attributes of a RUM retention filter to create. properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSamplingCreate' enabled: $ref: '#/components/schemas/RumRetentionFilterEnabled' event_type: @@ -50983,6 +51050,8 @@ components: RumRetentionFilterUpdateAttributes: description: The object describing attributes of a RUM retention filter to update. properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSamplingUpdate' enabled: $ref: '#/components/schemas/RumRetentionFilterEnabled' event_type: diff --git a/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSampling.java b/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSampling.java new file mode 100644 index 00000000000..a3d2472e007 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSampling.java @@ -0,0 +1,172 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * Configuration for additional APM trace data retention for sessions that match this retention + * filter. When a session matches the filter and is retained (based on sample_rate), + * you can configure the percentage of retained sessions with ingested traces whose traces are + * indexed. + */ +@JsonPropertyOrder({ + RumCrossProductSampling.JSON_PROPERTY_TRACE_ENABLED, + RumCrossProductSampling.JSON_PROPERTY_TRACE_SAMPLE_RATE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class RumCrossProductSampling { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TRACE_ENABLED = "trace_enabled"; + private Boolean traceEnabled; + + public static final String JSON_PROPERTY_TRACE_SAMPLE_RATE = "trace_sample_rate"; + private Double traceSampleRate; + + public RumCrossProductSampling traceEnabled(Boolean traceEnabled) { + this.traceEnabled = traceEnabled; + return this; + } + + /** + * Indicates whether trace cross-product sampling is enabled. If false, no traces are + * indexed regardless of trace_sample_rate. + * + * @return traceEnabled + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRACE_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getTraceEnabled() { + return traceEnabled; + } + + public void setTraceEnabled(Boolean traceEnabled) { + this.traceEnabled = traceEnabled; + } + + public RumCrossProductSampling traceSampleRate(Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + return this; + } + + /** + * The percentage (0-100) of retained sessions with ingested traces whose traces are indexed. For + * example, 25.0 means 25% of retained sessions with ingested traces have their traces indexed. + * minimum: 0 maximum: 100 + * + * @return traceSampleRate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRACE_SAMPLE_RATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Double getTraceSampleRate() { + return traceSampleRate; + } + + public void setTraceSampleRate(Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + } + + /** + * 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 RumCrossProductSampling + */ + @JsonAnySetter + public RumCrossProductSampling 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 RumCrossProductSampling object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RumCrossProductSampling rumCrossProductSampling = (RumCrossProductSampling) o; + return Objects.equals(this.traceEnabled, rumCrossProductSampling.traceEnabled) + && Objects.equals(this.traceSampleRate, rumCrossProductSampling.traceSampleRate) + && Objects.equals(this.additionalProperties, rumCrossProductSampling.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(traceEnabled, traceSampleRate, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RumCrossProductSampling {\n"); + sb.append(" traceEnabled: ").append(toIndentedString(traceEnabled)).append("\n"); + sb.append(" traceSampleRate: ").append(toIndentedString(traceSampleRate)).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/RumCrossProductSamplingCreate.java b/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSamplingCreate.java new file mode 100644 index 00000000000..df9187cfdf9 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSamplingCreate.java @@ -0,0 +1,175 @@ +/* + * 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; + +/** Configuration for cross-product sampling when creating a retention filter. */ +@JsonPropertyOrder({ + RumCrossProductSamplingCreate.JSON_PROPERTY_TRACE_ENABLED, + RumCrossProductSamplingCreate.JSON_PROPERTY_TRACE_SAMPLE_RATE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class RumCrossProductSamplingCreate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TRACE_ENABLED = "trace_enabled"; + private Boolean traceEnabled; + + public static final String JSON_PROPERTY_TRACE_SAMPLE_RATE = "trace_sample_rate"; + private Double traceSampleRate; + + public RumCrossProductSamplingCreate() {} + + @JsonCreator + public RumCrossProductSamplingCreate( + @JsonProperty(required = true, value = JSON_PROPERTY_TRACE_SAMPLE_RATE) + Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + } + + public RumCrossProductSamplingCreate traceEnabled(Boolean traceEnabled) { + this.traceEnabled = traceEnabled; + return this; + } + + /** + * Indicates whether trace cross-product sampling is enabled. + * + * @return traceEnabled + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRACE_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getTraceEnabled() { + return traceEnabled; + } + + public void setTraceEnabled(Boolean traceEnabled) { + this.traceEnabled = traceEnabled; + } + + public RumCrossProductSamplingCreate traceSampleRate(Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + return this; + } + + /** + * The percentage (0-100) of retained sessions with ingested traces whose traces are indexed. + * minimum: 0 maximum: 100 + * + * @return traceSampleRate + */ + @JsonProperty(JSON_PROPERTY_TRACE_SAMPLE_RATE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Double getTraceSampleRate() { + return traceSampleRate; + } + + public void setTraceSampleRate(Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + } + + /** + * 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 RumCrossProductSamplingCreate + */ + @JsonAnySetter + public RumCrossProductSamplingCreate 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 RumCrossProductSamplingCreate object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RumCrossProductSamplingCreate rumCrossProductSamplingCreate = (RumCrossProductSamplingCreate) o; + return Objects.equals(this.traceEnabled, rumCrossProductSamplingCreate.traceEnabled) + && Objects.equals(this.traceSampleRate, rumCrossProductSamplingCreate.traceSampleRate) + && Objects.equals( + this.additionalProperties, rumCrossProductSamplingCreate.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(traceEnabled, traceSampleRate, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RumCrossProductSamplingCreate {\n"); + sb.append(" traceEnabled: ").append(toIndentedString(traceEnabled)).append("\n"); + sb.append(" traceSampleRate: ").append(toIndentedString(traceSampleRate)).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/RumCrossProductSamplingUpdate.java b/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSamplingUpdate.java new file mode 100644 index 00000000000..b9e1b93f5db --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/RumCrossProductSamplingUpdate.java @@ -0,0 +1,169 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * Configuration for cross-product sampling when updating a retention filter. All fields are + * optional for partial updates. + */ +@JsonPropertyOrder({ + RumCrossProductSamplingUpdate.JSON_PROPERTY_TRACE_ENABLED, + RumCrossProductSamplingUpdate.JSON_PROPERTY_TRACE_SAMPLE_RATE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class RumCrossProductSamplingUpdate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TRACE_ENABLED = "trace_enabled"; + private Boolean traceEnabled; + + public static final String JSON_PROPERTY_TRACE_SAMPLE_RATE = "trace_sample_rate"; + private Double traceSampleRate; + + public RumCrossProductSamplingUpdate traceEnabled(Boolean traceEnabled) { + this.traceEnabled = traceEnabled; + return this; + } + + /** + * Indicates whether trace cross-product sampling is enabled. + * + * @return traceEnabled + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRACE_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getTraceEnabled() { + return traceEnabled; + } + + public void setTraceEnabled(Boolean traceEnabled) { + this.traceEnabled = traceEnabled; + } + + public RumCrossProductSamplingUpdate traceSampleRate(Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + return this; + } + + /** + * The percentage (0-100) of retained sessions with ingested traces whose traces are indexed. + * minimum: 0 maximum: 100 + * + * @return traceSampleRate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TRACE_SAMPLE_RATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Double getTraceSampleRate() { + return traceSampleRate; + } + + public void setTraceSampleRate(Double traceSampleRate) { + this.traceSampleRate = traceSampleRate; + } + + /** + * 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 RumCrossProductSamplingUpdate + */ + @JsonAnySetter + public RumCrossProductSamplingUpdate 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 RumCrossProductSamplingUpdate object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RumCrossProductSamplingUpdate rumCrossProductSamplingUpdate = (RumCrossProductSamplingUpdate) o; + return Objects.equals(this.traceEnabled, rumCrossProductSamplingUpdate.traceEnabled) + && Objects.equals(this.traceSampleRate, rumCrossProductSamplingUpdate.traceSampleRate) + && Objects.equals( + this.additionalProperties, rumCrossProductSamplingUpdate.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(traceEnabled, traceSampleRate, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RumCrossProductSamplingUpdate {\n"); + sb.append(" traceEnabled: ").append(toIndentedString(traceEnabled)).append("\n"); + sb.append(" traceSampleRate: ").append(toIndentedString(traceSampleRate)).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/RumRetentionFilterAttributes.java b/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterAttributes.java index d22686af276..1afab7693f8 100644 --- a/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterAttributes.java @@ -18,6 +18,7 @@ /** The object describing attributes of a RUM retention filter. */ @JsonPropertyOrder({ + RumRetentionFilterAttributes.JSON_PROPERTY_CROSS_PRODUCT_SAMPLING, RumRetentionFilterAttributes.JSON_PROPERTY_ENABLED, RumRetentionFilterAttributes.JSON_PROPERTY_EVENT_TYPE, RumRetentionFilterAttributes.JSON_PROPERTY_NAME, @@ -28,6 +29,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class RumRetentionFilterAttributes { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CROSS_PRODUCT_SAMPLING = "cross_product_sampling"; + private RumCrossProductSampling crossProductSampling; + public static final String JSON_PROPERTY_ENABLED = "enabled"; private Boolean enabled; @@ -43,6 +47,32 @@ public class RumRetentionFilterAttributes { public static final String JSON_PROPERTY_SAMPLE_RATE = "sample_rate"; private Double sampleRate; + public RumRetentionFilterAttributes crossProductSampling( + RumCrossProductSampling crossProductSampling) { + this.crossProductSampling = crossProductSampling; + this.unparsed |= crossProductSampling.unparsed; + return this; + } + + /** + * Configuration for additional APM trace data retention for sessions that match this retention + * filter. When a session matches the filter and is retained (based on sample_rate), + * you can configure the percentage of retained sessions with ingested traces whose traces are + * indexed. + * + * @return crossProductSampling + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CROSS_PRODUCT_SAMPLING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public RumCrossProductSampling getCrossProductSampling() { + return crossProductSampling; + } + + public void setCrossProductSampling(RumCrossProductSampling crossProductSampling) { + this.crossProductSampling = crossProductSampling; + } + public RumRetentionFilterAttributes enabled(Boolean enabled) { this.enabled = enabled; return this; @@ -208,7 +238,9 @@ public boolean equals(Object o) { return false; } RumRetentionFilterAttributes rumRetentionFilterAttributes = (RumRetentionFilterAttributes) o; - return Objects.equals(this.enabled, rumRetentionFilterAttributes.enabled) + return Objects.equals( + this.crossProductSampling, rumRetentionFilterAttributes.crossProductSampling) + && Objects.equals(this.enabled, rumRetentionFilterAttributes.enabled) && Objects.equals(this.eventType, rumRetentionFilterAttributes.eventType) && Objects.equals(this.name, rumRetentionFilterAttributes.name) && Objects.equals(this.query, rumRetentionFilterAttributes.query) @@ -219,13 +251,17 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(enabled, eventType, name, query, sampleRate, additionalProperties); + return Objects.hash( + crossProductSampling, enabled, eventType, name, query, sampleRate, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RumRetentionFilterAttributes {\n"); + sb.append(" crossProductSampling: ") + .append(toIndentedString(crossProductSampling)) + .append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterCreateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterCreateAttributes.java index b4c5275c046..53d61e8818b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterCreateAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterCreateAttributes.java @@ -19,6 +19,7 @@ /** The object describing attributes of a RUM retention filter to create. */ @JsonPropertyOrder({ + RumRetentionFilterCreateAttributes.JSON_PROPERTY_CROSS_PRODUCT_SAMPLING, RumRetentionFilterCreateAttributes.JSON_PROPERTY_ENABLED, RumRetentionFilterCreateAttributes.JSON_PROPERTY_EVENT_TYPE, RumRetentionFilterCreateAttributes.JSON_PROPERTY_NAME, @@ -29,6 +30,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class RumRetentionFilterCreateAttributes { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CROSS_PRODUCT_SAMPLING = "cross_product_sampling"; + private RumCrossProductSamplingCreate crossProductSampling; + public static final String JSON_PROPERTY_ENABLED = "enabled"; private Boolean enabled; @@ -58,6 +62,29 @@ public RumRetentionFilterCreateAttributes( this.sampleRate = sampleRate; } + public RumRetentionFilterCreateAttributes crossProductSampling( + RumCrossProductSamplingCreate crossProductSampling) { + this.crossProductSampling = crossProductSampling; + this.unparsed |= crossProductSampling.unparsed; + return this; + } + + /** + * Configuration for cross-product sampling when creating a retention filter. + * + * @return crossProductSampling + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CROSS_PRODUCT_SAMPLING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public RumCrossProductSamplingCreate getCrossProductSampling() { + return crossProductSampling; + } + + public void setCrossProductSampling(RumCrossProductSamplingCreate crossProductSampling) { + this.crossProductSampling = crossProductSampling; + } + public RumRetentionFilterCreateAttributes enabled(Boolean enabled) { this.enabled = enabled; return this; @@ -221,7 +248,9 @@ public boolean equals(Object o) { } RumRetentionFilterCreateAttributes rumRetentionFilterCreateAttributes = (RumRetentionFilterCreateAttributes) o; - return Objects.equals(this.enabled, rumRetentionFilterCreateAttributes.enabled) + return Objects.equals( + this.crossProductSampling, rumRetentionFilterCreateAttributes.crossProductSampling) + && Objects.equals(this.enabled, rumRetentionFilterCreateAttributes.enabled) && Objects.equals(this.eventType, rumRetentionFilterCreateAttributes.eventType) && Objects.equals(this.name, rumRetentionFilterCreateAttributes.name) && Objects.equals(this.query, rumRetentionFilterCreateAttributes.query) @@ -232,13 +261,17 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(enabled, eventType, name, query, sampleRate, additionalProperties); + return Objects.hash( + crossProductSampling, enabled, eventType, name, query, sampleRate, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RumRetentionFilterCreateAttributes {\n"); + sb.append(" crossProductSampling: ") + .append(toIndentedString(crossProductSampling)) + .append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterUpdateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterUpdateAttributes.java index c862aeb411e..6905f018bd2 100644 --- a/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterUpdateAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/RumRetentionFilterUpdateAttributes.java @@ -18,6 +18,7 @@ /** The object describing attributes of a RUM retention filter to update. */ @JsonPropertyOrder({ + RumRetentionFilterUpdateAttributes.JSON_PROPERTY_CROSS_PRODUCT_SAMPLING, RumRetentionFilterUpdateAttributes.JSON_PROPERTY_ENABLED, RumRetentionFilterUpdateAttributes.JSON_PROPERTY_EVENT_TYPE, RumRetentionFilterUpdateAttributes.JSON_PROPERTY_NAME, @@ -28,6 +29,9 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class RumRetentionFilterUpdateAttributes { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CROSS_PRODUCT_SAMPLING = "cross_product_sampling"; + private RumCrossProductSamplingUpdate crossProductSampling; + public static final String JSON_PROPERTY_ENABLED = "enabled"; private Boolean enabled; @@ -43,6 +47,30 @@ public class RumRetentionFilterUpdateAttributes { public static final String JSON_PROPERTY_SAMPLE_RATE = "sample_rate"; private Double sampleRate; + public RumRetentionFilterUpdateAttributes crossProductSampling( + RumCrossProductSamplingUpdate crossProductSampling) { + this.crossProductSampling = crossProductSampling; + this.unparsed |= crossProductSampling.unparsed; + return this; + } + + /** + * Configuration for cross-product sampling when updating a retention filter. All fields are + * optional for partial updates. + * + * @return crossProductSampling + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CROSS_PRODUCT_SAMPLING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public RumCrossProductSamplingUpdate getCrossProductSampling() { + return crossProductSampling; + } + + public void setCrossProductSampling(RumCrossProductSamplingUpdate crossProductSampling) { + this.crossProductSampling = crossProductSampling; + } + public RumRetentionFilterUpdateAttributes enabled(Boolean enabled) { this.enabled = enabled; return this; @@ -209,7 +237,9 @@ public boolean equals(Object o) { } RumRetentionFilterUpdateAttributes rumRetentionFilterUpdateAttributes = (RumRetentionFilterUpdateAttributes) o; - return Objects.equals(this.enabled, rumRetentionFilterUpdateAttributes.enabled) + return Objects.equals( + this.crossProductSampling, rumRetentionFilterUpdateAttributes.crossProductSampling) + && Objects.equals(this.enabled, rumRetentionFilterUpdateAttributes.enabled) && Objects.equals(this.eventType, rumRetentionFilterUpdateAttributes.eventType) && Objects.equals(this.name, rumRetentionFilterUpdateAttributes.name) && Objects.equals(this.query, rumRetentionFilterUpdateAttributes.query) @@ -220,13 +250,17 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(enabled, eventType, name, query, sampleRate, additionalProperties); + return Objects.hash( + crossProductSampling, enabled, eventType, name, query, sampleRate, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RumRetentionFilterUpdateAttributes {\n"); + sb.append(" crossProductSampling: ") + .append(toIndentedString(crossProductSampling)) + .append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" eventType: ").append(toIndentedString(eventType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n");