Skip to content

Commit dcdecb6

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

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-17 11:27:45.789533",
8+
"spec_repo_commit": "b7112c44"
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-17 11:27:45.804818",
13+
"spec_repo_commit": "b7112c44"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

+57
Original file line numberDiff line numberDiff line change
@@ -6784,6 +6784,62 @@ components:
67846784
- FIREFOX_LAPTOP_LARGE
67856785
- FIREFOX_TABLET
67866786
- FIREFOX_MOBILE_SMALL
6787+
MonitorFormulaAndFunctionCostAggregator:
6788+
description: Aggregation methods for metric queries.
6789+
enum:
6790+
- avg
6791+
- sum
6792+
- max
6793+
- min
6794+
- last
6795+
- area
6796+
- l2norm
6797+
- percentile
6798+
- stddev
6799+
example: avg
6800+
type: string
6801+
x-enum-varnames:
6802+
- AVG
6803+
- SUM
6804+
- MAX
6805+
- MIN
6806+
- LAST
6807+
- AREA
6808+
- L2NORM
6809+
- PERCENTILE
6810+
- STDDEV
6811+
MonitorFormulaAndFunctionCostDataSource:
6812+
description: Data source for cost queries.
6813+
enum:
6814+
- metrics
6815+
- cloud_cost
6816+
- datadog_usage
6817+
example: cloud_cost
6818+
type: string
6819+
x-enum-varnames:
6820+
- METRICS
6821+
- CLOUD_COST
6822+
- DATADOG_USAGE
6823+
MonitorFormulaAndFunctionCostQueryDefinition:
6824+
description: A formula and functions cost query.
6825+
properties:
6826+
aggregator:
6827+
$ref: '#/components/schemas/MonitorFormulaAndFunctionCostAggregator'
6828+
data_source:
6829+
$ref: '#/components/schemas/MonitorFormulaAndFunctionCostDataSource'
6830+
name:
6831+
description: Name of the query for use in formulas.
6832+
example: query1
6833+
type: string
6834+
query:
6835+
description: The monitor query.
6836+
example: sum:all.cost{*}.rollup(sum, 86400)
6837+
type: string
6838+
required:
6839+
- name
6840+
- data_source
6841+
- query
6842+
type: object
67876843
MonitorFormulaAndFunctionEventAggregation:
67886844
description: Aggregation methods for event platform queries.
67896845
enum:
@@ -6934,6 +6990,7 @@ components:
69346990
description: A formula and function query.
69356991
oneOf:
69366992
- $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinition'
6993+
- $ref: '#/components/schemas/MonitorFormulaAndFunctionCostQueryDefinition'
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
@@ -2027,6 +2027,27 @@ datadog\_api\_client.v1.model.monitor\_device\_id module
20272027
:members:
20282028
:show-inheritance:
20292029

2030+
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_cost\_aggregator module
2031+
--------------------------------------------------------------------------------------
2032+
2033+
.. automodule:: datadog_api_client.v1.model.monitor_formula_and_function_cost_aggregator
2034+
:members:
2035+
:show-inheritance:
2036+
2037+
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_cost\_data\_source module
2038+
----------------------------------------------------------------------------------------
2039+
2040+
.. automodule:: datadog_api_client.v1.model.monitor_formula_and_function_cost_data_source
2041+
:members:
2042+
:show-inheritance:
2043+
2044+
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_cost\_query\_definition module
2045+
---------------------------------------------------------------------------------------------
2046+
2047+
.. automodule:: datadog_api_client.v1.model.monitor_formula_and_function_cost_query_definition
2048+
:members:
2049+
:show-inheritance:
2050+
20302051
datadog\_api\_client.v1.model.monitor\_formula\_and\_function\_event\_aggregation module
20312052
----------------------------------------------------------------------------------------
20322053

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_cost_aggregator import (
9+
MonitorFormulaAndFunctionCostAggregator,
10+
)
11+
from datadog_api_client.v1.model.monitor_formula_and_function_cost_data_source import (
12+
MonitorFormulaAndFunctionCostDataSource,
13+
)
14+
from datadog_api_client.v1.model.monitor_formula_and_function_cost_query_definition import (
15+
MonitorFormulaAndFunctionCostQueryDefinition,
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+
MonitorFormulaAndFunctionCostQueryDefinition(
38+
data_source=MonitorFormulaAndFunctionCostDataSource.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=MonitorFormulaAndFunctionCostAggregator.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 MonitorFormulaAndFunctionCostAggregator(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["MonitorFormulaAndFunctionCostAggregator"]
35+
SUM: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
36+
MAX: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
37+
MIN: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
38+
LAST: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
39+
AREA: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
40+
L2NORM: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
41+
PERCENTILE: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
42+
STDDEV: ClassVar["MonitorFormulaAndFunctionCostAggregator"]
43+
44+
@cached_property
45+
def openapi_types(_):
46+
return {
47+
"value": (str,),
48+
}
49+
50+
51+
MonitorFormulaAndFunctionCostAggregator.AVG = MonitorFormulaAndFunctionCostAggregator("avg")
52+
MonitorFormulaAndFunctionCostAggregator.SUM = MonitorFormulaAndFunctionCostAggregator("sum")
53+
MonitorFormulaAndFunctionCostAggregator.MAX = MonitorFormulaAndFunctionCostAggregator("max")
54+
MonitorFormulaAndFunctionCostAggregator.MIN = MonitorFormulaAndFunctionCostAggregator("min")
55+
MonitorFormulaAndFunctionCostAggregator.LAST = MonitorFormulaAndFunctionCostAggregator("last")
56+
MonitorFormulaAndFunctionCostAggregator.AREA = MonitorFormulaAndFunctionCostAggregator("area")
57+
MonitorFormulaAndFunctionCostAggregator.L2NORM = MonitorFormulaAndFunctionCostAggregator("l2norm")
58+
MonitorFormulaAndFunctionCostAggregator.PERCENTILE = MonitorFormulaAndFunctionCostAggregator("percentile")
59+
MonitorFormulaAndFunctionCostAggregator.STDDEV = MonitorFormulaAndFunctionCostAggregator("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 MonitorFormulaAndFunctionCostDataSource(ModelSimple):
16+
"""
17+
Data source for cost 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["MonitorFormulaAndFunctionCostDataSource"]
29+
CLOUD_COST: ClassVar["MonitorFormulaAndFunctionCostDataSource"]
30+
DATADOG_USAGE: ClassVar["MonitorFormulaAndFunctionCostDataSource"]
31+
32+
@cached_property
33+
def openapi_types(_):
34+
return {
35+
"value": (str,),
36+
}
37+
38+
39+
MonitorFormulaAndFunctionCostDataSource.METRICS = MonitorFormulaAndFunctionCostDataSource("metrics")
40+
MonitorFormulaAndFunctionCostDataSource.CLOUD_COST = MonitorFormulaAndFunctionCostDataSource("cloud_cost")
41+
MonitorFormulaAndFunctionCostDataSource.DATADOG_USAGE = MonitorFormulaAndFunctionCostDataSource("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_cost_aggregator import (
18+
MonitorFormulaAndFunctionCostAggregator,
19+
)
20+
from datadog_api_client.v1.model.monitor_formula_and_function_cost_data_source import (
21+
MonitorFormulaAndFunctionCostDataSource,
22+
)
23+
24+
25+
class MonitorFormulaAndFunctionCostQueryDefinition(ModelNormal):
26+
@cached_property
27+
def openapi_types(_):
28+
from datadog_api_client.v1.model.monitor_formula_and_function_cost_aggregator import (
29+
MonitorFormulaAndFunctionCostAggregator,
30+
)
31+
from datadog_api_client.v1.model.monitor_formula_and_function_cost_data_source import (
32+
MonitorFormulaAndFunctionCostDataSource,
33+
)
34+
35+
return {
36+
"aggregator": (MonitorFormulaAndFunctionCostAggregator,),
37+
"data_source": (MonitorFormulaAndFunctionCostDataSource,),
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: MonitorFormulaAndFunctionCostDataSource,
52+
name: str,
53+
query: str,
54+
aggregator: Union[MonitorFormulaAndFunctionCostAggregator, UnsetType] = unset,
55+
**kwargs,
56+
):
57+
"""
58+
A formula and functions cost query.
59+
60+
:param aggregator: Aggregation methods for metric queries.
61+
:type aggregator: MonitorFormulaAndFunctionCostAggregator, optional
62+
63+
:param data_source: Data source for cost queries.
64+
:type data_source: MonitorFormulaAndFunctionCostDataSource
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: MonitorFormulaAndFunctionCostAggregator, 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_cost_query_definition import (
57+
MonitorFormulaAndFunctionCostQueryDefinition,
58+
)
5059

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

0 commit comments

Comments
 (0)