Skip to content

Commit 4e29eda

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
feat - Add data-quality alert monitor type support (#3594)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent f2a2eae commit 4e29eda

11 files changed

Lines changed: 989 additions & 2 deletions

.generator/schemas/v1/openapi.yaml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7534,6 +7534,104 @@ 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. Common values include:
7547+
7548+
`bytes`, `cardinality`, `custom`, `freshness`, `max`, `mean`, `min`,
7549+
7550+
`nullness`, `percent_negative`, `percent_zero`, `row_count`, `stddev`,
7551+
7552+
`sum`, `uniqueness`. Additional values may be supported.'
7553+
example: row_count
7554+
type: string
7555+
MonitorFormulaAndFunctionDataQualityModelTypeOverride:
7556+
description: Override for the model type used in anomaly detection.
7557+
enum:
7558+
- freshness
7559+
- percentage
7560+
- any
7561+
type: string
7562+
x-enum-varnames:
7563+
- FRESHNESS
7564+
- PERCENTAGE
7565+
- ANY
7566+
MonitorFormulaAndFunctionDataQualityMonitorOptions:
7567+
description: Monitor configuration options for data quality queries.
7568+
properties:
7569+
crontab_override:
7570+
description: Crontab expression to override the default schedule.
7571+
example: '* * * 10'
7572+
type: string
7573+
custom_sql:
7574+
description: Custom SQL query for the monitor.
7575+
example: SELECT COUNT(*) FROM users AS dd_value
7576+
type: string
7577+
custom_where:
7578+
description: Custom WHERE clause for the query.
7579+
example: USER_ID = 123
7580+
type: string
7581+
group_by_columns:
7582+
description: Columns to group results by.
7583+
example:
7584+
- col1
7585+
- col2
7586+
items:
7587+
type: string
7588+
type: array
7589+
model_type_override:
7590+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityModelTypeOverride'
7591+
type: object
7592+
MonitorFormulaAndFunctionDataQualityQueryDefinition:
7593+
description: A formula and functions data quality query.
7594+
properties:
7595+
data_source:
7596+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityDataSource'
7597+
filter:
7598+
description: Filter expression used to match on data entities. Uses Aastra
7599+
query syntax.
7600+
example: search for column where `database:production AND table:users`
7601+
type: string
7602+
group_by:
7603+
description: Optional grouping fields for aggregation.
7604+
example:
7605+
- entity_id
7606+
items:
7607+
type: string
7608+
type: array
7609+
measure:
7610+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMeasure'
7611+
monitor_options:
7612+
$ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMonitorOptions'
7613+
name:
7614+
description: Name of the query for use in formulas.
7615+
example: query1
7616+
type: string
7617+
schema_version:
7618+
description: Schema version for the data quality query.
7619+
example: 0.0.1
7620+
type: string
7621+
scope:
7622+
description: 'Optional scoping expression to further filter metrics. Uses
7623+
metrics filter syntax.
7624+
7625+
This is useful when an entity has been configured to emit metrics with
7626+
additional tags.'
7627+
example: env:production
7628+
type: string
7629+
required:
7630+
- name
7631+
- data_source
7632+
- measure
7633+
- filter
7634+
type: object
75377635
MonitorFormulaAndFunctionEventAggregation:
75387636
description: Aggregation methods for event platform queries.
75397637
enum:
@@ -7685,6 +7783,7 @@ components:
76857783
oneOf:
76867784
- $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinition'
76877785
- $ref: '#/components/schemas/MonitorFormulaAndFunctionCostQueryDefinition'
7786+
- $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityQueryDefinition'
76887787
MonitorGroupSearchResponse:
76897788
description: The response of a monitor group search.
76907789
example:
@@ -8523,6 +8622,7 @@ components:
85238622
- database-monitoring alert
85248623
- network-performance alert
85258624
- cost alert
8625+
- data-quality alert
85268626
example: query alert
85278627
type: string
85288628
x-enum-varnames:
@@ -8545,6 +8645,7 @@ components:
85458645
- DATABASE_MONITORING_ALERT
85468646
- NETWORK_PERFORMANCE_ALERT
85478647
- COST_ALERT
8648+
- DATA_QUALITY_ALERT
85488649
MonitorUpdateRequest:
85498650
description: Object describing a monitor update request.
85508651
properties:
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV1
6+
7+
import (
8+
"fmt"
9+
10+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
11+
)
12+
13+
// MonitorFormulaAndFunctionDataQualityDataSource Data source for data quality queries.
14+
type MonitorFormulaAndFunctionDataQualityDataSource string
15+
16+
// List of MonitorFormulaAndFunctionDataQualityDataSource.
17+
const (
18+
MONITORFORMULAANDFUNCTIONDATAQUALITYDATASOURCE_DATA_QUALITY_METRICS MonitorFormulaAndFunctionDataQualityDataSource = "data_quality_metrics"
19+
)
20+
21+
var allowedMonitorFormulaAndFunctionDataQualityDataSourceEnumValues = []MonitorFormulaAndFunctionDataQualityDataSource{
22+
MONITORFORMULAANDFUNCTIONDATAQUALITYDATASOURCE_DATA_QUALITY_METRICS,
23+
}
24+
25+
// GetAllowedValues reeturns the list of possible values.
26+
func (v *MonitorFormulaAndFunctionDataQualityDataSource) GetAllowedValues() []MonitorFormulaAndFunctionDataQualityDataSource {
27+
return allowedMonitorFormulaAndFunctionDataQualityDataSourceEnumValues
28+
}
29+
30+
// UnmarshalJSON deserializes the given payload.
31+
func (v *MonitorFormulaAndFunctionDataQualityDataSource) UnmarshalJSON(src []byte) error {
32+
var value string
33+
err := datadog.Unmarshal(src, &value)
34+
if err != nil {
35+
return err
36+
}
37+
*v = MonitorFormulaAndFunctionDataQualityDataSource(value)
38+
return nil
39+
}
40+
41+
// NewMonitorFormulaAndFunctionDataQualityDataSourceFromValue returns a pointer to a valid MonitorFormulaAndFunctionDataQualityDataSource
42+
// for the value passed as argument, or an error if the value passed is not allowed by the enum.
43+
func NewMonitorFormulaAndFunctionDataQualityDataSourceFromValue(v string) (*MonitorFormulaAndFunctionDataQualityDataSource, error) {
44+
ev := MonitorFormulaAndFunctionDataQualityDataSource(v)
45+
if ev.IsValid() {
46+
return &ev, nil
47+
}
48+
return nil, fmt.Errorf("invalid value '%v' for MonitorFormulaAndFunctionDataQualityDataSource: valid values are %v", v, allowedMonitorFormulaAndFunctionDataQualityDataSourceEnumValues)
49+
}
50+
51+
// IsValid return true if the value is valid for the enum, false otherwise.
52+
func (v MonitorFormulaAndFunctionDataQualityDataSource) IsValid() bool {
53+
for _, existing := range allowedMonitorFormulaAndFunctionDataQualityDataSourceEnumValues {
54+
if existing == v {
55+
return true
56+
}
57+
}
58+
return false
59+
}
60+
61+
// Ptr returns reference to MonitorFormulaAndFunctionDataQualityDataSource value.
62+
func (v MonitorFormulaAndFunctionDataQualityDataSource) Ptr() *MonitorFormulaAndFunctionDataQualityDataSource {
63+
return &v
64+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV1
6+
7+
import (
8+
"fmt"
9+
10+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
11+
)
12+
13+
// MonitorFormulaAndFunctionDataQualityModelTypeOverride Override for the model type used in anomaly detection.
14+
type MonitorFormulaAndFunctionDataQualityModelTypeOverride string
15+
16+
// List of MonitorFormulaAndFunctionDataQualityModelTypeOverride.
17+
const (
18+
MONITORFORMULAANDFUNCTIONDATAQUALITYMODELTYPEOVERRIDE_FRESHNESS MonitorFormulaAndFunctionDataQualityModelTypeOverride = "freshness"
19+
MONITORFORMULAANDFUNCTIONDATAQUALITYMODELTYPEOVERRIDE_PERCENTAGE MonitorFormulaAndFunctionDataQualityModelTypeOverride = "percentage"
20+
MONITORFORMULAANDFUNCTIONDATAQUALITYMODELTYPEOVERRIDE_ANY MonitorFormulaAndFunctionDataQualityModelTypeOverride = "any"
21+
)
22+
23+
var allowedMonitorFormulaAndFunctionDataQualityModelTypeOverrideEnumValues = []MonitorFormulaAndFunctionDataQualityModelTypeOverride{
24+
MONITORFORMULAANDFUNCTIONDATAQUALITYMODELTYPEOVERRIDE_FRESHNESS,
25+
MONITORFORMULAANDFUNCTIONDATAQUALITYMODELTYPEOVERRIDE_PERCENTAGE,
26+
MONITORFORMULAANDFUNCTIONDATAQUALITYMODELTYPEOVERRIDE_ANY,
27+
}
28+
29+
// GetAllowedValues reeturns the list of possible values.
30+
func (v *MonitorFormulaAndFunctionDataQualityModelTypeOverride) GetAllowedValues() []MonitorFormulaAndFunctionDataQualityModelTypeOverride {
31+
return allowedMonitorFormulaAndFunctionDataQualityModelTypeOverrideEnumValues
32+
}
33+
34+
// UnmarshalJSON deserializes the given payload.
35+
func (v *MonitorFormulaAndFunctionDataQualityModelTypeOverride) UnmarshalJSON(src []byte) error {
36+
var value string
37+
err := datadog.Unmarshal(src, &value)
38+
if err != nil {
39+
return err
40+
}
41+
*v = MonitorFormulaAndFunctionDataQualityModelTypeOverride(value)
42+
return nil
43+
}
44+
45+
// NewMonitorFormulaAndFunctionDataQualityModelTypeOverrideFromValue returns a pointer to a valid MonitorFormulaAndFunctionDataQualityModelTypeOverride
46+
// for the value passed as argument, or an error if the value passed is not allowed by the enum.
47+
func NewMonitorFormulaAndFunctionDataQualityModelTypeOverrideFromValue(v string) (*MonitorFormulaAndFunctionDataQualityModelTypeOverride, error) {
48+
ev := MonitorFormulaAndFunctionDataQualityModelTypeOverride(v)
49+
if ev.IsValid() {
50+
return &ev, nil
51+
}
52+
return nil, fmt.Errorf("invalid value '%v' for MonitorFormulaAndFunctionDataQualityModelTypeOverride: valid values are %v", v, allowedMonitorFormulaAndFunctionDataQualityModelTypeOverrideEnumValues)
53+
}
54+
55+
// IsValid return true if the value is valid for the enum, false otherwise.
56+
func (v MonitorFormulaAndFunctionDataQualityModelTypeOverride) IsValid() bool {
57+
for _, existing := range allowedMonitorFormulaAndFunctionDataQualityModelTypeOverrideEnumValues {
58+
if existing == v {
59+
return true
60+
}
61+
}
62+
return false
63+
}
64+
65+
// Ptr returns reference to MonitorFormulaAndFunctionDataQualityModelTypeOverride value.
66+
func (v MonitorFormulaAndFunctionDataQualityModelTypeOverride) Ptr() *MonitorFormulaAndFunctionDataQualityModelTypeOverride {
67+
return &v
68+
}

0 commit comments

Comments
 (0)