Skip to content

Commit 4917fbf

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Regenerate client from commit 4c00780 of spec repo (#4147)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 52674a3 commit 4917fbf

6 files changed

Lines changed: 172 additions & 1 deletion

File tree

‎.generator/schemas/v1/openapi.yaml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9040,6 +9040,14 @@ components:
90409040
type: array
90419041
model_type_override:
90429042
$ref: "#/components/schemas/MonitorFormulaAndFunctionDataQualityModelTypeOverride"
9043+
sensitivity:
9044+
description: |-
9045+
Sensitivity of the anomaly detection model, expressed as a multiplier on the width
9046+
of the predicted bounds. Higher values widen the bounds and produce fewer alerts;
9047+
lower values tighten them and produce more alerts. Defaults to `3.0`.
9048+
example: 3.0
9049+
format: double
9050+
type: number
90439051
type: object
90449052
MonitorFormulaAndFunctionDataQualityQueryDefinition:
90459053
description: A formula and functions data quality query.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// Create a Data Quality monitor with sensitivity returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v1.api.MonitorsApi;
6+
import com.datadog.api.client.v1.model.Monitor;
7+
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionDataQualityDataSource;
8+
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionDataQualityMonitorOptions;
9+
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionDataQualityQueryDefinition;
10+
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionQueryDefinition;
11+
import com.datadog.api.client.v1.model.MonitorOptions;
12+
import com.datadog.api.client.v1.model.MonitorThresholds;
13+
import com.datadog.api.client.v1.model.MonitorType;
14+
import java.util.Arrays;
15+
import java.util.Collections;
16+
17+
public class Example {
18+
public static void main(String[] args) {
19+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
20+
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
21+
22+
Monitor body =
23+
new Monitor()
24+
.name("Example-Monitor")
25+
.type(MonitorType.DATA_QUALITY_ALERT)
26+
.query("""
27+
formula("query1").last("5m") > 100
28+
""")
29+
.message("Data quality alert triggered")
30+
.tags(Arrays.asList("test:examplemonitor", "env:ci"))
31+
.priority(3L)
32+
.options(
33+
new MonitorOptions()
34+
.thresholds(new MonitorThresholds().critical(100.0))
35+
.variables(
36+
Collections.singletonList(
37+
new MonitorFormulaAndFunctionQueryDefinition(
38+
new MonitorFormulaAndFunctionDataQualityQueryDefinition()
39+
.name("query1")
40+
.dataSource(
41+
MonitorFormulaAndFunctionDataQualityDataSource
42+
.DATA_QUALITY_METRICS)
43+
.measure("row_count")
44+
.filter(
45+
"search for column where `database:production AND"
46+
+ " table:users`")
47+
.groupBy(Collections.singletonList("entity_id"))
48+
.monitorOptions(
49+
new MonitorFormulaAndFunctionDataQualityMonitorOptions()
50+
.sensitivity(2.5))))));
51+
52+
try {
53+
Monitor result = apiInstance.createMonitor(body);
54+
System.out.println(result);
55+
} catch (ApiException e) {
56+
System.err.println("Exception when calling MonitorsApi#createMonitor");
57+
System.err.println("Status code: " + e.getCode());
58+
System.err.println("Reason: " + e.getResponseBody());
59+
System.err.println("Response headers: " + e.getResponseHeaders());
60+
e.printStackTrace();
61+
}
62+
}
63+
}

‎src/main/java/com/datadog/api/client/v1/model/MonitorFormulaAndFunctionDataQualityMonitorOptions.java‎

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
MonitorFormulaAndFunctionDataQualityMonitorOptions.JSON_PROPERTY_CUSTOM_SQL,
2525
MonitorFormulaAndFunctionDataQualityMonitorOptions.JSON_PROPERTY_CUSTOM_WHERE,
2626
MonitorFormulaAndFunctionDataQualityMonitorOptions.JSON_PROPERTY_GROUP_BY_COLUMNS,
27-
MonitorFormulaAndFunctionDataQualityMonitorOptions.JSON_PROPERTY_MODEL_TYPE_OVERRIDE
27+
MonitorFormulaAndFunctionDataQualityMonitorOptions.JSON_PROPERTY_MODEL_TYPE_OVERRIDE,
28+
MonitorFormulaAndFunctionDataQualityMonitorOptions.JSON_PROPERTY_SENSITIVITY
2829
})
2930
@jakarta.annotation.Generated(
3031
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
@@ -45,6 +46,9 @@ public class MonitorFormulaAndFunctionDataQualityMonitorOptions {
4546
public static final String JSON_PROPERTY_MODEL_TYPE_OVERRIDE = "model_type_override";
4647
private MonitorFormulaAndFunctionDataQualityModelTypeOverride modelTypeOverride;
4748

49+
public static final String JSON_PROPERTY_SENSITIVITY = "sensitivity";
50+
private Double sensitivity;
51+
4852
public MonitorFormulaAndFunctionDataQualityMonitorOptions crontabOverride(
4953
String crontabOverride) {
5054
this.crontabOverride = crontabOverride;
@@ -167,6 +171,29 @@ public void setModelTypeOverride(
167171
this.modelTypeOverride = modelTypeOverride;
168172
}
169173

174+
public MonitorFormulaAndFunctionDataQualityMonitorOptions sensitivity(Double sensitivity) {
175+
this.sensitivity = sensitivity;
176+
return this;
177+
}
178+
179+
/**
180+
* Sensitivity of the anomaly detection model, expressed as a multiplier on the width of the
181+
* predicted bounds. Higher values widen the bounds and produce fewer alerts; lower values tighten
182+
* them and produce more alerts. Defaults to <code>3.0</code>.
183+
*
184+
* @return sensitivity
185+
*/
186+
@jakarta.annotation.Nullable
187+
@JsonProperty(JSON_PROPERTY_SENSITIVITY)
188+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
189+
public Double getSensitivity() {
190+
return sensitivity;
191+
}
192+
193+
public void setSensitivity(Double sensitivity) {
194+
this.sensitivity = sensitivity;
195+
}
196+
170197
/**
171198
* A container for additional, undeclared properties. This is a holder for any undeclared
172199
* properties as specified with the 'additionalProperties' keyword in the OAS document.
@@ -240,6 +267,8 @@ public boolean equals(Object o) {
240267
&& Objects.equals(
241268
this.modelTypeOverride,
242269
monitorFormulaAndFunctionDataQualityMonitorOptions.modelTypeOverride)
270+
&& Objects.equals(
271+
this.sensitivity, monitorFormulaAndFunctionDataQualityMonitorOptions.sensitivity)
243272
&& Objects.equals(
244273
this.additionalProperties,
245274
monitorFormulaAndFunctionDataQualityMonitorOptions.additionalProperties);
@@ -253,6 +282,7 @@ public int hashCode() {
253282
customWhere,
254283
groupByColumns,
255284
modelTypeOverride,
285+
sensitivity,
256286
additionalProperties);
257287
}
258288

@@ -265,6 +295,7 @@ public String toString() {
265295
sb.append(" customWhere: ").append(toIndentedString(customWhere)).append("\n");
266296
sb.append(" groupByColumns: ").append(toIndentedString(groupByColumns)).append("\n");
267297
sb.append(" modelTypeOverride: ").append(toIndentedString(modelTypeOverride)).append("\n");
298+
sb.append(" sensitivity: ").append(toIndentedString(sensitivity)).append("\n");
268299
sb.append(" additionalProperties: ")
269300
.append(toIndentedString(additionalProperties))
270301
.append("\n");
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-07-31T16:36:50.561Z
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
[
2+
{
3+
"httpRequest": {
4+
"body": {
5+
"type": "JSON",
6+
"json": "{\"message\": \"Data quality alert triggered\", \"name\": \"Test-Create_a_Data_Quality_monitor_with_sensitivity_returns_OK_response-1785515810\", \"options\": {\"thresholds\": {\"critical\": 100}, \"variables\": [{\"data_source\": \"data_quality_metrics\", \"filter\": \"search for column where `database:production AND table:users`\", \"group_by\": [\"entity_id\"], \"measure\": \"row_count\", \"monitor_options\": {\"sensitivity\": 2.5}, \"name\": \"query1\"}]}, \"priority\": 3, \"query\": \"formula(\\\"query1\\\").last(\\\"5m\\\") > 100\", \"tags\": [\"test:testcreateadataqualitymonitorwithsensitivityreturnsokresponse1785515810\", \"env:ci\"], \"type\": \"data-quality alert\"}"
7+
},
8+
"headers": {},
9+
"method": "POST",
10+
"path": "/api/v1/monitor",
11+
"keepAlive": false,
12+
"secure": true
13+
},
14+
"httpResponse": {
15+
"body": "{\"id\":310055951,\"org_id\":321813,\"type\":\"data-quality alert\",\"name\":\"Test-Create_a_Data_Quality_monitor_with_sensitivity_returns_OK_response-1785515810\",\"message\":\"Data quality alert triggered\",\"tags\":[\"test:testcreateadataqualitymonitorwithsensitivityreturnsokresponse1785515810\",\"env:ci\"],\"query\":\"formula(\\\"query1\\\").last(\\\"5m\\\") > 100\",\"options\":{\"thresholds\":{\"critical\":100.0},\"variables\":[{\"data_source\":\"data_quality_metrics\",\"filter\":\"search for column where `database:production AND table:users`\",\"group_by\":[\"entity_id\"],\"measure\":\"row_count\",\"monitor_options\":{\"sensitivity\":2.5},\"name\":\"query1\"}],\"notify_no_data\":false,\"notify_audit\":false,\"new_host_delay\":300,\"include_tags\":true,\"silenced\":{}},\"multi\":false,\"created_at\":1785515810000,\"created\":\"2026-07-31T16:36:50.914551+00:00\",\"modified\":\"2026-07-31T16:36:50.914551+00:00\",\"deleted\":null,\"priority\":3,\"restricted_roles\":null,\"restriction_policy\":null,\"draft_status\":\"published\",\"assets\":[],\"overall_state_modified\":null,\"overall_state\":\"No Data\",\"creator\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\",\"id\":2320499}}\n",
16+
"headers": {
17+
"Content-Type": [
18+
"application/json"
19+
]
20+
},
21+
"statusCode": 200,
22+
"reasonPhrase": "OK"
23+
},
24+
"times": {
25+
"remainingTimes": 1
26+
},
27+
"timeToLive": {
28+
"unlimited": true
29+
},
30+
"id": "3d2e27a9-1030-8598-573d-b8f518190d17"
31+
},
32+
{
33+
"httpRequest": {
34+
"headers": {},
35+
"method": "DELETE",
36+
"path": "/api/v1/monitor/310055951",
37+
"keepAlive": false,
38+
"secure": true
39+
},
40+
"httpResponse": {
41+
"body": "{\"deleted_monitor_id\":310055951}\n",
42+
"headers": {
43+
"Content-Type": [
44+
"application/json"
45+
]
46+
},
47+
"statusCode": 200,
48+
"reasonPhrase": "OK"
49+
},
50+
"times": {
51+
"remainingTimes": 1
52+
},
53+
"timeToLive": {
54+
"unlimited": true
55+
},
56+
"id": "71318a7d-99ec-2d28-4417-daae837b42a7"
57+
}
58+
]

‎src/test/resources/com/datadog/api/client/v1/api/monitors.feature‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,16 @@ Feature: Monitors
6060
And the response "name" is equal to "{{ unique }}"
6161
And the response "type" is equal to "data-quality alert"
6262

63+
@team:DataDog/monitor-app
64+
Scenario: Create a Data Quality monitor with sensitivity returns "OK" response
65+
Given new "CreateMonitor" request
66+
And body with value {"name": "{{ unique }}", "type": "data-quality alert", "query": "formula(\"query1\").last(\"5m\") > 100", "message": "Data quality alert triggered", "tags": ["test:{{ unique_lower_alnum }}", "env:ci"], "priority": 3, "options": {"thresholds": {"critical": 100}, "variables": [{"name": "query1", "data_source": "data_quality_metrics", "measure": "row_count", "filter": "search for column where `database:production AND table:users`", "group_by": ["entity_id"], "monitor_options": {"sensitivity": 2.5}}]}}
67+
When the request is sent
68+
Then the response status is 200 OK
69+
And the response "name" is equal to "{{ unique }}"
70+
And the response "type" is equal to "data-quality alert"
71+
And the response "options.variables[0].monitor_options.sensitivity" is equal to 2.5
72+
6373
@team:DataDog/monitor-app
6474
Scenario: Create a RUM formula and functions monitor returns "OK" response
6575
Given new "CreateMonitor" request

0 commit comments

Comments
 (0)