Skip to content

Commit f39b8dc

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 5971a14 of spec repo
1 parent 7cd7d55 commit f39b8dc

12 files changed

+1253
-5
lines changed

.generator/schemas/v1/openapi.yaml

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7534,6 +7534,130 @@ components:
75347534
- data_source
75357535
- query
75367536
type: object
7537+
MonitorFormulaAndFunctionDataQualityDataSource:
7538+
description: Data source for data quality queries.
7539+
enum:
7540+
- data_quality_metrics
7541+
example: data_quality_metrics
7542+
type: string
7543+
x-enum-varnames:
7544+
- DATA_QUALITY_METRICS
7545+
MonitorFormulaAndFunctionDataQualityMeasure:
7546+
description: The data quality measure to query.
7547+
enum:
7548+
- bytes
7549+
- cardinality
7550+
- custom
7551+
- freshness
7552+
- max
7553+
- mean
7554+
- min
7555+
- nullness
7556+
- percent_negative
7557+
- percent_zero
7558+
- row_count
7559+
- stddev
7560+
- sum
7561+
- uniqueness
7562+
example: row_count
7563+
type: string
7564+
x-enum-varnames:
7565+
- BYTES
7566+
- CARDINALITY
7567+
- CUSTOM
7568+
- FRESHNESS
7569+
- MAX
7570+
- MEAN
7571+
- MIN
7572+
- NULLNESS
7573+
- PERCENT_NEGATIVE
7574+
- PERCENT_ZERO
7575+
- ROW_COUNT
7576+
- STDDEV
7577+
- SUM
7578+
- UNIQUENESS
7579+
MonitorFormulaAndFunctionDataQualityModelTypeOverride:
7580+
description: Override for the model type used in anomaly detection.
7581+
enum:
7582+
- freshness
7583+
- percentage
7584+
- any
7585+
type: string
7586+
x-enum-varnames:
7587+
- FRESHNESS
7588+
- PERCENTAGE
7589+
- ANY
7590+
MonitorFormulaAndFunctionDataQualityMonitorOptions:
7591+
description: Monitor configuration options for data quality queries.
7592+
properties:
7593+
crontab_override:
7594+
description: Crontab expression to override the default schedule.
7595+
example: '* * * 10'
7596+
type: string
7597+
custom_sql:
7598+
description: Custom SQL query for the monitor.
7599+
example: SELECT COUNT(*) FROM users AS dd_value
7600+
type: string
7601+
custom_where:
7602+
description: Custom WHERE clause for the query.
7603+
example: USER_ID = 123
7604+
type: string
7605+
group_by_columns:
7606+
description: Columns to group results by.
7607+
example:
7608+
- col1
7609+
- col2
7610+
items:
7611+
type: string
7612+
type: array
7613+
model_type_override:
7614+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityModelTypeOverride'
7615+
type: object
7616+
MonitorFormulaAndFunctionDataQualityQueryDefinition:
7617+
description: A formula and functions data quality query.
7618+
properties:
7619+
data_source:
7620+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityDataSource'
7621+
filter:
7622+
description: 'Filter expression used to match on data entities. Uses Aastra
7623+
query syntax
7624+
7625+
e.g. search for column where `database:production AND table:users`'
7626+
example: search for column where `database:production AND table:users`
7627+
type: string
7628+
group_by:
7629+
description: Optional grouping fields for aggregation.
7630+
example:
7631+
- entity_id
7632+
items:
7633+
type: string
7634+
type: array
7635+
measure:
7636+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMeasure'
7637+
monitor_options:
7638+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMonitorOptions'
7639+
name:
7640+
description: Name of the query for use in formulas.
7641+
example: query1
7642+
type: string
7643+
schema_version:
7644+
description: Schema version for the data quality query.
7645+
example: 0.0.1
7646+
type: string
7647+
scope:
7648+
description: 'Optional scoping expression to further filter metrics. Uses
7649+
metrics filter syntax.
7650+
7651+
This is useful when an entity has been configured to emit metrics with
7652+
additional tags.'
7653+
example: env:production
7654+
type: string
7655+
required:
7656+
- name
7657+
- data_source
7658+
- measure
7659+
- filter
7660+
type: object
75377661
MonitorFormulaAndFunctionEventAggregation:
75387662
description: Aggregation methods for event platform queries.
75397663
enum:
@@ -7685,6 +7809,7 @@ components:
76857809
oneOf:
76867810
- $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinition'
76877811
- $ref: '#/components/schemas/MonitorFormulaAndFunctionCostQueryDefinition'
7812+
- $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityQueryDefinition'
76887813
MonitorGroupSearchResponse:
76897814
description: The response of a monitor group search.
76907815
example:
@@ -8523,6 +8648,7 @@ components:
85238648
- database-monitoring alert
85248649
- network-performance alert
85258650
- cost alert
8651+
- data-quality alert
85268652
example: query alert
85278653
type: string
85288654
x-enum-varnames:
@@ -8545,6 +8671,7 @@ components:
85458671
- DATABASE_MONITORING_ALERT
85468672
- NETWORK_PERFORMANCE_ALERT
85478673
- COST_ALERT
8674+
- DATA_QUALITY_ALERT
85488675
MonitorUpdateRequest:
85498676
description: Object describing a monitor update request.
85508677
properties:
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// Create a Data Quality monitor 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.MonitorFormulaAndFunctionDataQualityMeasure;
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(MonitorFormulaAndFunctionDataQualityMeasure.ROW_COUNT)
44+
.filter(
45+
"search for column where `database:production AND"
46+
+ " table:users`")
47+
.groupBy(Collections.singletonList("entity_id"))))));
48+
49+
try {
50+
Monitor result = apiInstance.createMonitor(body);
51+
System.out.println(result);
52+
} catch (ApiException e) {
53+
System.err.println("Exception when calling MonitorsApi#createMonitor");
54+
System.err.println("Status code: " + e.getCode());
55+
System.err.println("Reason: " + e.getResponseBody());
56+
System.err.println("Response headers: " + e.getResponseHeaders());
57+
e.printStackTrace();
58+
}
59+
}
60+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2019-Present Datadog, Inc.
5+
*/
6+
7+
package com.datadog.api.client.v1.model;
8+
9+
import com.datadog.api.client.ModelEnum;
10+
import com.fasterxml.jackson.annotation.JsonCreator;
11+
import com.fasterxml.jackson.core.JsonGenerator;
12+
import com.fasterxml.jackson.core.JsonProcessingException;
13+
import com.fasterxml.jackson.databind.SerializerProvider;
14+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
15+
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
16+
import java.io.IOException;
17+
import java.util.Arrays;
18+
import java.util.HashSet;
19+
import java.util.Set;
20+
21+
/** Data source for data quality queries. */
22+
@JsonSerialize(
23+
using =
24+
MonitorFormulaAndFunctionDataQualityDataSource
25+
.MonitorFormulaAndFunctionDataQualityDataSourceSerializer.class)
26+
public class MonitorFormulaAndFunctionDataQualityDataSource extends ModelEnum<String> {
27+
28+
private static final Set<String> allowedValues =
29+
new HashSet<String>(Arrays.asList("data_quality_metrics"));
30+
31+
public static final MonitorFormulaAndFunctionDataQualityDataSource DATA_QUALITY_METRICS =
32+
new MonitorFormulaAndFunctionDataQualityDataSource("data_quality_metrics");
33+
34+
MonitorFormulaAndFunctionDataQualityDataSource(String value) {
35+
super(value, allowedValues);
36+
}
37+
38+
public static class MonitorFormulaAndFunctionDataQualityDataSourceSerializer
39+
extends StdSerializer<MonitorFormulaAndFunctionDataQualityDataSource> {
40+
public MonitorFormulaAndFunctionDataQualityDataSourceSerializer(
41+
Class<MonitorFormulaAndFunctionDataQualityDataSource> t) {
42+
super(t);
43+
}
44+
45+
public MonitorFormulaAndFunctionDataQualityDataSourceSerializer() {
46+
this(null);
47+
}
48+
49+
@Override
50+
public void serialize(
51+
MonitorFormulaAndFunctionDataQualityDataSource value,
52+
JsonGenerator jgen,
53+
SerializerProvider provider)
54+
throws IOException, JsonProcessingException {
55+
jgen.writeObject(value.value);
56+
}
57+
}
58+
59+
@JsonCreator
60+
public static MonitorFormulaAndFunctionDataQualityDataSource fromValue(String value) {
61+
return new MonitorFormulaAndFunctionDataQualityDataSource(value);
62+
}
63+
}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
/*
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2019-Present Datadog, Inc.
5+
*/
6+
7+
package com.datadog.api.client.v1.model;
8+
9+
import com.datadog.api.client.ModelEnum;
10+
import com.fasterxml.jackson.annotation.JsonCreator;
11+
import com.fasterxml.jackson.core.JsonGenerator;
12+
import com.fasterxml.jackson.core.JsonProcessingException;
13+
import com.fasterxml.jackson.databind.SerializerProvider;
14+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
15+
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
16+
import java.io.IOException;
17+
import java.util.Arrays;
18+
import java.util.HashSet;
19+
import java.util.Set;
20+
21+
/** The data quality measure to query. */
22+
@JsonSerialize(
23+
using =
24+
MonitorFormulaAndFunctionDataQualityMeasure
25+
.MonitorFormulaAndFunctionDataQualityMeasureSerializer.class)
26+
public class MonitorFormulaAndFunctionDataQualityMeasure extends ModelEnum<String> {
27+
28+
private static final Set<String> allowedValues =
29+
new HashSet<String>(
30+
Arrays.asList(
31+
"bytes",
32+
"cardinality",
33+
"custom",
34+
"freshness",
35+
"max",
36+
"mean",
37+
"min",
38+
"nullness",
39+
"percent_negative",
40+
"percent_zero",
41+
"row_count",
42+
"stddev",
43+
"sum",
44+
"uniqueness"));
45+
46+
public static final MonitorFormulaAndFunctionDataQualityMeasure BYTES =
47+
new MonitorFormulaAndFunctionDataQualityMeasure("bytes");
48+
public static final MonitorFormulaAndFunctionDataQualityMeasure CARDINALITY =
49+
new MonitorFormulaAndFunctionDataQualityMeasure("cardinality");
50+
public static final MonitorFormulaAndFunctionDataQualityMeasure CUSTOM =
51+
new MonitorFormulaAndFunctionDataQualityMeasure("custom");
52+
public static final MonitorFormulaAndFunctionDataQualityMeasure FRESHNESS =
53+
new MonitorFormulaAndFunctionDataQualityMeasure("freshness");
54+
public static final MonitorFormulaAndFunctionDataQualityMeasure MAX =
55+
new MonitorFormulaAndFunctionDataQualityMeasure("max");
56+
public static final MonitorFormulaAndFunctionDataQualityMeasure MEAN =
57+
new MonitorFormulaAndFunctionDataQualityMeasure("mean");
58+
public static final MonitorFormulaAndFunctionDataQualityMeasure MIN =
59+
new MonitorFormulaAndFunctionDataQualityMeasure("min");
60+
public static final MonitorFormulaAndFunctionDataQualityMeasure NULLNESS =
61+
new MonitorFormulaAndFunctionDataQualityMeasure("nullness");
62+
public static final MonitorFormulaAndFunctionDataQualityMeasure PERCENT_NEGATIVE =
63+
new MonitorFormulaAndFunctionDataQualityMeasure("percent_negative");
64+
public static final MonitorFormulaAndFunctionDataQualityMeasure PERCENT_ZERO =
65+
new MonitorFormulaAndFunctionDataQualityMeasure("percent_zero");
66+
public static final MonitorFormulaAndFunctionDataQualityMeasure ROW_COUNT =
67+
new MonitorFormulaAndFunctionDataQualityMeasure("row_count");
68+
public static final MonitorFormulaAndFunctionDataQualityMeasure STDDEV =
69+
new MonitorFormulaAndFunctionDataQualityMeasure("stddev");
70+
public static final MonitorFormulaAndFunctionDataQualityMeasure SUM =
71+
new MonitorFormulaAndFunctionDataQualityMeasure("sum");
72+
public static final MonitorFormulaAndFunctionDataQualityMeasure UNIQUENESS =
73+
new MonitorFormulaAndFunctionDataQualityMeasure("uniqueness");
74+
75+
MonitorFormulaAndFunctionDataQualityMeasure(String value) {
76+
super(value, allowedValues);
77+
}
78+
79+
public static class MonitorFormulaAndFunctionDataQualityMeasureSerializer
80+
extends StdSerializer<MonitorFormulaAndFunctionDataQualityMeasure> {
81+
public MonitorFormulaAndFunctionDataQualityMeasureSerializer(
82+
Class<MonitorFormulaAndFunctionDataQualityMeasure> t) {
83+
super(t);
84+
}
85+
86+
public MonitorFormulaAndFunctionDataQualityMeasureSerializer() {
87+
this(null);
88+
}
89+
90+
@Override
91+
public void serialize(
92+
MonitorFormulaAndFunctionDataQualityMeasure value,
93+
JsonGenerator jgen,
94+
SerializerProvider provider)
95+
throws IOException, JsonProcessingException {
96+
jgen.writeObject(value.value);
97+
}
98+
}
99+
100+
@JsonCreator
101+
public static MonitorFormulaAndFunctionDataQualityMeasure fromValue(String value) {
102+
return new MonitorFormulaAndFunctionDataQualityMeasure(value);
103+
}
104+
}

0 commit comments

Comments
 (0)