Skip to content

Commit da1ee9e

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
and
ci.datadog-api-spec
authored
Add trend support for cell_display_mode (#2409)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent ec6ffbc commit da1ee9e

14 files changed

+452
-5
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
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-02-20 18:33:39.071911",
8-
"spec_repo_commit": "d3fcdb89"
7+
"regenerated": "2025-02-21 08:00:34.129753",
8+
"spec_repo_commit": "8f2d39c3"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-02-20 18:33:39.118129",
13-
"spec_repo_commit": "d3fcdb89"
12+
"regenerated": "2025-02-21 08:00:34.144342",
13+
"spec_repo_commit": "8f2d39c3"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17396,11 +17396,13 @@ components:
1739617396
enum:
1739717397
- number
1739817398
- bar
17399+
- trend
1739917400
example: number
1740017401
type: string
1740117402
x-enum-varnames:
1740217403
- NUMBER
1740317404
- BAR
17405+
- TREND
1740417406
TableWidgetDefinition:
1740517407
description: The table visualization is available on timeboards and screenboards.
1740617408
It displays columns of metrics grouped by tag key.
@@ -23089,6 +23091,8 @@ components:
2308923091
type: string
2309023092
cell_display_mode:
2309123093
$ref: '#/components/schemas/TableWidgetCellDisplayMode'
23094+
cell_display_mode_options:
23095+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptions'
2309223096
conditional_formats:
2309323097
description: List of conditional formats.
2309423098
items:
@@ -23107,6 +23111,37 @@ components:
2310723111
required:
2310823112
- formula
2310923113
type: object
23114+
WidgetFormulaCellDisplayModeOptions:
23115+
description: Cell display mode options for the widget formula. (only if `cell_display_mode`
23116+
is set to `trend`).
23117+
properties:
23118+
trend_type:
23119+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsTrendType'
23120+
y_scale:
23121+
$ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsYScale'
23122+
type: object
23123+
WidgetFormulaCellDisplayModeOptionsTrendType:
23124+
description: Trend type for the cell display mode options.
23125+
enum:
23126+
- area
23127+
- line
23128+
- bars
23129+
example: area
23130+
type: string
23131+
x-enum-varnames:
23132+
- AREA
23133+
- LINE
23134+
- BARS
23135+
WidgetFormulaCellDisplayModeOptionsYScale:
23136+
description: Y scale for the cell display mode options.
23137+
enum:
23138+
- shared
23139+
- independent
23140+
example: shared
23141+
type: string
23142+
x-enum-varnames:
23143+
- SHARED
23144+
- INDEPENDENT
2311023145
WidgetFormulaLimit:
2311123146
description: Options for limiting results returned.
2311223147
properties:

docs/datadog_api_client.v1.model.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6178,6 +6178,27 @@ datadog\_api\_client.v1.model.widget\_formula module
61786178
:members:
61796179
:show-inheritance:
61806180

6181+
datadog\_api\_client.v1.model.widget\_formula\_cell\_display\_mode\_options module
6182+
----------------------------------------------------------------------------------
6183+
6184+
.. automodule:: datadog_api_client.v1.model.widget_formula_cell_display_mode_options
6185+
:members:
6186+
:show-inheritance:
6187+
6188+
datadog\_api\_client.v1.model.widget\_formula\_cell\_display\_mode\_options\_trend\_type module
6189+
-----------------------------------------------------------------------------------------------
6190+
6191+
.. automodule:: datadog_api_client.v1.model.widget_formula_cell_display_mode_options_trend_type
6192+
:members:
6193+
:show-inheritance:
6194+
6195+
datadog\_api\_client.v1.model.widget\_formula\_cell\_display\_mode\_options\_y\_scale module
6196+
--------------------------------------------------------------------------------------------
6197+
6198+
.. automodule:: datadog_api_client.v1.model.widget_formula_cell_display_mode_options_y_scale
6199+
:members:
6200+
:show-inheritance:
6201+
61816202
datadog\_api\_client.v1.model.widget\_formula\_limit module
61826203
-----------------------------------------------------------
61836204

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
"""
2+
Create a new dashboard with query_table widget and cell_display_mode is trend
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
7+
from datadog_api_client.v1.model.dashboard import Dashboard
8+
from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType
9+
from datadog_api_client.v1.model.formula_and_function_metric_aggregation import FormulaAndFunctionMetricAggregation
10+
from datadog_api_client.v1.model.formula_and_function_metric_data_source import FormulaAndFunctionMetricDataSource
11+
from datadog_api_client.v1.model.formula_and_function_metric_query_definition import (
12+
FormulaAndFunctionMetricQueryDefinition,
13+
)
14+
from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat
15+
from datadog_api_client.v1.model.formula_type import FormulaType
16+
from datadog_api_client.v1.model.table_widget_cell_display_mode import TableWidgetCellDisplayMode
17+
from datadog_api_client.v1.model.table_widget_definition import TableWidgetDefinition
18+
from datadog_api_client.v1.model.table_widget_definition_type import TableWidgetDefinitionType
19+
from datadog_api_client.v1.model.table_widget_has_search_bar import TableWidgetHasSearchBar
20+
from datadog_api_client.v1.model.table_widget_request import TableWidgetRequest
21+
from datadog_api_client.v1.model.widget import Widget
22+
from datadog_api_client.v1.model.widget_formula import WidgetFormula
23+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options import WidgetFormulaCellDisplayModeOptions
24+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options_trend_type import (
25+
WidgetFormulaCellDisplayModeOptionsTrendType,
26+
)
27+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options_y_scale import (
28+
WidgetFormulaCellDisplayModeOptionsYScale,
29+
)
30+
from datadog_api_client.v1.model.widget_formula_sort import WidgetFormulaSort
31+
from datadog_api_client.v1.model.widget_layout import WidgetLayout
32+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
33+
from datadog_api_client.v1.model.widget_sort import WidgetSort
34+
from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy
35+
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
36+
37+
body = Dashboard(
38+
title="Example-Dashboard",
39+
description="",
40+
widgets=[
41+
Widget(
42+
layout=WidgetLayout(
43+
x=0,
44+
y=0,
45+
width=54,
46+
height=32,
47+
),
48+
definition=TableWidgetDefinition(
49+
title="",
50+
title_size="16",
51+
title_align=WidgetTextAlign.LEFT,
52+
time=WidgetLegacyLiveSpan(),
53+
type=TableWidgetDefinitionType.QUERY_TABLE,
54+
requests=[
55+
TableWidgetRequest(
56+
queries=[
57+
FormulaAndFunctionMetricQueryDefinition(
58+
data_source=FormulaAndFunctionMetricDataSource.METRICS,
59+
name="query1",
60+
query="avg:system.cpu.user{*} by {host}",
61+
aggregator=FormulaAndFunctionMetricAggregation.AVG,
62+
),
63+
],
64+
formulas=[
65+
WidgetFormula(
66+
formula="query1",
67+
conditional_formats=[],
68+
cell_display_mode=TableWidgetCellDisplayMode.TREND,
69+
cell_display_mode_options=WidgetFormulaCellDisplayModeOptions(
70+
trend_type=WidgetFormulaCellDisplayModeOptionsTrendType.LINE,
71+
y_scale=WidgetFormulaCellDisplayModeOptionsYScale.SHARED,
72+
),
73+
),
74+
],
75+
sort=WidgetSortBy(
76+
count=500,
77+
order_by=[
78+
WidgetFormulaSort(
79+
type=FormulaType.FORMULA,
80+
index=0,
81+
order=WidgetSort.DESCENDING,
82+
),
83+
],
84+
),
85+
response_format=FormulaAndFunctionResponseFormat.SCALAR,
86+
),
87+
],
88+
has_search_bar=TableWidgetHasSearchBar.AUTO,
89+
),
90+
),
91+
],
92+
template_variables=[],
93+
layout_type=DashboardLayoutType.FREE,
94+
notify_list=[],
95+
)
96+
97+
configuration = Configuration()
98+
with ApiClient(configuration) as api_client:
99+
api_instance = DashboardsApi(api_client)
100+
response = api_instance.create_dashboard(body=body)
101+
102+
print(response)

src/datadog_api_client/v1/model/table_widget_cell_display_mode.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ class TableWidgetCellDisplayMode(ModelSimple):
1616
"""
1717
Define a display mode for the table cell.
1818
19-
:param value: Must be one of ["number", "bar"].
19+
:param value: Must be one of ["number", "bar", "trend"].
2020
:type value: str
2121
"""
2222

2323
allowed_values = {
2424
"number",
2525
"bar",
26+
"trend",
2627
}
2728
NUMBER: ClassVar["TableWidgetCellDisplayMode"]
2829
BAR: ClassVar["TableWidgetCellDisplayMode"]
30+
TREND: ClassVar["TableWidgetCellDisplayMode"]
2931

3032
@cached_property
3133
def openapi_types(_):
@@ -36,3 +38,4 @@ def openapi_types(_):
3638

3739
TableWidgetCellDisplayMode.NUMBER = TableWidgetCellDisplayMode("number")
3840
TableWidgetCellDisplayMode.BAR = TableWidgetCellDisplayMode("bar")
41+
TableWidgetCellDisplayMode.TREND = TableWidgetCellDisplayMode("trend")

src/datadog_api_client/v1/model/widget_formula.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
if TYPE_CHECKING:
1717
from datadog_api_client.v1.model.table_widget_cell_display_mode import TableWidgetCellDisplayMode
18+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options import WidgetFormulaCellDisplayModeOptions
1819
from datadog_api_client.v1.model.widget_conditional_format import WidgetConditionalFormat
1920
from datadog_api_client.v1.model.widget_formula_limit import WidgetFormulaLimit
2021
from datadog_api_client.v1.model.widget_number_format import WidgetNumberFormat
@@ -25,6 +26,9 @@ class WidgetFormula(ModelNormal):
2526
@cached_property
2627
def openapi_types(_):
2728
from datadog_api_client.v1.model.table_widget_cell_display_mode import TableWidgetCellDisplayMode
29+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options import (
30+
WidgetFormulaCellDisplayModeOptions,
31+
)
2832
from datadog_api_client.v1.model.widget_conditional_format import WidgetConditionalFormat
2933
from datadog_api_client.v1.model.widget_formula_limit import WidgetFormulaLimit
3034
from datadog_api_client.v1.model.widget_number_format import WidgetNumberFormat
@@ -33,6 +37,7 @@ def openapi_types(_):
3337
return {
3438
"alias": (str,),
3539
"cell_display_mode": (TableWidgetCellDisplayMode,),
40+
"cell_display_mode_options": (WidgetFormulaCellDisplayModeOptions,),
3641
"conditional_formats": ([WidgetConditionalFormat],),
3742
"formula": (str,),
3843
"limit": (WidgetFormulaLimit,),
@@ -43,6 +48,7 @@ def openapi_types(_):
4348
attribute_map = {
4449
"alias": "alias",
4550
"cell_display_mode": "cell_display_mode",
51+
"cell_display_mode_options": "cell_display_mode_options",
4652
"conditional_formats": "conditional_formats",
4753
"formula": "formula",
4854
"limit": "limit",
@@ -55,6 +61,7 @@ def __init__(
5561
formula: str,
5662
alias: Union[str, UnsetType] = unset,
5763
cell_display_mode: Union[TableWidgetCellDisplayMode, UnsetType] = unset,
64+
cell_display_mode_options: Union[WidgetFormulaCellDisplayModeOptions, UnsetType] = unset,
5865
conditional_formats: Union[List[WidgetConditionalFormat], UnsetType] = unset,
5966
limit: Union[WidgetFormulaLimit, UnsetType] = unset,
6067
number_format: Union[WidgetNumberFormat, UnsetType] = unset,
@@ -70,6 +77,9 @@ def __init__(
7077
:param cell_display_mode: Define a display mode for the table cell.
7178
:type cell_display_mode: TableWidgetCellDisplayMode, optional
7279
80+
:param cell_display_mode_options: Cell display mode options for the widget formula. (only if ``cell_display_mode`` is set to ``trend`` ).
81+
:type cell_display_mode_options: WidgetFormulaCellDisplayModeOptions, optional
82+
7383
:param conditional_formats: List of conditional formats.
7484
:type conditional_formats: [WidgetConditionalFormat], optional
7585
@@ -89,6 +99,8 @@ def __init__(
8999
kwargs["alias"] = alias
90100
if cell_display_mode is not unset:
91101
kwargs["cell_display_mode"] = cell_display_mode
102+
if cell_display_mode_options is not unset:
103+
kwargs["cell_display_mode_options"] = cell_display_mode_options
92104
if conditional_formats is not unset:
93105
kwargs["conditional_formats"] = conditional_formats
94106
if limit is not unset:
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+
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.widget_formula_cell_display_mode_options_trend_type import (
18+
WidgetFormulaCellDisplayModeOptionsTrendType,
19+
)
20+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options_y_scale import (
21+
WidgetFormulaCellDisplayModeOptionsYScale,
22+
)
23+
24+
25+
class WidgetFormulaCellDisplayModeOptions(ModelNormal):
26+
@cached_property
27+
def openapi_types(_):
28+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options_trend_type import (
29+
WidgetFormulaCellDisplayModeOptionsTrendType,
30+
)
31+
from datadog_api_client.v1.model.widget_formula_cell_display_mode_options_y_scale import (
32+
WidgetFormulaCellDisplayModeOptionsYScale,
33+
)
34+
35+
return {
36+
"trend_type": (WidgetFormulaCellDisplayModeOptionsTrendType,),
37+
"y_scale": (WidgetFormulaCellDisplayModeOptionsYScale,),
38+
}
39+
40+
attribute_map = {
41+
"trend_type": "trend_type",
42+
"y_scale": "y_scale",
43+
}
44+
45+
def __init__(
46+
self_,
47+
trend_type: Union[WidgetFormulaCellDisplayModeOptionsTrendType, UnsetType] = unset,
48+
y_scale: Union[WidgetFormulaCellDisplayModeOptionsYScale, UnsetType] = unset,
49+
**kwargs,
50+
):
51+
"""
52+
Cell display mode options for the widget formula. (only if ``cell_display_mode`` is set to ``trend`` ).
53+
54+
:param trend_type: Trend type for the cell display mode options.
55+
:type trend_type: WidgetFormulaCellDisplayModeOptionsTrendType, optional
56+
57+
:param y_scale: Y scale for the cell display mode options.
58+
:type y_scale: WidgetFormulaCellDisplayModeOptionsYScale, optional
59+
"""
60+
if trend_type is not unset:
61+
kwargs["trend_type"] = trend_type
62+
if y_scale is not unset:
63+
kwargs["y_scale"] = y_scale
64+
super().__init__(kwargs)

0 commit comments

Comments
 (0)