Skip to content

Commit edf86b4

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 7dfcc162 of spec repo
1 parent 4e5bce8 commit edf86b4

13 files changed

+399
-5
lines changed

.apigentools-info

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-01-15 18:03:11.180859",
8-
"spec_repo_commit": "e54847a1"
7+
"regenerated": "2025-01-16 16:38:40.222076",
8+
"spec_repo_commit": "7dfcc162"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-01-15 18:03:11.196723",
13-
"spec_repo_commit": "e54847a1"
12+
"regenerated": "2025-01-16 16:38:40.236657",
13+
"spec_repo_commit": "7dfcc162"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

+57
Original file line numberDiff line numberDiff line change
@@ -6930,10 +6930,67 @@ components:
69306930
- SPANS
69316931
- DATABASE_QUERIES
69326932
- NETWORK
6933+
MonitorFormulaAndFunctionMetricAggregator:
6934+
description: Aggregation methods for metric queries.
6935+
enum:
6936+
- avg
6937+
- sum
6938+
- max
6939+
- min
6940+
- last
6941+
- area
6942+
- l2norm
6943+
- percentile
6944+
- stddev
6945+
example: avg
6946+
type: string
6947+
x-enum-varnames:
6948+
- AVG
6949+
- SUM
6950+
- MAX
6951+
- MIN
6952+
- LAST
6953+
- AREA
6954+
- L2NORM
6955+
- PERCENTILE
6956+
- STDDEV
6957+
MonitorFormulaAndFunctionMetricDataSource:
6958+
description: Data source for metric-based queries.
6959+
enum:
6960+
- metrics
6961+
- cloud_cost
6962+
- datadog_usage
6963+
example: metrics
6964+
type: string
6965+
x-enum-varnames:
6966+
- METRICS
6967+
- CLOUD_COST
6968+
- DATADOG_USAGE
6969+
MonitorFormulaAndFunctionMetricQueryDefinition:
6970+
description: A formula and functions metric query.
6971+
properties:
6972+
aggregator:
6973+
$ref: '#/components/schemas/MonitorFormulaAndFunctionMetricAggregator'
6974+
data_source:
6975+
$ref: '#/components/schemas/MonitorFormulaAndFunctionMetricDataSource'
6976+
name:
6977+
description: Name of the query for use in formulas.
6978+
example: cpu_usage
6979+
type: string
6980+
query:
6981+
description: The monitor query.
6982+
example: avg(last_5m):avg:system.load.1{*} > 44
6983+
type: string
6984+
required:
6985+
- name
6986+
- data_source
6987+
- query
6988+
type: object
69336989
MonitorFormulaAndFunctionQueryDefinition:
69346990
description: A formula and function query.
69356991
oneOf:
69366992
- $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinition'
6993+
- $ref: '#/components/schemas/MonitorFormulaAndFunctionMetricQueryDefinition'
69376994
MonitorGroupSearchResponse:
69386995
description: The response of a monitor group search.
69396996
example:

docs/datadog_api_client.v1.model.rst

+21
Original file line numberDiff line numberDiff line change
@@ -2076,6 +2076,27 @@ datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_events\_data\_sou
20762076
:members:
20772077
:show-inheritance:
20782078

2079+
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_metric\_aggregator module
2080+
----------------------------------------------------------------------------------------
2081+
2082+
.. automodule:: datadog_api_client.v1.model.monitor_formula_and_function_metric_aggregator
2083+
:members:
2084+
:show-inheritance:
2085+
2086+
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_metric\_data\_source module
2087+
------------------------------------------------------------------------------------------
2088+
2089+
.. automodule:: datadog_api_client.v1.model.monitor_formula_and_function_metric_data_source
2090+
:members:
2091+
:show-inheritance:
2092+
2093+
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_metric\_query\_definition module
2094+
-----------------------------------------------------------------------------------------------
2095+
2096+
.. automodule:: datadog_api_client.v1.model.monitor_formula_and_function_metric_query_definition
2097+
:members:
2098+
:show-inheritance:
2099+
20792100
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_query\_definition module
20802101
---------------------------------------------------------------------------------------
20812102

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
"""
2+
Create a Cost Monitor returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v1.api.monitors_api import MonitorsApi
7+
from datadog_api_client.v1.model.monitor import Monitor
8+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_aggregator import (
9+
MonitorFormulaAndFunctionMetricAggregator,
10+
)
11+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_data_source import (
12+
MonitorFormulaAndFunctionMetricDataSource,
13+
)
14+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_query_definition import (
15+
MonitorFormulaAndFunctionMetricQueryDefinition,
16+
)
17+
from datadog_api_client.v1.model.monitor_options import MonitorOptions
18+
from datadog_api_client.v1.model.monitor_thresholds import MonitorThresholds
19+
from datadog_api_client.v1.model.monitor_type import MonitorType
20+
21+
body = Monitor(
22+
name="Example Monitor",
23+
type=MonitorType.COST_ALERT,
24+
query='formula("exclude_null(query1)").last("7d").anomaly(direction="above", threshold=10) >= 5',
25+
message="some message Notify: @hipchat-channel",
26+
tags=[
27+
"test:examplemonitor",
28+
"env:ci",
29+
],
30+
priority=3,
31+
options=MonitorOptions(
32+
thresholds=MonitorThresholds(
33+
critical=5.0,
34+
warning=3.0,
35+
),
36+
variables=[
37+
MonitorFormulaAndFunctionMetricQueryDefinition(
38+
data_source=MonitorFormulaAndFunctionMetricDataSource.CLOUD_COST,
39+
query="sum:aws.cost.net.amortized.shared.resources.allocated{aws_product IN (amplify ,athena, backup, bedrock ) } by {aws_product}.rollup(sum, 86400)",
40+
name="query1",
41+
aggregator=MonitorFormulaAndFunctionMetricAggregator.SUM,
42+
),
43+
],
44+
include_tags=True,
45+
),
46+
)
47+
48+
configuration = Configuration()
49+
with ApiClient(configuration) as api_client:
50+
api_instance = MonitorsApi(api_client)
51+
response = api_instance.create_monitor(body=body)
52+
53+
print(response)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
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+
from __future__ import annotations
5+
6+
7+
from datadog_api_client.model_utils import (
8+
ModelSimple,
9+
cached_property,
10+
)
11+
12+
from typing import ClassVar
13+
14+
15+
class MonitorFormulaAndFunctionMetricAggregator(ModelSimple):
16+
"""
17+
Aggregation methods for metric queries.
18+
19+
:param value: Must be one of ["avg", "sum", "max", "min", "last", "area", "l2norm", "percentile", "stddev"].
20+
:type value: str
21+
"""
22+
23+
allowed_values = {
24+
"avg",
25+
"sum",
26+
"max",
27+
"min",
28+
"last",
29+
"area",
30+
"l2norm",
31+
"percentile",
32+
"stddev",
33+
}
34+
AVG: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
35+
SUM: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
36+
MAX: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
37+
MIN: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
38+
LAST: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
39+
AREA: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
40+
L2NORM: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
41+
PERCENTILE: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
42+
STDDEV: ClassVar["MonitorFormulaAndFunctionMetricAggregator"]
43+
44+
@cached_property
45+
def openapi_types(_):
46+
return {
47+
"value": (str,),
48+
}
49+
50+
51+
MonitorFormulaAndFunctionMetricAggregator.AVG = MonitorFormulaAndFunctionMetricAggregator("avg")
52+
MonitorFormulaAndFunctionMetricAggregator.SUM = MonitorFormulaAndFunctionMetricAggregator("sum")
53+
MonitorFormulaAndFunctionMetricAggregator.MAX = MonitorFormulaAndFunctionMetricAggregator("max")
54+
MonitorFormulaAndFunctionMetricAggregator.MIN = MonitorFormulaAndFunctionMetricAggregator("min")
55+
MonitorFormulaAndFunctionMetricAggregator.LAST = MonitorFormulaAndFunctionMetricAggregator("last")
56+
MonitorFormulaAndFunctionMetricAggregator.AREA = MonitorFormulaAndFunctionMetricAggregator("area")
57+
MonitorFormulaAndFunctionMetricAggregator.L2NORM = MonitorFormulaAndFunctionMetricAggregator("l2norm")
58+
MonitorFormulaAndFunctionMetricAggregator.PERCENTILE = MonitorFormulaAndFunctionMetricAggregator("percentile")
59+
MonitorFormulaAndFunctionMetricAggregator.STDDEV = MonitorFormulaAndFunctionMetricAggregator("stddev")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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+
from __future__ import annotations
5+
6+
7+
from datadog_api_client.model_utils import (
8+
ModelSimple,
9+
cached_property,
10+
)
11+
12+
from typing import ClassVar
13+
14+
15+
class MonitorFormulaAndFunctionMetricDataSource(ModelSimple):
16+
"""
17+
Data source for metric-based queries.
18+
19+
:param value: Must be one of ["metrics", "cloud_cost", "datadog_usage"].
20+
:type value: str
21+
"""
22+
23+
allowed_values = {
24+
"metrics",
25+
"cloud_cost",
26+
"datadog_usage",
27+
}
28+
METRICS: ClassVar["MonitorFormulaAndFunctionMetricDataSource"]
29+
CLOUD_COST: ClassVar["MonitorFormulaAndFunctionMetricDataSource"]
30+
DATADOG_USAGE: ClassVar["MonitorFormulaAndFunctionMetricDataSource"]
31+
32+
@cached_property
33+
def openapi_types(_):
34+
return {
35+
"value": (str,),
36+
}
37+
38+
39+
MonitorFormulaAndFunctionMetricDataSource.METRICS = MonitorFormulaAndFunctionMetricDataSource("metrics")
40+
MonitorFormulaAndFunctionMetricDataSource.CLOUD_COST = MonitorFormulaAndFunctionMetricDataSource("cloud_cost")
41+
MonitorFormulaAndFunctionMetricDataSource.DATADOG_USAGE = MonitorFormulaAndFunctionMetricDataSource("datadog_usage")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
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+
from __future__ import annotations
5+
6+
from typing import Union, TYPE_CHECKING
7+
8+
from datadog_api_client.model_utils import (
9+
ModelNormal,
10+
cached_property,
11+
unset,
12+
UnsetType,
13+
)
14+
15+
16+
if TYPE_CHECKING:
17+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_aggregator import (
18+
MonitorFormulaAndFunctionMetricAggregator,
19+
)
20+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_data_source import (
21+
MonitorFormulaAndFunctionMetricDataSource,
22+
)
23+
24+
25+
class MonitorFormulaAndFunctionMetricQueryDefinition(ModelNormal):
26+
@cached_property
27+
def openapi_types(_):
28+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_aggregator import (
29+
MonitorFormulaAndFunctionMetricAggregator,
30+
)
31+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_data_source import (
32+
MonitorFormulaAndFunctionMetricDataSource,
33+
)
34+
35+
return {
36+
"aggregator": (MonitorFormulaAndFunctionMetricAggregator,),
37+
"data_source": (MonitorFormulaAndFunctionMetricDataSource,),
38+
"name": (str,),
39+
"query": (str,),
40+
}
41+
42+
attribute_map = {
43+
"aggregator": "aggregator",
44+
"data_source": "data_source",
45+
"name": "name",
46+
"query": "query",
47+
}
48+
49+
def __init__(
50+
self_,
51+
data_source: MonitorFormulaAndFunctionMetricDataSource,
52+
name: str,
53+
query: str,
54+
aggregator: Union[MonitorFormulaAndFunctionMetricAggregator, UnsetType] = unset,
55+
**kwargs,
56+
):
57+
"""
58+
A formula and functions metric query.
59+
60+
:param aggregator: Aggregation methods for metric queries.
61+
:type aggregator: MonitorFormulaAndFunctionMetricAggregator, optional
62+
63+
:param data_source: Data source for metric-based queries.
64+
:type data_source: MonitorFormulaAndFunctionMetricDataSource
65+
66+
:param name: Name of the query for use in formulas.
67+
:type name: str
68+
69+
:param query: The monitor query.
70+
:type query: str
71+
"""
72+
if aggregator is not unset:
73+
kwargs["aggregator"] = aggregator
74+
super().__init__(kwargs)
75+
76+
self_.data_source = data_source
77+
self_.name = name
78+
self_.query = query

src/datadog_api_client/v1/model/monitor_formula_and_function_query_definition.py

+10
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ def __init__(self, **kwargs):
3232
3333
:param search: Search options.
3434
:type search: MonitorFormulaAndFunctionEventQueryDefinitionSearch, optional
35+
36+
:param aggregator: Aggregation methods for metric queries.
37+
:type aggregator: MonitorFormulaAndFunctionMetricAggregator, optional
38+
39+
:param query: The monitor query.
40+
:type query: str
3541
"""
3642
super().__init__(kwargs)
3743

@@ -47,9 +53,13 @@ def _composed_schemas(_):
4753
from datadog_api_client.v1.model.monitor_formula_and_function_event_query_definition import (
4854
MonitorFormulaAndFunctionEventQueryDefinition,
4955
)
56+
from datadog_api_client.v1.model.monitor_formula_and_function_metric_query_definition import (
57+
MonitorFormulaAndFunctionMetricQueryDefinition,
58+
)
5059

5160
return {
5261
"oneOf": [
5362
MonitorFormulaAndFunctionEventQueryDefinition,
63+
MonitorFormulaAndFunctionMetricQueryDefinition,
5464
],
5565
}

0 commit comments

Comments
 (0)