Skip to content

Commit e3d4aa2

Browse files
api-clients-generation-pipeline[bot]amaskara-ddskarimojack-edmonds-ddci.datadog-api-spec
authored
Extend Widget time schema with support for new fixed_span and live_span object (#2097)
* add support for additional:Properties false * enable additionalProperties by default * enabled additionalProps * reduce change size * Update .generator/src/generator/templates/model_generic.j2 Co-authored-by: jack-edmonds-dd <[email protected]> * remove check * Regenerate client from commit 2d21d782 of spec repo --------- Co-authored-by: Anika Maskara <[email protected]> Co-authored-by: api-clients-generation-pipeline[bot] <54105614+api-clients-generation-pipeline[bot]@users.noreply.github.com> Co-authored-by: Sherzod Karimov <[email protected]> Co-authored-by: skarimo <[email protected]> Co-authored-by: jack-edmonds-dd <[email protected]> Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 29cd298 commit e3d4aa2

File tree

64 files changed

+1062
-94
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1062
-94
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": "2024-09-03 15:34:14.357115",
8-
"spec_repo_commit": "e8b83f9d"
7+
"regenerated": "2024-09-03 18:07:22.777136",
8+
"spec_repo_commit": "2d21d782"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-09-03 15:34:14.374041",
13-
"spec_repo_commit": "e8b83f9d"
12+
"regenerated": "2024-09-03 18:07:22.794821",
13+
"spec_repo_commit": "2d21d782"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

+85-4
Original file line numberDiff line numberDiff line change
@@ -21867,6 +21867,13 @@ components:
2186721867
type: string
2186821868
x-enum-varnames:
2186921869
- ORDERED
21870+
WidgetLegacyLiveSpan:
21871+
additionalProperties: false
21872+
description: Wrapper for live span
21873+
properties:
21874+
live_span:
21875+
$ref: '#/components/schemas/WidgetLiveSpan'
21876+
type: object
2187021877
WidgetLegendSize:
2187121878
description: Available legend sizes for a widget. Should be one of "0", "2",
2187221879
"4", "8", "16", or "auto".
@@ -21933,6 +21940,24 @@ components:
2193321940
- MONTH_TO_DATE
2193421941
- PAST_ONE_YEAR
2193521942
- ALERT
21943+
WidgetLiveSpanUnit:
21944+
description: Unit of the time span.
21945+
enum:
21946+
- minute
21947+
- hour
21948+
- day
21949+
- week
21950+
- month
21951+
- year
21952+
example: minute
21953+
type: string
21954+
x-enum-varnames:
21955+
- MINUTE
21956+
- HOUR
21957+
- DAY
21958+
- WEEK
21959+
- MONTH
21960+
- YEAR
2193621961
WidgetMargin:
2193721962
description: 'Size of the margins around the image.
2193821963

@@ -22037,6 +22062,62 @@ components:
2203722062
- TRIGGERED_DESCENDING
2203822063
- PRIORITY_ASCENDING
2203922064
- PRIORITY_DESCENDING
22065+
WidgetNewFixedSpan:
22066+
description: Used for fixed span times, such as 'March 1 to March 7'.
22067+
properties:
22068+
from:
22069+
description: Start time in seconds since epoch.
22070+
example: 1712080128
22071+
format: int64
22072+
minimum: 0
22073+
type: integer
22074+
to:
22075+
description: End time in seconds since epoch.
22076+
example: 1712083128
22077+
format: int64
22078+
minimum: 0
22079+
type: integer
22080+
type:
22081+
$ref: '#/components/schemas/WidgetNewFixedSpanType'
22082+
required:
22083+
- type
22084+
- from
22085+
- to
22086+
type: object
22087+
WidgetNewFixedSpanType:
22088+
description: Type "fixed" denotes a fixed span.
22089+
enum:
22090+
- fixed
22091+
example: fixed
22092+
type: string
22093+
x-enum-varnames:
22094+
- FIXED
22095+
WidgetNewLiveSpan:
22096+
description: Used for arbitrary live span times, such as 17 minutes or 6 hours.
22097+
properties:
22098+
type:
22099+
$ref: '#/components/schemas/WidgetNewLiveSpanType'
22100+
unit:
22101+
$ref: '#/components/schemas/WidgetLiveSpanUnit'
22102+
value:
22103+
description: Value of the time span.
22104+
example: 4
22105+
format: int64
22106+
minimum: 1
22107+
type: integer
22108+
required:
22109+
- type
22110+
- value
22111+
- unit
22112+
type: object
22113+
WidgetNewLiveSpanType:
22114+
description: Type "live" denotes a live span in the new format.
22115+
enum:
22116+
- live
22117+
example: live
22118+
type: string
22119+
x-enum-varnames:
22120+
- LIVE
2204022121
WidgetNodeType:
2204122122
description: Which type of node to use in the map.
2204222123
enum:
@@ -22209,10 +22290,10 @@ components:
2220922290
- TOP
2221022291
WidgetTime:
2221122292
description: Time setting for the widget.
22212-
properties:
22213-
live_span:
22214-
$ref: '#/components/schemas/WidgetLiveSpan'
22215-
type: object
22293+
oneOf:
22294+
- $ref: '#/components/schemas/WidgetLegacyLiveSpan'
22295+
- $ref: '#/components/schemas/WidgetNewLiveSpan'
22296+
- $ref: '#/components/schemas/WidgetNewFixedSpan'
2221622297
WidgetTimeWindows:
2221722298
description: Define a time window.
2221822299
enum:

.generator/src/generator/formatter.py

+3
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,9 @@ def format_data_with_schema_dict(
384384
missing = required_properties - set(data.keys())
385385
if missing:
386386
raise ValueError(f"missing required properties: {missing}")
387+
additional_properties = set(data.keys()) - set(schema["properties"].keys())
388+
if schema.get("additionalProperties") == False and additional_properties:
389+
raise ValueError(f"additional properties not allowed: {additional_properties}")
387390

388391
for k, v in data.items():
389392
if k in schema["properties"]:

docs/datadog_api_client.v1.model.rst

+42
Original file line numberDiff line numberDiff line change
@@ -5919,6 +5919,13 @@ datadog\_api\_client.v1.model.widget\_layout\_type module
59195919
:members:
59205920
:show-inheritance:
59215921

5922+
datadog\_api\_client.v1.model.widget\_legacy\_live\_span module
5923+
---------------------------------------------------------------
5924+
5925+
.. automodule:: datadog_api_client.v1.model.widget_legacy_live_span
5926+
:members:
5927+
:show-inheritance:
5928+
59225929
datadog\_api\_client.v1.model.widget\_line\_type module
59235930
-------------------------------------------------------
59245931

@@ -5940,6 +5947,13 @@ datadog\_api\_client.v1.model.widget\_live\_span module
59405947
:members:
59415948
:show-inheritance:
59425949

5950+
datadog\_api\_client.v1.model.widget\_live\_span\_unit module
5951+
-------------------------------------------------------------
5952+
5953+
.. automodule:: datadog_api_client.v1.model.widget_live_span_unit
5954+
:members:
5955+
:show-inheritance:
5956+
59435957
datadog\_api\_client.v1.model.widget\_margin module
59445958
---------------------------------------------------
59455959

@@ -5975,6 +5989,34 @@ datadog\_api\_client.v1.model.widget\_monitor\_summary\_sort module
59755989
:members:
59765990
:show-inheritance:
59775991

5992+
datadog\_api\_client.v1.model.widget\_new\_fixed\_span module
5993+
-------------------------------------------------------------
5994+
5995+
.. automodule:: datadog_api_client.v1.model.widget_new_fixed_span
5996+
:members:
5997+
:show-inheritance:
5998+
5999+
datadog\_api\_client.v1.model.widget\_new\_fixed\_span\_type module
6000+
-------------------------------------------------------------------
6001+
6002+
.. automodule:: datadog_api_client.v1.model.widget_new_fixed_span_type
6003+
:members:
6004+
:show-inheritance:
6005+
6006+
datadog\_api\_client.v1.model.widget\_new\_live\_span module
6007+
------------------------------------------------------------
6008+
6009+
.. automodule:: datadog_api_client.v1.model.widget_new_live_span
6010+
:members:
6011+
:show-inheritance:
6012+
6013+
datadog\_api\_client.v1.model.widget\_new\_live\_span\_type module
6014+
------------------------------------------------------------------
6015+
6016+
.. automodule:: datadog_api_client.v1.model.widget_new_live_span_type
6017+
:members:
6018+
:show-inheritance:
6019+
59786020
datadog\_api\_client.v1.model.widget\_node\_type module
59796021
-------------------------------------------------------
59806022

examples/v1/dashboards/CreateDashboard_1177423752.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
from datadog_api_client.v1.model.heat_map_widget_request import HeatMapWidgetRequest
1212
from datadog_api_client.v1.model.widget import Widget
1313
from datadog_api_client.v1.model.widget_layout import WidgetLayout
14+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
1415
from datadog_api_client.v1.model.widget_style import WidgetStyle
1516
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
16-
from datadog_api_client.v1.model.widget_time import WidgetTime
1717

1818
body = Dashboard(
1919
title="Example-Dashboard",
@@ -30,7 +30,7 @@
3030
title="",
3131
title_size="16",
3232
title_align=WidgetTextAlign.LEFT,
33-
time=WidgetTime(),
33+
time=WidgetLegacyLiveSpan(),
3434
type=HeatMapWidgetDefinitionType.HEATMAP,
3535
requests=[
3636
HeatMapWidgetRequest(

examples/v1/dashboards/CreateDashboard_1213075383.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
from datadog_api_client.v1.model.widget_formula import WidgetFormula
2626
from datadog_api_client.v1.model.widget_formula_sort import WidgetFormulaSort
2727
from datadog_api_client.v1.model.widget_layout import WidgetLayout
28+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
2829
from datadog_api_client.v1.model.widget_sort import WidgetSort
2930
from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy
3031
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
31-
from datadog_api_client.v1.model.widget_time import WidgetTime
3232

3333
body = Dashboard(
3434
title="Example-Dashboard",
@@ -45,7 +45,7 @@
4545
title="",
4646
title_size="16",
4747
title_align=WidgetTextAlign.LEFT,
48-
time=WidgetTime(),
48+
time=WidgetLegacyLiveSpan(),
4949
style=ToplistWidgetStyle(
5050
display=ToplistWidgetStacked(
5151
type=ToplistWidgetStackedType.STACKED,

examples/v1/dashboards/CreateDashboard_1284514532.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
from datadog_api_client.v1.model.widget import Widget
2020
from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType
2121
from datadog_api_client.v1.model.widget_formula import WidgetFormula
22+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
2223
from datadog_api_client.v1.model.widget_line_type import WidgetLineType
2324
from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth
2425
from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan
2526
from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle
2627
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
27-
from datadog_api_client.v1.model.widget_time import WidgetTime
2828

2929
body = Dashboard(
3030
title="Example-Dashboard",
@@ -58,7 +58,7 @@
5858
display_type=WidgetDisplayType.BARS,
5959
),
6060
],
61-
time=WidgetTime(
61+
time=WidgetLegacyLiveSpan(
6262
live_span=WidgetLiveSpan.WEEK_TO_DATE,
6363
),
6464
),

examples/v1/dashboards/CreateDashboard_1307120899.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
from datadog_api_client.v1.model.widget import Widget
2828
from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType
2929
from datadog_api_client.v1.model.widget_formula import WidgetFormula
30+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
3031
from datadog_api_client.v1.model.widget_line_type import WidgetLineType
3132
from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth
3233
from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle
33-
from datadog_api_client.v1.model.widget_time import WidgetTime
3434

3535
body = Dashboard(
3636
title="Example-Dashboard with ci_tests datasource",
@@ -47,7 +47,7 @@
4747
TimeseriesWidgetLegendColumn.VALUE,
4848
TimeseriesWidgetLegendColumn.SUM,
4949
],
50-
time=WidgetTime(),
50+
time=WidgetLegacyLiveSpan(),
5151
type=TimeseriesWidgetDefinitionType.TIMESERIES,
5252
requests=[
5353
TimeseriesWidgetRequest(

examples/v1/dashboards/CreateDashboard_2064651578.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
from datadog_api_client.v1.model.widget_compare_to import WidgetCompareTo
2727
from datadog_api_client.v1.model.widget_formula import WidgetFormula
2828
from datadog_api_client.v1.model.widget_layout import WidgetLayout
29+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
2930
from datadog_api_client.v1.model.widget_order_by import WidgetOrderBy
3031
from datadog_api_client.v1.model.widget_sort import WidgetSort
3132
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
32-
from datadog_api_client.v1.model.widget_time import WidgetTime
3333

3434
body = Dashboard(
3535
title="Example-Dashboard",
@@ -39,7 +39,7 @@
3939
title="",
4040
title_size="16",
4141
title_align=WidgetTextAlign.LEFT,
42-
time=WidgetTime(),
42+
time=WidgetLegacyLiveSpan(),
4343
type=ChangeWidgetDefinitionType.CHANGE,
4444
requests=[
4545
ChangeWidgetRequest(

examples/v1/dashboards/CreateDashboard_2308247857.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType
1212
from datadog_api_client.v1.model.widget import Widget
1313
from datadog_api_client.v1.model.widget_layout import WidgetLayout
14+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
1415
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
15-
from datadog_api_client.v1.model.widget_time import WidgetTime
1616
from datadog_api_client.v1.model.widget_viz_type import WidgetVizType
1717

1818
# there is a valid "monitor" in the system
@@ -33,7 +33,7 @@
3333
title="",
3434
title_size="16",
3535
title_align=WidgetTextAlign.LEFT,
36-
time=WidgetTime(),
36+
time=WidgetLegacyLiveSpan(),
3737
type=AlertGraphWidgetDefinitionType.ALERT_GRAPH,
3838
alert_id="7",
3939
viz_type=WidgetVizType.TIMESERIES,

examples/v1/dashboards/CreateDashboard_2336428357.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
from datadog_api_client.v1.model.widget_formula import WidgetFormula
2323
from datadog_api_client.v1.model.widget_formula_sort import WidgetFormulaSort
2424
from datadog_api_client.v1.model.widget_layout import WidgetLayout
25+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
2526
from datadog_api_client.v1.model.widget_sort import WidgetSort
2627
from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy
2728
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
28-
from datadog_api_client.v1.model.widget_time import WidgetTime
2929

3030
body = Dashboard(
3131
title="Example-Dashboard",
@@ -42,7 +42,7 @@
4242
title="",
4343
title_size="16",
4444
title_align=WidgetTextAlign.LEFT,
45-
time=WidgetTime(),
45+
time=WidgetLegacyLiveSpan(),
4646
type=TableWidgetDefinitionType.QUERY_TABLE,
4747
requests=[
4848
TableWidgetRequest(

examples/v1/dashboards/CreateDashboard_2342457693.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
from datadog_api_client.v1.model.widget import Widget
2222
from datadog_api_client.v1.model.widget_axis import WidgetAxis
2323
from datadog_api_client.v1.model.widget_layout import WidgetLayout
24+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
2425
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
25-
from datadog_api_client.v1.model.widget_time import WidgetTime
2626

2727
body = Dashboard(
2828
title="Example-Dashboard",
@@ -39,7 +39,7 @@
3939
title="",
4040
title_size="16",
4141
title_align=WidgetTextAlign.LEFT,
42-
time=WidgetTime(),
42+
time=WidgetLegacyLiveSpan(),
4343
type=ScatterPlotWidgetDefinitionType.SCATTERPLOT,
4444
requests=ScatterPlotWidgetDefinitionRequests(
4545
table=ScatterplotTableRequest(

examples/v1/dashboards/CreateDashboard_2349863258.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
from datadog_api_client.v1.model.query_value_widget_request import QueryValueWidgetRequest
1818
from datadog_api_client.v1.model.widget import Widget
1919
from datadog_api_client.v1.model.widget_layout import WidgetLayout
20+
from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan
2021
from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign
21-
from datadog_api_client.v1.model.widget_time import WidgetTime
2222

2323
body = Dashboard(
2424
title="Example-Dashboard",
@@ -35,7 +35,7 @@
3535
title="",
3636
title_size="16",
3737
title_align=WidgetTextAlign.LEFT,
38-
time=WidgetTime(),
38+
time=WidgetLegacyLiveSpan(),
3939
type=QueryValueWidgetDefinitionType.QUERY_VALUE,
4040
requests=[
4141
QueryValueWidgetRequest(

0 commit comments

Comments
 (0)