diff --git a/.apigentools-info b/.apigentools-info index f227efd64d..f95348d048 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2024-09-03 15:34:14.357115", - "spec_repo_commit": "e8b83f9d" + "regenerated": "2024-09-03 18:07:22.777136", + "spec_repo_commit": "2d21d782" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2024-09-03 15:34:14.374041", - "spec_repo_commit": "e8b83f9d" + "regenerated": "2024-09-03 18:07:22.794821", + "spec_repo_commit": "2d21d782" } } } \ No newline at end of file diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 92975e5d09..c4d126880c 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -21867,6 +21867,13 @@ components: type: string x-enum-varnames: - ORDERED + WidgetLegacyLiveSpan: + additionalProperties: false + description: Wrapper for live span + properties: + live_span: + $ref: '#/components/schemas/WidgetLiveSpan' + type: object WidgetLegendSize: description: Available legend sizes for a widget. Should be one of "0", "2", "4", "8", "16", or "auto". @@ -21933,6 +21940,24 @@ components: - MONTH_TO_DATE - PAST_ONE_YEAR - ALERT + WidgetLiveSpanUnit: + description: Unit of the time span. + enum: + - minute + - hour + - day + - week + - month + - year + example: minute + type: string + x-enum-varnames: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - YEAR WidgetMargin: description: 'Size of the margins around the image. @@ -22037,6 +22062,62 @@ components: - TRIGGERED_DESCENDING - PRIORITY_ASCENDING - PRIORITY_DESCENDING + WidgetNewFixedSpan: + description: Used for fixed span times, such as 'March 1 to March 7'. + properties: + from: + description: Start time in seconds since epoch. + example: 1712080128 + format: int64 + minimum: 0 + type: integer + to: + description: End time in seconds since epoch. + example: 1712083128 + format: int64 + minimum: 0 + type: integer + type: + $ref: '#/components/schemas/WidgetNewFixedSpanType' + required: + - type + - from + - to + type: object + WidgetNewFixedSpanType: + description: Type "fixed" denotes a fixed span. + enum: + - fixed + example: fixed + type: string + x-enum-varnames: + - FIXED + WidgetNewLiveSpan: + description: Used for arbitrary live span times, such as 17 minutes or 6 hours. + properties: + type: + $ref: '#/components/schemas/WidgetNewLiveSpanType' + unit: + $ref: '#/components/schemas/WidgetLiveSpanUnit' + value: + description: Value of the time span. + example: 4 + format: int64 + minimum: 1 + type: integer + required: + - type + - value + - unit + type: object + WidgetNewLiveSpanType: + description: Type "live" denotes a live span in the new format. + enum: + - live + example: live + type: string + x-enum-varnames: + - LIVE WidgetNodeType: description: Which type of node to use in the map. enum: @@ -22209,10 +22290,10 @@ components: - TOP WidgetTime: description: Time setting for the widget. - properties: - live_span: - $ref: '#/components/schemas/WidgetLiveSpan' - type: object + oneOf: + - $ref: '#/components/schemas/WidgetLegacyLiveSpan' + - $ref: '#/components/schemas/WidgetNewLiveSpan' + - $ref: '#/components/schemas/WidgetNewFixedSpan' WidgetTimeWindows: description: Define a time window. enum: diff --git a/.generator/src/generator/formatter.py b/.generator/src/generator/formatter.py index c8684d0065..a3555bc6b9 100644 --- a/.generator/src/generator/formatter.py +++ b/.generator/src/generator/formatter.py @@ -384,6 +384,9 @@ def format_data_with_schema_dict( missing = required_properties - set(data.keys()) if missing: raise ValueError(f"missing required properties: {missing}") + additional_properties = set(data.keys()) - set(schema["properties"].keys()) + if schema.get("additionalProperties") == False and additional_properties: + raise ValueError(f"additional properties not allowed: {additional_properties}") for k, v in data.items(): if k in schema["properties"]: diff --git a/docs/datadog_api_client.v1.model.rst b/docs/datadog_api_client.v1.model.rst index 17db824de3..1f79d7d684 100644 --- a/docs/datadog_api_client.v1.model.rst +++ b/docs/datadog_api_client.v1.model.rst @@ -5919,6 +5919,13 @@ datadog\_api\_client.v1.model.widget\_layout\_type module :members: :show-inheritance: +datadog\_api\_client.v1.model.widget\_legacy\_live\_span module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v1.model.widget_legacy_live_span + :members: + :show-inheritance: + datadog\_api\_client.v1.model.widget\_line\_type module ------------------------------------------------------- @@ -5940,6 +5947,13 @@ datadog\_api\_client.v1.model.widget\_live\_span module :members: :show-inheritance: +datadog\_api\_client.v1.model.widget\_live\_span\_unit module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v1.model.widget_live_span_unit + :members: + :show-inheritance: + datadog\_api\_client.v1.model.widget\_margin module --------------------------------------------------- @@ -5975,6 +5989,34 @@ datadog\_api\_client.v1.model.widget\_monitor\_summary\_sort module :members: :show-inheritance: +datadog\_api\_client.v1.model.widget\_new\_fixed\_span module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v1.model.widget_new_fixed_span + :members: + :show-inheritance: + +datadog\_api\_client.v1.model.widget\_new\_fixed\_span\_type module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v1.model.widget_new_fixed_span_type + :members: + :show-inheritance: + +datadog\_api\_client.v1.model.widget\_new\_live\_span module +------------------------------------------------------------ + +.. automodule:: datadog_api_client.v1.model.widget_new_live_span + :members: + :show-inheritance: + +datadog\_api\_client.v1.model.widget\_new\_live\_span\_type module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v1.model.widget_new_live_span_type + :members: + :show-inheritance: + datadog\_api\_client.v1.model.widget\_node\_type module ------------------------------------------------------- diff --git a/examples/v1/dashboards/CreateDashboard_1177423752.py b/examples/v1/dashboards/CreateDashboard_1177423752.py index 1e4fed7d84..88c79736d3 100644 --- a/examples/v1/dashboards/CreateDashboard_1177423752.py +++ b/examples/v1/dashboards/CreateDashboard_1177423752.py @@ -11,9 +11,9 @@ from datadog_api_client.v1.model.heat_map_widget_request import HeatMapWidgetRequest from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_style import WidgetStyle from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -30,7 +30,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=HeatMapWidgetDefinitionType.HEATMAP, requests=[ HeatMapWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_1213075383.py b/examples/v1/dashboards/CreateDashboard_1213075383.py index fa1587a833..ca3f7822de 100644 --- a/examples/v1/dashboards/CreateDashboard_1213075383.py +++ b/examples/v1/dashboards/CreateDashboard_1213075383.py @@ -25,10 +25,10 @@ from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_formula_sort import WidgetFormulaSort from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -45,7 +45,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), style=ToplistWidgetStyle( display=ToplistWidgetStacked( type=ToplistWidgetStackedType.STACKED, diff --git a/examples/v1/dashboards/CreateDashboard_1284514532.py b/examples/v1/dashboards/CreateDashboard_1284514532.py index 64e7cb0e46..9604e504b5 100644 --- a/examples/v1/dashboards/CreateDashboard_1284514532.py +++ b/examples/v1/dashboards/CreateDashboard_1284514532.py @@ -19,12 +19,12 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_line_type import WidgetLineType from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -58,7 +58,7 @@ display_type=WidgetDisplayType.BARS, ), ], - time=WidgetTime( + time=WidgetLegacyLiveSpan( live_span=WidgetLiveSpan.WEEK_TO_DATE, ), ), diff --git a/examples/v1/dashboards/CreateDashboard_1307120899.py b/examples/v1/dashboards/CreateDashboard_1307120899.py index 0cb85eda52..3fbbef0b5f 100644 --- a/examples/v1/dashboards/CreateDashboard_1307120899.py +++ b/examples/v1/dashboards/CreateDashboard_1307120899.py @@ -27,10 +27,10 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_line_type import WidgetLineType from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard with ci_tests datasource", @@ -47,7 +47,7 @@ TimeseriesWidgetLegendColumn.VALUE, TimeseriesWidgetLegendColumn.SUM, ], - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=TimeseriesWidgetDefinitionType.TIMESERIES, requests=[ TimeseriesWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2064651578.py b/examples/v1/dashboards/CreateDashboard_2064651578.py index 81c7a63675..30d4a0e328 100644 --- a/examples/v1/dashboards/CreateDashboard_2064651578.py +++ b/examples/v1/dashboards/CreateDashboard_2064651578.py @@ -26,10 +26,10 @@ from datadog_api_client.v1.model.widget_compare_to import WidgetCompareTo from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_order_by import WidgetOrderBy from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -39,7 +39,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=ChangeWidgetDefinitionType.CHANGE, requests=[ ChangeWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2308247857.py b/examples/v1/dashboards/CreateDashboard_2308247857.py index db8e716ef6..ce745a3756 100644 --- a/examples/v1/dashboards/CreateDashboard_2308247857.py +++ b/examples/v1/dashboards/CreateDashboard_2308247857.py @@ -11,8 +11,8 @@ from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_viz_type import WidgetVizType # there is a valid "monitor" in the system @@ -33,7 +33,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=AlertGraphWidgetDefinitionType.ALERT_GRAPH, alert_id="7", viz_type=WidgetVizType.TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_2336428357.py b/examples/v1/dashboards/CreateDashboard_2336428357.py index 2e61d226d5..9e1486a7ad 100644 --- a/examples/v1/dashboards/CreateDashboard_2336428357.py +++ b/examples/v1/dashboards/CreateDashboard_2336428357.py @@ -22,10 +22,10 @@ from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_formula_sort import WidgetFormulaSort from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -42,7 +42,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=TableWidgetDefinitionType.QUERY_TABLE, requests=[ TableWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2342457693.py b/examples/v1/dashboards/CreateDashboard_2342457693.py index 4cb3deb9d8..4de2ffa9f1 100644 --- a/examples/v1/dashboards/CreateDashboard_2342457693.py +++ b/examples/v1/dashboards/CreateDashboard_2342457693.py @@ -21,8 +21,8 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_axis import WidgetAxis from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -39,7 +39,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=ScatterPlotWidgetDefinitionType.SCATTERPLOT, requests=ScatterPlotWidgetDefinitionRequests( table=ScatterplotTableRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2349863258.py b/examples/v1/dashboards/CreateDashboard_2349863258.py index fc6ec3510f..fdf5134e4e 100644 --- a/examples/v1/dashboards/CreateDashboard_2349863258.py +++ b/examples/v1/dashboards/CreateDashboard_2349863258.py @@ -17,8 +17,8 @@ from datadog_api_client.v1.model.query_value_widget_request import QueryValueWidgetRequest from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -35,7 +35,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=QueryValueWidgetDefinitionType.QUERY_VALUE, requests=[ QueryValueWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2563642929.py b/examples/v1/dashboards/CreateDashboard_2563642929.py index 4c52304b30..f4aada3a18 100644 --- a/examples/v1/dashboards/CreateDashboard_2563642929.py +++ b/examples/v1/dashboards/CreateDashboard_2563642929.py @@ -25,10 +25,10 @@ from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_group_sort import WidgetGroupSort from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -45,7 +45,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), style=ToplistWidgetStyle( display=ToplistWidgetStacked( type=ToplistWidgetStackedType.STACKED, diff --git a/examples/v1/dashboards/CreateDashboard_2610827685.py b/examples/v1/dashboards/CreateDashboard_2610827685.py index 688989d837..a768f8c7dd 100644 --- a/examples/v1/dashboards/CreateDashboard_2610827685.py +++ b/examples/v1/dashboards/CreateDashboard_2610827685.py @@ -11,8 +11,8 @@ from datadog_api_client.v1.model.run_workflow_widget_input import RunWorkflowWidgetInput from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -29,7 +29,7 @@ title="Run workflow title", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=RunWorkflowWidgetDefinitionType.RUN_WORKFLOW, workflow_id="2e055f16-8b6a-4cdd-b452-17a34c44b160", inputs=[ diff --git a/examples/v1/dashboards/CreateDashboard_2644712913.py b/examples/v1/dashboards/CreateDashboard_2644712913.py index 43a02f7893..d8a21eb492 100644 --- a/examples/v1/dashboards/CreateDashboard_2644712913.py +++ b/examples/v1/dashboards/CreateDashboard_2644712913.py @@ -18,8 +18,8 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( layout_type=DashboardLayoutType.ORDERED, @@ -31,7 +31,7 @@ title="", title_align=WidgetTextAlign.LEFT, precision=2, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), autoscale=True, requests=[ QueryValueWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2800096921.py b/examples/v1/dashboards/CreateDashboard_2800096921.py index 56654311b4..cb085e56a0 100644 --- a/examples/v1/dashboards/CreateDashboard_2800096921.py +++ b/examples/v1/dashboards/CreateDashboard_2800096921.py @@ -27,10 +27,10 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_line_type import WidgetLineType from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard with ci_pipelines datasource", @@ -47,7 +47,7 @@ TimeseriesWidgetLegendColumn.VALUE, TimeseriesWidgetLegendColumn.SUM, ], - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=TimeseriesWidgetDefinitionType.TIMESERIES, requests=[ TimeseriesWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_2921337351.py b/examples/v1/dashboards/CreateDashboard_2921337351.py index d3ca0db1a2..cbaa7dc66c 100644 --- a/examples/v1/dashboards/CreateDashboard_2921337351.py +++ b/examples/v1/dashboards/CreateDashboard_2921337351.py @@ -10,9 +10,9 @@ from datadog_api_client.v1.model.service_summary_widget_definition_type import ServiceSummaryWidgetDefinitionType from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_service_summary_display_format import WidgetServiceSummaryDisplayFormat from datadog_api_client.v1.model.widget_size_format import WidgetSizeFormat -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -27,7 +27,7 @@ ), definition=ServiceSummaryWidgetDefinition( title="Service Summary", - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=ServiceSummaryWidgetDefinitionType.TRACE_SERVICE, env="none", service="", diff --git a/examples/v1/dashboards/CreateDashboard_3066042014.py b/examples/v1/dashboards/CreateDashboard_3066042014.py new file mode 100644 index 0000000000..c63dbcae6d --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_3066042014.py @@ -0,0 +1,103 @@ +""" +Create a new timeseries widget with new live span time format +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v1.api.dashboards_api import DashboardsApi +from datadog_api_client.v1.model.dashboard import Dashboard +from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType +from datadog_api_client.v1.model.dashboard_reflow_type import DashboardReflowType +from datadog_api_client.v1.model.formula_and_function_event_aggregation import FormulaAndFunctionEventAggregation +from datadog_api_client.v1.model.formula_and_function_event_query_definition import ( + FormulaAndFunctionEventQueryDefinition, +) +from datadog_api_client.v1.model.formula_and_function_event_query_definition_compute import ( + FormulaAndFunctionEventQueryDefinitionCompute, +) +from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import ( + FormulaAndFunctionEventQueryDefinitionSearch, +) +from datadog_api_client.v1.model.formula_and_function_events_data_source import FormulaAndFunctionEventsDataSource +from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat +from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition +from datadog_api_client.v1.model.timeseries_widget_definition_type import TimeseriesWidgetDefinitionType +from datadog_api_client.v1.model.timeseries_widget_legend_column import TimeseriesWidgetLegendColumn +from datadog_api_client.v1.model.timeseries_widget_legend_layout import TimeseriesWidgetLegendLayout +from datadog_api_client.v1.model.timeseries_widget_request import TimeseriesWidgetRequest +from datadog_api_client.v1.model.widget import Widget +from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType +from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_line_type import WidgetLineType +from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth +from datadog_api_client.v1.model.widget_live_span_unit import WidgetLiveSpanUnit +from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan +from datadog_api_client.v1.model.widget_new_live_span_type import WidgetNewLiveSpanType +from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle + +body = Dashboard( + title="Example-Dashboard with new live span time", + widgets=[ + Widget( + definition=TimeseriesWidgetDefinition( + title="", + show_legend=True, + legend_layout=TimeseriesWidgetLegendLayout.AUTO, + legend_columns=[ + TimeseriesWidgetLegendColumn.AVG, + TimeseriesWidgetLegendColumn.MIN, + TimeseriesWidgetLegendColumn.MAX, + TimeseriesWidgetLegendColumn.VALUE, + TimeseriesWidgetLegendColumn.SUM, + ], + time=WidgetNewLiveSpan( + type=WidgetNewLiveSpanType.LIVE, + unit=WidgetLiveSpanUnit.MINUTE, + value=8, + ), + type=TimeseriesWidgetDefinitionType.TIMESERIES, + requests=[ + TimeseriesWidgetRequest( + formulas=[ + WidgetFormula( + formula="query1", + ), + ], + queries=[ + FormulaAndFunctionEventQueryDefinition( + data_source=FormulaAndFunctionEventsDataSource.CI_PIPELINES, + name="query1", + search=FormulaAndFunctionEventQueryDefinitionSearch( + query="ci_level:job", + ), + indexes=[ + "*", + ], + compute=FormulaAndFunctionEventQueryDefinitionCompute( + aggregation=FormulaAndFunctionEventAggregation.COUNT, + metric="@ci.queue_time", + ), + group_by=[], + ), + ], + response_format=FormulaAndFunctionResponseFormat.TIMESERIES, + style=WidgetRequestStyle( + palette="dog_classic", + line_type=WidgetLineType.SOLID, + line_width=WidgetLineWidth.NORMAL, + ), + display_type=WidgetDisplayType.LINE, + ), + ], + ), + ), + ], + layout_type=DashboardLayoutType.ORDERED, + reflow_type=DashboardReflowType.AUTO, +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = DashboardsApi(api_client) + response = api_instance.create_dashboard(body=body) + + print(response) diff --git a/examples/v1/dashboards/CreateDashboard_3451918078.py b/examples/v1/dashboards/CreateDashboard_3451918078.py new file mode 100644 index 0000000000..ef7149e385 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_3451918078.py @@ -0,0 +1,102 @@ +""" +Create a new timeseries widget with new fixed span time format +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v1.api.dashboards_api import DashboardsApi +from datadog_api_client.v1.model.dashboard import Dashboard +from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType +from datadog_api_client.v1.model.dashboard_reflow_type import DashboardReflowType +from datadog_api_client.v1.model.formula_and_function_event_aggregation import FormulaAndFunctionEventAggregation +from datadog_api_client.v1.model.formula_and_function_event_query_definition import ( + FormulaAndFunctionEventQueryDefinition, +) +from datadog_api_client.v1.model.formula_and_function_event_query_definition_compute import ( + FormulaAndFunctionEventQueryDefinitionCompute, +) +from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import ( + FormulaAndFunctionEventQueryDefinitionSearch, +) +from datadog_api_client.v1.model.formula_and_function_events_data_source import FormulaAndFunctionEventsDataSource +from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat +from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition +from datadog_api_client.v1.model.timeseries_widget_definition_type import TimeseriesWidgetDefinitionType +from datadog_api_client.v1.model.timeseries_widget_legend_column import TimeseriesWidgetLegendColumn +from datadog_api_client.v1.model.timeseries_widget_legend_layout import TimeseriesWidgetLegendLayout +from datadog_api_client.v1.model.timeseries_widget_request import TimeseriesWidgetRequest +from datadog_api_client.v1.model.widget import Widget +from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType +from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_line_type import WidgetLineType +from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth +from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan +from datadog_api_client.v1.model.widget_new_fixed_span_type import WidgetNewFixedSpanType +from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle + +body = Dashboard( + title="Example-Dashboard with new fixed span time", + widgets=[ + Widget( + definition=TimeseriesWidgetDefinition( + title="", + show_legend=True, + legend_layout=TimeseriesWidgetLegendLayout.AUTO, + legend_columns=[ + TimeseriesWidgetLegendColumn.AVG, + TimeseriesWidgetLegendColumn.MIN, + TimeseriesWidgetLegendColumn.MAX, + TimeseriesWidgetLegendColumn.VALUE, + TimeseriesWidgetLegendColumn.SUM, + ], + time=WidgetNewFixedSpan( + type=WidgetNewFixedSpanType.FIXED, + _from=1712080128, + to=1712083128, + ), + type=TimeseriesWidgetDefinitionType.TIMESERIES, + requests=[ + TimeseriesWidgetRequest( + formulas=[ + WidgetFormula( + formula="query1", + ), + ], + queries=[ + FormulaAndFunctionEventQueryDefinition( + data_source=FormulaAndFunctionEventsDataSource.CI_PIPELINES, + name="query1", + search=FormulaAndFunctionEventQueryDefinitionSearch( + query="ci_level:job", + ), + indexes=[ + "*", + ], + compute=FormulaAndFunctionEventQueryDefinitionCompute( + aggregation=FormulaAndFunctionEventAggregation.COUNT, + metric="@ci.queue_time", + ), + group_by=[], + ), + ], + response_format=FormulaAndFunctionResponseFormat.TIMESERIES, + style=WidgetRequestStyle( + palette="dog_classic", + line_type=WidgetLineType.SOLID, + line_width=WidgetLineWidth.NORMAL, + ), + display_type=WidgetDisplayType.LINE, + ), + ], + ), + ), + ], + layout_type=DashboardLayoutType.ORDERED, + reflow_type=DashboardReflowType.AUTO, +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = DashboardsApi(api_client) + response = api_instance.create_dashboard(body=body) + + print(response) diff --git a/examples/v1/dashboards/CreateDashboard_3562282606.py b/examples/v1/dashboards/CreateDashboard_3562282606.py index 0e9b40d391..959e882454 100644 --- a/examples/v1/dashboards/CreateDashboard_3562282606.py +++ b/examples/v1/dashboards/CreateDashboard_3562282606.py @@ -20,10 +20,10 @@ from datadog_api_client.v1.model.widget_change_type import WidgetChangeType from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_order_by import WidgetOrderBy from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime # there is a valid "slo" in the system SLO_DATA_0_ID = environ["SLO_DATA_0_ID"] @@ -36,7 +36,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=ChangeWidgetDefinitionType.CHANGE, requests=[ ChangeWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_3777304439.py b/examples/v1/dashboards/CreateDashboard_3777304439.py index b7755c1ceb..8973ea61a2 100644 --- a/examples/v1/dashboards/CreateDashboard_3777304439.py +++ b/examples/v1/dashboards/CreateDashboard_3777304439.py @@ -17,9 +17,9 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_style import WidgetStyle from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -35,7 +35,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=HeatMapWidgetDefinitionType.HEATMAP, requests=[ HeatMapWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_41622531.py b/examples/v1/dashboards/CreateDashboard_41622531.py index 7d05935a3a..1a7465ee80 100644 --- a/examples/v1/dashboards/CreateDashboard_41622531.py +++ b/examples/v1/dashboards/CreateDashboard_41622531.py @@ -21,10 +21,10 @@ from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_formula_style import WidgetFormulaStyle +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_line_type import WidgetLineType from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard with formula style", @@ -41,7 +41,7 @@ TimeseriesWidgetLegendColumn.VALUE, TimeseriesWidgetLegendColumn.SUM, ], - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=TimeseriesWidgetDefinitionType.TIMESERIES, requests=[ TimeseriesWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_4262729673.py b/examples/v1/dashboards/CreateDashboard_4262729673.py new file mode 100644 index 0000000000..47c0392235 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_4262729673.py @@ -0,0 +1,100 @@ +""" +Create a new timeseries widget with legacy live span time format +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v1.api.dashboards_api import DashboardsApi +from datadog_api_client.v1.model.dashboard import Dashboard +from datadog_api_client.v1.model.dashboard_layout_type import DashboardLayoutType +from datadog_api_client.v1.model.dashboard_reflow_type import DashboardReflowType +from datadog_api_client.v1.model.formula_and_function_event_aggregation import FormulaAndFunctionEventAggregation +from datadog_api_client.v1.model.formula_and_function_event_query_definition import ( + FormulaAndFunctionEventQueryDefinition, +) +from datadog_api_client.v1.model.formula_and_function_event_query_definition_compute import ( + FormulaAndFunctionEventQueryDefinitionCompute, +) +from datadog_api_client.v1.model.formula_and_function_event_query_definition_search import ( + FormulaAndFunctionEventQueryDefinitionSearch, +) +from datadog_api_client.v1.model.formula_and_function_events_data_source import FormulaAndFunctionEventsDataSource +from datadog_api_client.v1.model.formula_and_function_response_format import FormulaAndFunctionResponseFormat +from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition +from datadog_api_client.v1.model.timeseries_widget_definition_type import TimeseriesWidgetDefinitionType +from datadog_api_client.v1.model.timeseries_widget_legend_column import TimeseriesWidgetLegendColumn +from datadog_api_client.v1.model.timeseries_widget_legend_layout import TimeseriesWidgetLegendLayout +from datadog_api_client.v1.model.timeseries_widget_request import TimeseriesWidgetRequest +from datadog_api_client.v1.model.widget import Widget +from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType +from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan +from datadog_api_client.v1.model.widget_line_type import WidgetLineType +from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth +from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan +from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle + +body = Dashboard( + title="Example-Dashboard with legacy live span time", + widgets=[ + Widget( + definition=TimeseriesWidgetDefinition( + title="", + show_legend=True, + legend_layout=TimeseriesWidgetLegendLayout.AUTO, + legend_columns=[ + TimeseriesWidgetLegendColumn.AVG, + TimeseriesWidgetLegendColumn.MIN, + TimeseriesWidgetLegendColumn.MAX, + TimeseriesWidgetLegendColumn.VALUE, + TimeseriesWidgetLegendColumn.SUM, + ], + time=WidgetLegacyLiveSpan( + live_span=WidgetLiveSpan.PAST_FIVE_MINUTES, + ), + type=TimeseriesWidgetDefinitionType.TIMESERIES, + requests=[ + TimeseriesWidgetRequest( + formulas=[ + WidgetFormula( + formula="query1", + ), + ], + queries=[ + FormulaAndFunctionEventQueryDefinition( + data_source=FormulaAndFunctionEventsDataSource.CI_PIPELINES, + name="query1", + search=FormulaAndFunctionEventQueryDefinitionSearch( + query="ci_level:job", + ), + indexes=[ + "*", + ], + compute=FormulaAndFunctionEventQueryDefinitionCompute( + aggregation=FormulaAndFunctionEventAggregation.COUNT, + metric="@ci.queue_time", + ), + group_by=[], + ), + ], + response_format=FormulaAndFunctionResponseFormat.TIMESERIES, + style=WidgetRequestStyle( + palette="dog_classic", + line_type=WidgetLineType.SOLID, + line_width=WidgetLineWidth.NORMAL, + ), + display_type=WidgetDisplayType.LINE, + ), + ], + ), + ), + ], + layout_type=DashboardLayoutType.ORDERED, + reflow_type=DashboardReflowType.AUTO, +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = DashboardsApi(api_client) + response = api_instance.create_dashboard(body=body) + + print(response) diff --git a/examples/v1/dashboards/CreateDashboard_578885732.py b/examples/v1/dashboards/CreateDashboard_578885732.py index ae67fbe2a0..3358249f25 100644 --- a/examples/v1/dashboards/CreateDashboard_578885732.py +++ b/examples/v1/dashboards/CreateDashboard_578885732.py @@ -26,10 +26,10 @@ from datadog_api_client.v1.model.widget_compare_to import WidgetCompareTo from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_order_by import WidgetOrderBy from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -39,7 +39,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=ChangeWidgetDefinitionType.CHANGE, requests=[ ChangeWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_765140092.py b/examples/v1/dashboards/CreateDashboard_765140092.py index f4aea5bb7f..322e1a8b8a 100644 --- a/examples/v1/dashboards/CreateDashboard_765140092.py +++ b/examples/v1/dashboards/CreateDashboard_765140092.py @@ -21,8 +21,8 @@ from datadog_api_client.v1.model.widget_axis import WidgetAxis from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( layout_type=DashboardLayoutType.ORDERED, @@ -34,7 +34,7 @@ title="", title_align=WidgetTextAlign.LEFT, precision=2, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), autoscale=True, requests=[ QueryValueWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_915214113.py b/examples/v1/dashboards/CreateDashboard_915214113.py index 85c1d4af0d..551da6fe75 100644 --- a/examples/v1/dashboards/CreateDashboard_915214113.py +++ b/examples/v1/dashboards/CreateDashboard_915214113.py @@ -33,10 +33,10 @@ from datadog_api_client.v1.model.widget_formula import WidgetFormula from datadog_api_client.v1.model.widget_formula_sort import WidgetFormulaSort from datadog_api_client.v1.model.widget_layout import WidgetLayout +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_sort import WidgetSort from datadog_api_client.v1.model.widget_sort_by import WidgetSortBy from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard", @@ -53,7 +53,7 @@ title="", title_size="16", title_align=WidgetTextAlign.LEFT, - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=GeomapWidgetDefinitionType.GEOMAP, requests=[ GeomapWidgetRequest( diff --git a/examples/v1/dashboards/CreateDashboard_985012506.py b/examples/v1/dashboards/CreateDashboard_985012506.py index 7c03db01e8..ce78c7685c 100644 --- a/examples/v1/dashboards/CreateDashboard_985012506.py +++ b/examples/v1/dashboards/CreateDashboard_985012506.py @@ -27,10 +27,10 @@ from datadog_api_client.v1.model.widget import Widget from datadog_api_client.v1.model.widget_display_type import WidgetDisplayType from datadog_api_client.v1.model.widget_formula import WidgetFormula +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_line_type import WidgetLineType from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth from datadog_api_client.v1.model.widget_request_style import WidgetRequestStyle -from datadog_api_client.v1.model.widget_time import WidgetTime body = Dashboard( title="Example-Dashboard with incident_analytics datasource", @@ -47,7 +47,7 @@ TimeseriesWidgetLegendColumn.VALUE, TimeseriesWidgetLegendColumn.SUM, ], - time=WidgetTime(), + time=WidgetLegacyLiveSpan(), type=TimeseriesWidgetDefinitionType.TIMESERIES, requests=[ TimeseriesWidgetRequest( diff --git a/src/datadog_api_client/v1/model/alert_graph_widget_definition.py b/src/datadog_api_client/v1/model/alert_graph_widget_definition.py index ed45b33ad2..0ed3c9e7f6 100644 --- a/src/datadog_api_client/v1/model/alert_graph_widget_definition.py +++ b/src/datadog_api_client/v1/model/alert_graph_widget_definition.py @@ -18,6 +18,9 @@ from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.alert_graph_widget_definition_type import AlertGraphWidgetDefinitionType from datadog_api_client.v1.model.widget_viz_type import WidgetVizType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class AlertGraphWidgetDefinition(ModelNormal): @@ -53,7 +56,7 @@ def __init__( alert_id: str, type: AlertGraphWidgetDefinitionType, viz_type: WidgetVizType, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/change_widget_definition.py b/src/datadog_api_client/v1/model/change_widget_definition.py index 8f1befa665..3fd5357c1b 100644 --- a/src/datadog_api_client/v1/model/change_widget_definition.py +++ b/src/datadog_api_client/v1/model/change_widget_definition.py @@ -19,6 +19,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.change_widget_definition_type import ChangeWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class ChangeWidgetDefinition(ModelNormal): @@ -62,7 +65,7 @@ def __init__( requests: List[ChangeWidgetRequest], type: ChangeWidgetDefinitionType, custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/check_status_widget_definition.py b/src/datadog_api_client/v1/model/check_status_widget_definition.py index 78aa418f33..0c21f488c1 100644 --- a/src/datadog_api_client/v1/model/check_status_widget_definition.py +++ b/src/datadog_api_client/v1/model/check_status_widget_definition.py @@ -18,6 +18,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.check_status_widget_definition_type import CheckStatusWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class CheckStatusWidgetDefinition(ModelNormal): @@ -62,7 +65,7 @@ def __init__( group: Union[str, UnsetType] = unset, group_by: Union[List[str], UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/distribution_widget_definition.py b/src/datadog_api_client/v1/model/distribution_widget_definition.py index 12cf6f43c9..80883a00c0 100644 --- a/src/datadog_api_client/v1/model/distribution_widget_definition.py +++ b/src/datadog_api_client/v1/model/distribution_widget_definition.py @@ -22,6 +22,9 @@ from datadog_api_client.v1.model.distribution_widget_definition_type import DistributionWidgetDefinitionType from datadog_api_client.v1.model.distribution_widget_x_axis import DistributionWidgetXAxis from datadog_api_client.v1.model.distribution_widget_y_axis import DistributionWidgetYAxis + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class DistributionWidgetDefinition(ModelNormal): @@ -81,7 +84,7 @@ def __init__( legend_size: Union[str, UnsetType] = unset, markers: Union[List[WidgetMarker], UnsetType] = unset, show_legend: Union[bool, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/event_stream_widget_definition.py b/src/datadog_api_client/v1/model/event_stream_widget_definition.py index 93f71c94c2..2cd2bfe336 100644 --- a/src/datadog_api_client/v1/model/event_stream_widget_definition.py +++ b/src/datadog_api_client/v1/model/event_stream_widget_definition.py @@ -18,6 +18,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.event_stream_widget_definition_type import EventStreamWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class EventStreamWidgetDefinition(ModelNormal): @@ -56,7 +59,7 @@ def __init__( type: EventStreamWidgetDefinitionType, event_size: Union[WidgetEventSize, UnsetType] = unset, tags_execution: Union[str, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/event_timeline_widget_definition.py b/src/datadog_api_client/v1/model/event_timeline_widget_definition.py index 343931bcbd..17e08e2e33 100644 --- a/src/datadog_api_client/v1/model/event_timeline_widget_definition.py +++ b/src/datadog_api_client/v1/model/event_timeline_widget_definition.py @@ -17,6 +17,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.event_timeline_widget_definition_type import EventTimelineWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class EventTimelineWidgetDefinition(ModelNormal): @@ -51,7 +54,7 @@ def __init__( query: str, type: EventTimelineWidgetDefinitionType, tags_execution: Union[str, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/funnel_widget_definition.py b/src/datadog_api_client/v1/model/funnel_widget_definition.py index 257209410d..1f12903f30 100644 --- a/src/datadog_api_client/v1/model/funnel_widget_definition.py +++ b/src/datadog_api_client/v1/model/funnel_widget_definition.py @@ -18,6 +18,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.funnel_widget_definition_type import FunnelWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class FunnelWidgetDefinition(ModelNormal): @@ -57,7 +60,7 @@ def __init__( self_, requests: List[FunnelWidgetRequest], type: FunnelWidgetDefinitionType, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/geomap_widget_definition.py b/src/datadog_api_client/v1/model/geomap_widget_definition.py index a47dba1173..477308e98f 100644 --- a/src/datadog_api_client/v1/model/geomap_widget_definition.py +++ b/src/datadog_api_client/v1/model/geomap_widget_definition.py @@ -21,6 +21,9 @@ from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.geomap_widget_definition_type import GeomapWidgetDefinitionType from datadog_api_client.v1.model.geomap_widget_definition_view import GeomapWidgetDefinitionView + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class GeomapWidgetDefinition(ModelNormal): @@ -72,7 +75,7 @@ def __init__( type: GeomapWidgetDefinitionType, view: GeomapWidgetDefinitionView, custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/heat_map_widget_definition.py b/src/datadog_api_client/v1/model/heat_map_widget_definition.py index 0c97d7434d..fe8a20f606 100644 --- a/src/datadog_api_client/v1/model/heat_map_widget_definition.py +++ b/src/datadog_api_client/v1/model/heat_map_widget_definition.py @@ -21,6 +21,9 @@ from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.heat_map_widget_definition_type import HeatMapWidgetDefinitionType from datadog_api_client.v1.model.widget_axis import WidgetAxis + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class HeatMapWidgetDefinition(ModelNormal): @@ -77,7 +80,7 @@ def __init__( events: Union[List[WidgetEvent], UnsetType] = unset, legend_size: Union[str, UnsetType] = unset, show_legend: Union[bool, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/list_stream_widget_definition.py b/src/datadog_api_client/v1/model/list_stream_widget_definition.py index 89f48e0fb5..d993e7cf99 100644 --- a/src/datadog_api_client/v1/model/list_stream_widget_definition.py +++ b/src/datadog_api_client/v1/model/list_stream_widget_definition.py @@ -18,6 +18,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.list_stream_widget_definition_type import ListStreamWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class ListStreamWidgetDefinition(ModelNormal): @@ -63,7 +66,7 @@ def __init__( type: ListStreamWidgetDefinitionType, legend_size: Union[str, UnsetType] = unset, show_legend: Union[bool, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/log_stream_widget_definition.py b/src/datadog_api_client/v1/model/log_stream_widget_definition.py index 8a46df83c6..779ac6e181 100644 --- a/src/datadog_api_client/v1/model/log_stream_widget_definition.py +++ b/src/datadog_api_client/v1/model/log_stream_widget_definition.py @@ -19,6 +19,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.log_stream_widget_definition_type import LogStreamWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class LogStreamWidgetDefinition(ModelNormal): @@ -73,7 +76,7 @@ def __init__( show_date_column: Union[bool, UnsetType] = unset, show_message_column: Union[bool, UnsetType] = unset, sort: Union[WidgetFieldSort, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/query_value_widget_definition.py b/src/datadog_api_client/v1/model/query_value_widget_definition.py index 81af93fc26..27355104f8 100644 --- a/src/datadog_api_client/v1/model/query_value_widget_definition.py +++ b/src/datadog_api_client/v1/model/query_value_widget_definition.py @@ -20,6 +20,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.timeseries_background import TimeseriesBackground from datadog_api_client.v1.model.query_value_widget_definition_type import QueryValueWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class QueryValueWidgetDefinition(ModelNormal): @@ -78,7 +81,7 @@ def __init__( custom_unit: Union[str, UnsetType] = unset, precision: Union[int, UnsetType] = unset, text_align: Union[WidgetTextAlign, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, timeseries_background: Union[TimeseriesBackground, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/run_workflow_widget_definition.py b/src/datadog_api_client/v1/model/run_workflow_widget_definition.py index 455346b52c..04554071ca 100644 --- a/src/datadog_api_client/v1/model/run_workflow_widget_definition.py +++ b/src/datadog_api_client/v1/model/run_workflow_widget_definition.py @@ -19,6 +19,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.run_workflow_widget_definition_type import RunWorkflowWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class RunWorkflowWidgetDefinition(ModelNormal): @@ -58,7 +61,7 @@ def __init__( workflow_id: str, custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, inputs: Union[List[RunWorkflowWidgetInput], UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/scatter_plot_widget_definition.py b/src/datadog_api_client/v1/model/scatter_plot_widget_definition.py index 73a0a7a30a..c1a6180f45 100644 --- a/src/datadog_api_client/v1/model/scatter_plot_widget_definition.py +++ b/src/datadog_api_client/v1/model/scatter_plot_widget_definition.py @@ -20,6 +20,9 @@ from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.scatter_plot_widget_definition_type import ScatterPlotWidgetDefinitionType from datadog_api_client.v1.model.widget_axis import WidgetAxis + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class ScatterPlotWidgetDefinition(ModelNormal): @@ -66,7 +69,7 @@ def __init__( type: ScatterPlotWidgetDefinitionType, color_by_groups: Union[List[str], UnsetType] = unset, custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/service_summary_widget_definition.py b/src/datadog_api_client/v1/model/service_summary_widget_definition.py index a28b6aba37..2321362004 100644 --- a/src/datadog_api_client/v1/model/service_summary_widget_definition.py +++ b/src/datadog_api_client/v1/model/service_summary_widget_definition.py @@ -19,6 +19,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.service_summary_widget_definition_type import ServiceSummaryWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class ServiceSummaryWidgetDefinition(ModelNormal): @@ -84,7 +87,7 @@ def __init__( show_latency: Union[bool, UnsetType] = unset, show_resource_list: Union[bool, UnsetType] = unset, size_format: Union[WidgetSizeFormat, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/split_graph_widget_definition.py b/src/datadog_api_client/v1/model/split_graph_widget_definition.py index 8235e089fa..56f2ea175a 100644 --- a/src/datadog_api_client/v1/model/split_graph_widget_definition.py +++ b/src/datadog_api_client/v1/model/split_graph_widget_definition.py @@ -28,6 +28,9 @@ from datadog_api_client.v1.model.timeseries_widget_definition import TimeseriesWidgetDefinition from datadog_api_client.v1.model.toplist_widget_definition import ToplistWidgetDefinition from datadog_api_client.v1.model.tree_map_widget_definition import TreeMapWidgetDefinition + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class SplitGraphWidgetDefinition(ModelNormal): @@ -77,7 +80,7 @@ def __init__( split_config: SplitConfig, type: SplitGraphWidgetDefinitionType, has_uniform_y_axes: Union[bool, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, **kwargs, ): diff --git a/src/datadog_api_client/v1/model/sunburst_widget_definition.py b/src/datadog_api_client/v1/model/sunburst_widget_definition.py index f12a21aef5..a7b2bcbf34 100644 --- a/src/datadog_api_client/v1/model/sunburst_widget_definition.py +++ b/src/datadog_api_client/v1/model/sunburst_widget_definition.py @@ -22,6 +22,9 @@ from datadog_api_client.v1.model.sunburst_widget_definition_type import SunburstWidgetDefinitionType from datadog_api_client.v1.model.sunburst_widget_legend_table import SunburstWidgetLegendTable from datadog_api_client.v1.model.sunburst_widget_legend_inline_automatic import SunburstWidgetLegendInlineAutomatic + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class SunburstWidgetDefinition(ModelNormal): @@ -73,7 +76,7 @@ def __init__( legend: Union[ SunburstWidgetLegend, SunburstWidgetLegendTable, SunburstWidgetLegendInlineAutomatic, UnsetType ] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/table_widget_definition.py b/src/datadog_api_client/v1/model/table_widget_definition.py index b1d1262233..685d9a5c7e 100644 --- a/src/datadog_api_client/v1/model/table_widget_definition.py +++ b/src/datadog_api_client/v1/model/table_widget_definition.py @@ -20,6 +20,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.table_widget_definition_type import TableWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class TableWidgetDefinition(ModelNormal): @@ -60,7 +63,7 @@ def __init__( type: TableWidgetDefinitionType, custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, has_search_bar: Union[TableWidgetHasSearchBar, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/timeseries_widget_definition.py b/src/datadog_api_client/v1/model/timeseries_widget_definition.py index 7e93651783..40bb876363 100644 --- a/src/datadog_api_client/v1/model/timeseries_widget_definition.py +++ b/src/datadog_api_client/v1/model/timeseries_widget_definition.py @@ -24,6 +24,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.timeseries_widget_definition_type import TimeseriesWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class TimeseriesWidgetDefinition(ModelNormal): @@ -94,7 +97,7 @@ def __init__( markers: Union[List[WidgetMarker], UnsetType] = unset, right_yaxis: Union[WidgetAxis, UnsetType] = unset, show_legend: Union[bool, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/toplist_widget_definition.py b/src/datadog_api_client/v1/model/toplist_widget_definition.py index 2159760157..7ff59f90fb 100644 --- a/src/datadog_api_client/v1/model/toplist_widget_definition.py +++ b/src/datadog_api_client/v1/model/toplist_widget_definition.py @@ -20,6 +20,9 @@ from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.widget_text_align import WidgetTextAlign from datadog_api_client.v1.model.toplist_widget_definition_type import ToplistWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class ToplistWidgetDefinition(ModelNormal): @@ -60,7 +63,7 @@ def __init__( type: ToplistWidgetDefinitionType, custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, style: Union[ToplistWidgetStyle, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, title_align: Union[WidgetTextAlign, UnsetType] = unset, title_size: Union[str, UnsetType] = unset, diff --git a/src/datadog_api_client/v1/model/tree_map_widget_definition.py b/src/datadog_api_client/v1/model/tree_map_widget_definition.py index 2dea9da3bd..eb4ba201ab 100644 --- a/src/datadog_api_client/v1/model/tree_map_widget_definition.py +++ b/src/datadog_api_client/v1/model/tree_map_widget_definition.py @@ -21,6 +21,9 @@ from datadog_api_client.v1.model.tree_map_size_by import TreeMapSizeBy from datadog_api_client.v1.model.widget_time import WidgetTime from datadog_api_client.v1.model.tree_map_widget_definition_type import TreeMapWidgetDefinitionType + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan class TreeMapWidgetDefinition(ModelNormal): @@ -71,7 +74,7 @@ def __init__( custom_links: Union[List[WidgetCustomLink], UnsetType] = unset, group_by: Union[TreeMapGroupBy, UnsetType] = unset, size_by: Union[TreeMapSizeBy, UnsetType] = unset, - time: Union[WidgetTime, UnsetType] = unset, + time: Union[WidgetTime, WidgetLegacyLiveSpan, WidgetNewLiveSpan, WidgetNewFixedSpan, UnsetType] = unset, title: Union[str, UnsetType] = unset, **kwargs, ): diff --git a/src/datadog_api_client/v1/model/widget_legacy_live_span.py b/src/datadog_api_client/v1/model/widget_legacy_live_span.py new file mode 100644 index 0000000000..1cbaa9da04 --- /dev/null +++ b/src/datadog_api_client/v1/model/widget_legacy_live_span.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan + + +class WidgetLegacyLiveSpan(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan + + return { + "live_span": (WidgetLiveSpan,), + } + + attribute_map = { + "live_span": "live_span", + } + + def __init__(self_, live_span: Union[WidgetLiveSpan, UnsetType] = unset, **kwargs): + """ + Wrapper for live span + + :param live_span: The available timeframes depend on the widget you are using. + :type live_span: WidgetLiveSpan, optional + """ + if live_span is not unset: + kwargs["live_span"] = live_span + super().__init__(kwargs) diff --git a/src/datadog_api_client/v1/model/widget_live_span_unit.py b/src/datadog_api_client/v1/model/widget_live_span_unit.py new file mode 100644 index 0000000000..6c4ce2f639 --- /dev/null +++ b/src/datadog_api_client/v1/model/widget_live_span_unit.py @@ -0,0 +1,50 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WidgetLiveSpanUnit(ModelSimple): + """ + Unit of the time span. + + :param value: Must be one of ["minute", "hour", "day", "week", "month", "year"]. + :type value: str + """ + + allowed_values = { + "minute", + "hour", + "day", + "week", + "month", + "year", + } + MINUTE: ClassVar["WidgetLiveSpanUnit"] + HOUR: ClassVar["WidgetLiveSpanUnit"] + DAY: ClassVar["WidgetLiveSpanUnit"] + WEEK: ClassVar["WidgetLiveSpanUnit"] + MONTH: ClassVar["WidgetLiveSpanUnit"] + YEAR: ClassVar["WidgetLiveSpanUnit"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WidgetLiveSpanUnit.MINUTE = WidgetLiveSpanUnit("minute") +WidgetLiveSpanUnit.HOUR = WidgetLiveSpanUnit("hour") +WidgetLiveSpanUnit.DAY = WidgetLiveSpanUnit("day") +WidgetLiveSpanUnit.WEEK = WidgetLiveSpanUnit("week") +WidgetLiveSpanUnit.MONTH = WidgetLiveSpanUnit("month") +WidgetLiveSpanUnit.YEAR = WidgetLiveSpanUnit("year") diff --git a/src/datadog_api_client/v1/model/widget_new_fixed_span.py b/src/datadog_api_client/v1/model/widget_new_fixed_span.py new file mode 100644 index 0000000000..60dad6a0ab --- /dev/null +++ b/src/datadog_api_client/v1/model/widget_new_fixed_span.py @@ -0,0 +1,61 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v1.model.widget_new_fixed_span_type import WidgetNewFixedSpanType + + +class WidgetNewFixedSpan(ModelNormal): + validations = { + "_from": { + "inclusive_minimum": 0, + }, + "to": { + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v1.model.widget_new_fixed_span_type import WidgetNewFixedSpanType + + return { + "_from": (int,), + "to": (int,), + "type": (WidgetNewFixedSpanType,), + } + + attribute_map = { + "_from": "from", + "to": "to", + "type": "type", + } + + def __init__(self_, _from: int, to: int, type: WidgetNewFixedSpanType, **kwargs): + """ + Used for fixed span times, such as 'March 1 to March 7'. + + :param _from: Start time in seconds since epoch. + :type _from: int + + :param to: End time in seconds since epoch. + :type to: int + + :param type: Type "fixed" denotes a fixed span. + :type type: WidgetNewFixedSpanType + """ + super().__init__(kwargs) + + self_._from = _from + self_.to = to + self_.type = type diff --git a/src/datadog_api_client/v1/model/widget_new_fixed_span_type.py b/src/datadog_api_client/v1/model/widget_new_fixed_span_type.py new file mode 100644 index 0000000000..9e23f6308e --- /dev/null +++ b/src/datadog_api_client/v1/model/widget_new_fixed_span_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WidgetNewFixedSpanType(ModelSimple): + """ + Type "fixed" denotes a fixed span. + + :param value: If omitted defaults to "fixed". Must be one of ["fixed"]. + :type value: str + """ + + allowed_values = { + "fixed", + } + FIXED: ClassVar["WidgetNewFixedSpanType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WidgetNewFixedSpanType.FIXED = WidgetNewFixedSpanType("fixed") diff --git a/src/datadog_api_client/v1/model/widget_new_live_span.py b/src/datadog_api_client/v1/model/widget_new_live_span.py new file mode 100644 index 0000000000..19614e033a --- /dev/null +++ b/src/datadog_api_client/v1/model/widget_new_live_span.py @@ -0,0 +1,60 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v1.model.widget_new_live_span_type import WidgetNewLiveSpanType + from datadog_api_client.v1.model.widget_live_span_unit import WidgetLiveSpanUnit + + +class WidgetNewLiveSpan(ModelNormal): + validations = { + "value": { + "inclusive_minimum": 1, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v1.model.widget_new_live_span_type import WidgetNewLiveSpanType + from datadog_api_client.v1.model.widget_live_span_unit import WidgetLiveSpanUnit + + return { + "type": (WidgetNewLiveSpanType,), + "unit": (WidgetLiveSpanUnit,), + "value": (int,), + } + + attribute_map = { + "type": "type", + "unit": "unit", + "value": "value", + } + + def __init__(self_, type: WidgetNewLiveSpanType, unit: WidgetLiveSpanUnit, value: int, **kwargs): + """ + Used for arbitrary live span times, such as 17 minutes or 6 hours. + + :param type: Type "live" denotes a live span in the new format. + :type type: WidgetNewLiveSpanType + + :param unit: Unit of the time span. + :type unit: WidgetLiveSpanUnit + + :param value: Value of the time span. + :type value: int + """ + super().__init__(kwargs) + + self_.type = type + self_.unit = unit + self_.value = value diff --git a/src/datadog_api_client/v1/model/widget_new_live_span_type.py b/src/datadog_api_client/v1/model/widget_new_live_span_type.py new file mode 100644 index 0000000000..e743613e9c --- /dev/null +++ b/src/datadog_api_client/v1/model/widget_new_live_span_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class WidgetNewLiveSpanType(ModelSimple): + """ + Type "live" denotes a live span in the new format. + + :param value: If omitted defaults to "live". Must be one of ["live"]. + :type value: str + """ + + allowed_values = { + "live", + } + LIVE: ClassVar["WidgetNewLiveSpanType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +WidgetNewLiveSpanType.LIVE = WidgetNewLiveSpanType("live") diff --git a/src/datadog_api_client/v1/model/widget_time.py b/src/datadog_api_client/v1/model/widget_time.py index 63770dd7c2..9f2fdd14a7 100644 --- a/src/datadog_api_client/v1/model/widget_time.py +++ b/src/datadog_api_client/v1/model/widget_time.py @@ -3,40 +3,55 @@ # Copyright 2019-Present Datadog, Inc. from __future__ import annotations -from typing import Union, TYPE_CHECKING from datadog_api_client.model_utils import ( - ModelNormal, + ModelComposed, cached_property, - unset, - UnsetType, ) -if TYPE_CHECKING: - from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan +class WidgetTime(ModelComposed): + def __init__(self, **kwargs): + """ + Time setting for the widget. + :param live_span: The available timeframes depend on the widget you are using. + :type live_span: WidgetLiveSpan, optional -class WidgetTime(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan + :param type: Type "live" denotes a live span in the new format. + :type type: WidgetNewLiveSpanType - return { - "live_span": (WidgetLiveSpan,), - } + :param unit: Unit of the time span. + :type unit: WidgetLiveSpanUnit - attribute_map = { - "live_span": "live_span", - } + :param value: Value of the time span. + :type value: int - def __init__(self_, live_span: Union[WidgetLiveSpan, UnsetType] = unset, **kwargs): - """ - Time setting for the widget. + :param _from: Start time in seconds since epoch. + :type _from: int - :param live_span: The available timeframes depend on the widget you are using. - :type live_span: WidgetLiveSpan, optional + :param to: End time in seconds since epoch. + :type to: int """ - if live_span is not unset: - kwargs["live_span"] = live_span super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan + from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan + from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan + + return { + "oneOf": [ + WidgetLegacyLiveSpan, + WidgetNewLiveSpan, + WidgetNewFixedSpan, + ], + } diff --git a/src/datadog_api_client/v1/models/__init__.py b/src/datadog_api_client/v1/models/__init__.py index 7fe7335132..bfb8a2a2c2 100644 --- a/src/datadog_api_client/v1/models/__init__.py +++ b/src/datadog_api_client/v1/models/__init__.py @@ -958,14 +958,20 @@ from datadog_api_client.v1.model.widget_image_sizing import WidgetImageSizing from datadog_api_client.v1.model.widget_layout import WidgetLayout from datadog_api_client.v1.model.widget_layout_type import WidgetLayoutType +from datadog_api_client.v1.model.widget_legacy_live_span import WidgetLegacyLiveSpan from datadog_api_client.v1.model.widget_line_type import WidgetLineType from datadog_api_client.v1.model.widget_line_width import WidgetLineWidth from datadog_api_client.v1.model.widget_live_span import WidgetLiveSpan +from datadog_api_client.v1.model.widget_live_span_unit import WidgetLiveSpanUnit from datadog_api_client.v1.model.widget_margin import WidgetMargin from datadog_api_client.v1.model.widget_marker import WidgetMarker from datadog_api_client.v1.model.widget_message_display import WidgetMessageDisplay from datadog_api_client.v1.model.widget_monitor_summary_display_format import WidgetMonitorSummaryDisplayFormat from datadog_api_client.v1.model.widget_monitor_summary_sort import WidgetMonitorSummarySort +from datadog_api_client.v1.model.widget_new_fixed_span import WidgetNewFixedSpan +from datadog_api_client.v1.model.widget_new_fixed_span_type import WidgetNewFixedSpanType +from datadog_api_client.v1.model.widget_new_live_span import WidgetNewLiveSpan +from datadog_api_client.v1.model.widget_new_live_span_type import WidgetNewLiveSpanType from datadog_api_client.v1.model.widget_node_type import WidgetNodeType from datadog_api_client.v1.model.widget_order_by import WidgetOrderBy from datadog_api_client.v1.model.widget_palette import WidgetPalette @@ -1832,14 +1838,20 @@ "WidgetImageSizing", "WidgetLayout", "WidgetLayoutType", + "WidgetLegacyLiveSpan", "WidgetLineType", "WidgetLineWidth", "WidgetLiveSpan", + "WidgetLiveSpanUnit", "WidgetMargin", "WidgetMarker", "WidgetMessageDisplay", "WidgetMonitorSummaryDisplayFormat", "WidgetMonitorSummarySort", + "WidgetNewFixedSpan", + "WidgetNewFixedSpanType", + "WidgetNewLiveSpan", + "WidgetNewLiveSpanType", "WidgetNodeType", "WidgetOrderBy", "WidgetPalette", diff --git a/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_legacy_live_span_time_format.frozen b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_legacy_live_span_time_format.frozen new file mode 100644 index 0000000000..85c5209232 --- /dev/null +++ b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_legacy_live_span_time_format.frozen @@ -0,0 +1 @@ +2024-08-08T16:08:49.284Z \ No newline at end of file diff --git a/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_legacy_live_span_time_format.yaml b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_legacy_live_span_time_format.yaml new file mode 100644 index 0000000000..1fd437fd30 --- /dev/null +++ b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_legacy_live_span_time_format.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_legacy_live_span_time_format-1723133329 + with legacy live span time","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count","metric":"@ci.queue_time"},"data_source":"ci_pipelines","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"ci_level:job"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{"live_span":"5m"},"title":"","type":"timeseries"}}]}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + string: '{"id":"dfy-yby-e2c","title":"Test-Create_a_new_timeseries_widget_with_legacy_live_span_time_format-1723133329 + with legacy live span time","description":null,"author_handle":"d5459c54-9e9d-11ee-a5c9-ce6dc639753f","author_name":"CI + Service Account","layout_type":"ordered","url":"/dashboard/dfy-yby-e2c/test-createanewtimeserieswidgetwithlegacylivespantimeformat-1723133329-with-lega","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count","metric":"@ci.queue_time"},"data_source":"ci_pipelines","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"ci_level:job"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{"live_span":"5m"},"title":"","type":"timeseries"},"id":6745766981061097}],"notify_list":null,"created_at":"2024-08-08T16:08:49.543129+00:00","modified_at":"2024-08-08T16:08:49.543129+00:00","reflow_type":"auto","restricted_roles":[]} + + ' + headers: + content-type: + - application/json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/dfy-yby-e2c + response: + body: + string: '{"deleted_dashboard_id":"dfy-yby-e2c"} + + ' + headers: + content-type: + - application/json + status: + code: 200 + message: OK +version: 1 diff --git a/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_fixed_span_time_format.frozen b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_fixed_span_time_format.frozen new file mode 100644 index 0000000000..038444cbe0 --- /dev/null +++ b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_fixed_span_time_format.frozen @@ -0,0 +1 @@ +2024-08-08T16:09:04.492Z \ No newline at end of file diff --git a/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_fixed_span_time_format.yaml b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_fixed_span_time_format.yaml new file mode 100644 index 0000000000..52436a58e9 --- /dev/null +++ b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_fixed_span_time_format.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_new_fixed_span_time_format-1723133344 + with new fixed span time","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count","metric":"@ci.queue_time"},"data_source":"ci_pipelines","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"ci_level:job"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{"from":1712080128,"to":1712083128,"type":"fixed"},"title":"","type":"timeseries"}}]}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + string: '{"id":"kvv-wiy-nsu","title":"Test-Create_a_new_timeseries_widget_with_new_fixed_span_time_format-1723133344 + with new fixed span time","description":null,"author_handle":"d5459c54-9e9d-11ee-a5c9-ce6dc639753f","author_name":"CI + Service Account","layout_type":"ordered","url":"/dashboard/kvv-wiy-nsu/test-createanewtimeserieswidgetwithnewfixedspantimeformat-1723133344-with-new-fi","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count","metric":"@ci.queue_time"},"data_source":"ci_pipelines","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"ci_level:job"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{"from":1712080128,"to":1712083128,"type":"fixed"},"title":"","type":"timeseries"},"id":1421131468062823}],"notify_list":null,"created_at":"2024-08-08T16:09:04.750457+00:00","modified_at":"2024-08-08T16:09:04.750457+00:00","reflow_type":"auto","restricted_roles":[]} + + ' + headers: + content-type: + - application/json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/kvv-wiy-nsu + response: + body: + string: '{"deleted_dashboard_id":"kvv-wiy-nsu"} + + ' + headers: + content-type: + - application/json + status: + code: 200 + message: OK +version: 1 diff --git a/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_live_span_time_format.frozen b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_live_span_time_format.frozen new file mode 100644 index 0000000000..80af97252d --- /dev/null +++ b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_live_span_time_format.frozen @@ -0,0 +1 @@ +2024-08-08T16:09:15.828Z \ No newline at end of file diff --git a/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_live_span_time_format.yaml b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_live_span_time_format.yaml new file mode 100644 index 0000000000..960ef66802 --- /dev/null +++ b/tests/v1/cassettes/test_scenarios/test_create_a_new_timeseries_widget_with_new_live_span_time_format.yaml @@ -0,0 +1,43 @@ +interactions: +- request: + body: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_new_live_span_time_format-1723133355 + with new live span time","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count","metric":"@ci.queue_time"},"data_source":"ci_pipelines","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"ci_level:job"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{"type":"live","unit":"minute","value":8},"title":"","type":"timeseries"}}]}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + string: '{"id":"mew-pjn-ndm","title":"Test-Create_a_new_timeseries_widget_with_new_live_span_time_format-1723133355 + with new live span time","description":null,"author_handle":"d5459c54-9e9d-11ee-a5c9-ce6dc639753f","author_name":"CI + Service Account","layout_type":"ordered","url":"/dashboard/mew-pjn-ndm/test-createanewtimeserieswidgetwithnewlivespantimeformat-1723133355-with-new-liv","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count","metric":"@ci.queue_time"},"data_source":"ci_pipelines","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"ci_level:job"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{"type":"live","unit":"minute","value":8},"title":"","type":"timeseries"},"id":6031010449478602}],"notify_list":null,"created_at":"2024-08-08T16:09:16.036773+00:00","modified_at":"2024-08-08T16:09:16.036773+00:00","reflow_type":"auto","restricted_roles":[]} + + ' + headers: + content-type: + - application/json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/mew-pjn-ndm + response: + body: + string: '{"deleted_dashboard_id":"mew-pjn-ndm"} + + ' + headers: + content-type: + - application/json + status: + code: 200 + message: OK +version: 1 diff --git a/tests/v1/features/dashboards.feature b/tests/v1/features/dashboards.feature index b892e9da84..0b080ef44c 100644 --- a/tests/v1/features/dashboards.feature +++ b/tests/v1/features/dashboards.feature @@ -839,6 +839,34 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "incident_analytics" And the response "widgets[0].definition.requests[0].queries[0].search.query" is equal to "test_level:test" + @team:DataDog/dashboards-backend + Scenario: Create a new timeseries widget with legacy live span time format + Given new "CreateDashboard" request + And body with value {"title":"{{ unique }} with legacy live span time","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"live_span": "5m"},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.time.live_span" is equal to "5m" + + @team:DataDog/dashboards-backend + Scenario: Create a new timeseries widget with new fixed span time format + Given new "CreateDashboard" request + And body with value {"title":"{{ unique }} with new fixed span time","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type": "fixed", "from": 1712080128, "to": 1712083128},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.time.type" is equal to "fixed" + And the response "widgets[0].definition.time.from" is equal to 1712080128 + And the response "widgets[0].definition.time.to" is equal to 1712083128 + + @team:DataDog/dashboards-backend + Scenario: Create a new timeseries widget with new live span time format + Given new "CreateDashboard" request + And body with value {"title":"{{ unique }} with new live span time","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{"type": "live", "unit": "minute", "value": 8},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_pipelines","name":"query1","search":{"query":"ci_level:job"},"indexes":["*"],"compute":{"aggregation":"count", "metric": "@ci.queue_time"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.time.type" is equal to "live" + And the response "widgets[0].definition.time.unit" is equal to "minute" + And the response "widgets[0].definition.time.value" is equal to 8 + @generated @skip @team:DataDog/dashboards-backend Scenario: Create a shared dashboard returns "Bad Request" response Given new "CreatePublicDashboard" request