diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index bf2effce6326..48f45d0bc2b8 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -2962,10 +2962,7 @@ components: data_source: $ref: '#/components/schemas/FormulaAndFunctionEventsDataSource' group_by: - description: Group by options. - items: - $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBy' - type: array + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByConfig' indexes: description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. @@ -3037,6 +3034,40 @@ components: required: - facet type: object + FormulaAndFunctionEventQueryGroupByConfig: + description: Group by configuration for a formula and functions events query. + Accepts either a list of facet objects or a flat object that specifies a list + of facet fields. + oneOf: + - $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByList' + - $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByFields' + FormulaAndFunctionEventQueryGroupByFields: + description: Flat group by configuration using multiple event facet fields. + properties: + fields: + description: List of event facets to group by. + example: + - hostname + - service + items: + description: Event facet. + type: string + type: array + limit: + description: Number of groups to return. + example: 10 + format: int64 + type: integer + sort: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort' + required: + - fields + type: object + FormulaAndFunctionEventQueryGroupByList: + description: List of objects used to group by. + items: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBy' + type: array FormulaAndFunctionEventQueryGroupBySort: description: Options for sorting group by results. properties: diff --git a/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.frozen b/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.frozen index c35a420f4345..6a94d75b4392 100644 --- a/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.frozen +++ b/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.frozen @@ -1 +1 @@ -2024-11-15T19:32:27.384Z \ No newline at end of file +2026-03-02T11:30:42.729Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.yml b/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.yml index 05c6464a895b..822b37a33fe6 100644 --- a/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.yml +++ b/cassettes/features/v1/dashboards/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-functions-events-query.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:27 GMT +- recorded_at: Mon, 02 Mar 2026 11:30:42 GMT request: body: encoding: UTF-8 - string: '{"description":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1731699147","layout_type":"ordered","title":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1731699147","widgets":[{"definition":{"requests":[{"query":{"compute":{"aggregation":"min","metric":"@duration"},"data_source":"events","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}},"request_type":"histogram"}],"show_legend":false,"title":"Events + string: '{"description":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1772451042","layout_type":"ordered","title":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1772451042","widgets":[{"definition":{"requests":[{"query":{"compute":{"aggregation":"min","metric":"@duration"},"data_source":"events","indexes":["*"],"name":"query1","search":{"query":""}},"request_type":"histogram"}],"show_legend":false,"title":"Events Platform - Request latency HOP","title_align":"left","title_size":"16","type":"distribution","xaxis":{"include_zero":true,"max":"auto","min":"auto","scale":"linear"},"yaxis":{"include_zero":true,"max":"auto","min":"auto","scale":"linear"}},"layout":{"height":2,"width":4,"x":0,"y":0}}]}' headers: Accept: @@ -15,30 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"p6k-cxc-g8m","title":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1731699147","description":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1731699147","author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/p6k-cxc-g8m/test-createadistributionwidgetusingahistogramrequestcontainingaformulasandfuncti","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"query":{"compute":{"aggregation":"min","metric":"@duration"},"data_source":"events","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}},"request_type":"histogram"}],"show_legend":false,"title":"Events - Platform - Request latency HOP","title_align":"left","title_size":"16","type":"distribution","xaxis":{"include_zero":true,"max":"auto","min":"auto","scale":"linear"},"yaxis":{"include_zero":true,"max":"auto","min":"auto","scale":"linear"}},"layout":{"height":2,"width":4,"x":0,"y":0},"id":8624507873468872}],"notify_list":null,"created_at":"2024-11-15T19:32:27.570354+00:00","modified_at":"2024-11-15T19:32:27.570354+00:00","restricted_roles":[]} - - ' + string: '{"id":"gz8-vqv-w54","title":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1772451042","description":"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_events_qu-1772451042","author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/gz8-vqv-w54/test-createadistributionwidgetusingahistogramrequestcontainingaformulasandfuncti","template_variables":null,"widgets":[{"definition":{"requests":[{"query":{"compute":{"aggregation":"min","metric":"@duration"},"data_source":"events","indexes":["*"],"name":"query1","search":{"query":""}},"request_type":"histogram"}],"show_legend":false,"title":"Events + Platform - Request latency HOP","title_align":"left","title_size":"16","type":"distribution","xaxis":{"include_zero":true,"max":"auto","min":"auto","scale":"linear"},"yaxis":{"include_zero":true,"max":"auto","min":"auto","scale":"linear"}},"layout":{"height":2,"width":4,"x":0,"y":0},"id":4552786651040889}],"notify_list":null,"created_at":"2026-03-02T11:30:42.857797+00:00","modified_at":"2026-03-02T11:30:42.857797+00:00","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:32:27 GMT +- recorded_at: Mon, 02 Mar 2026 11:30:42 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/p6k-cxc-g8m + uri: https://api.datadoghq.com/api/v1/dashboard/gz8-vqv-w54 response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"p6k-cxc-g8m"} - - ' + string: '{"deleted_dashboard_id":"gz8-vqv-w54"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.frozen b/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.frozen index b42d25287e38..449f5cd1549e 100644 --- a/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.frozen +++ b/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.frozen @@ -1 +1 @@ -2025-12-08T10:46:15.353Z \ No newline at end of file +2026-03-02T11:30:56.185Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.yml b/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.yml index eaf20cd91645..3ced16a379ff 100644 --- a/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.yml +++ b/cassettes/features/v1/dashboards/Create-a-geomap-widget-with-conditional-formats-and-text-formats.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Mon, 08 Dec 2025 10:46:15 GMT +- recorded_at: Mon, 02 Mar 2026 11:30:56 GMT request: body: encoding: UTF-8 - string: '{"description":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1765190775","layout_type":"ordered","notify_list":[],"reflow_type":"fixed","tags":[],"template_variables":[],"title":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1765190775","widgets":[{"definition":{"requests":[{"conditional_formats":[{"comparator":">","palette":"white_on_green","value":1000}],"formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"rum","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"@type:session"}}],"response_format":"scalar","sort":{"count":250,"order_by":[{"index":0,"order":"desc","type":"formula"}]}},{"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"}],"query":{"data_source":"logs_stream","indexes":[],"query_string":"","storage":"hot"},"response_format":"event_list","style":{"color_by":"status"},"text_formats":[{"match":{"type":"is","value":"error"},"palette":"white_on_red"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"title":"Log + string: '{"description":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1772451056","layout_type":"ordered","notify_list":[],"reflow_type":"fixed","tags":[],"template_variables":[],"title":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1772451056","widgets":[{"definition":{"requests":[{"conditional_formats":[{"comparator":">","palette":"white_on_green","value":1000}],"formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"rum","indexes":["*"],"name":"query1","search":{"query":"@type:session"}}],"response_format":"scalar","sort":{"count":250,"order_by":[{"index":0,"order":"desc","type":"formula"}]}},{"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"}],"query":{"data_source":"logs_stream","indexes":[],"query_string":"","storage":"hot"},"response_format":"event_list","style":{"color_by":"status"},"text_formats":[{"match":{"type":"is","value":"error"},"palette":"white_on_red"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"title":"Log Count by Service and Source","type":"geomap","view":{"focus":"NORTH_AMERICA"}},"layout":{"height":6,"width":12,"x":0,"y":0}}]}' headers: Accept: @@ -15,27 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"n2i-h6d-x6a","title":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1765190775","description":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1765190775","author_handle":"shishi.liu@datadoghq.com","author_name":"Shishi - Liu","layout_type":"ordered","url":"/dashboard/n2i-h6d-x6a/test-createageomapwidgetwithconditionalformatsandtextformats-1765190775","template_variables":[],"widgets":[{"definition":{"requests":[{"conditional_formats":[{"comparator":">","palette":"white_on_green","value":1000}],"formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"rum","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"@type:session"}}],"response_format":"scalar","sort":{"count":250,"order_by":[{"index":0,"order":"desc","type":"formula"}]}},{"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"}],"query":{"data_source":"logs_stream","indexes":[],"query_string":"","storage":"hot"},"response_format":"event_list","style":{"color_by":"status"},"text_formats":[{"match":{"type":"is","value":"error"},"palette":"white_on_red"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"title":"Log - Count by Service and Source","type":"geomap","view":{"focus":"NORTH_AMERICA"}},"layout":{"height":6,"width":12,"x":0,"y":0},"id":4916490421180340}],"notify_list":[],"created_at":"2025-12-08T10:46:15.791396+00:00","modified_at":"2025-12-08T10:46:15.791396+00:00","reflow_type":"fixed","tags":[],"restricted_roles":[]}' + string: '{"id":"bgt-jqb-knw","title":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1772451056","description":"Test-Create_a_geomap_widget_with_conditional_formats_and_text_formats-1772451056","author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/bgt-jqb-knw/test-createageomapwidgetwithconditionalformatsandtextformats-1772451056","template_variables":[],"widgets":[{"definition":{"requests":[{"conditional_formats":[{"comparator":">","palette":"white_on_green","value":1000}],"formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"rum","indexes":["*"],"name":"query1","search":{"query":"@type:session"}}],"response_format":"scalar","sort":{"count":250,"order_by":[{"index":0,"order":"desc","type":"formula"}]}},{"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"}],"query":{"data_source":"logs_stream","indexes":[],"query_string":"","storage":"hot"},"response_format":"event_list","style":{"color_by":"status"},"text_formats":[{"match":{"type":"is","value":"error"},"palette":"white_on_red"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"title":"Log + Count by Service and Source","type":"geomap","view":{"focus":"NORTH_AMERICA"}},"layout":{"height":6,"width":12,"x":0,"y":0},"id":5839657916661505}],"notify_list":[],"created_at":"2026-03-02T11:30:56.347840+00:00","modified_at":"2026-03-02T11:30:56.347840+00:00","reflow_type":"fixed","tags":[],"restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Mon, 08 Dec 2025 10:46:15 GMT +- recorded_at: Mon, 02 Mar 2026 11:30:56 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/n2i-h6d-x6a + uri: https://api.datadoghq.com/api/v1/dashboard/bgt-jqb-knw response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"n2i-h6d-x6a"}' + string: '{"deleted_dashboard_id":"bgt-jqb-knw"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.frozen index 15ab4cd26e09..030a994a8893 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.frozen @@ -1 +1 @@ -2024-11-15T19:32:30.413Z \ No newline at end of file +2026-03-02T11:31:04.295Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.yml index ec4cd5667e1a..a69a3749d739 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-change-widget.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:30 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:04 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_change_widget-1731699150","widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_change_widget-1772451064","widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' headers: Accept: - application/json @@ -14,29 +14,26 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"pwu-pqa-fin","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_change_widget-1731699150","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/pwu-pqa-fin/test-createanewdashboardwithaformulasandfunctionschangewidget-1731699150","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":4495141746383449}],"notify_list":null,"created_at":"2024-11-15T19:32:30.566816+00:00","modified_at":"2024-11-15T19:32:30.566816+00:00","restricted_roles":[]} - - ' + string: '{"id":"tnn-avt-a8u","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_change_widget-1772451064","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/tnn-avt-a8u/test-createanewdashboardwithaformulasandfunctionschangewidget-1772451064","template_variables":null,"widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":8404351906051529}],"notify_list":null,"created_at":"2026-03-02T11:31:04.419166+00:00","modified_at":"2026-03-02T11:31:04.419166+00:00","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:32:30 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:04 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/pwu-pqa-fin + uri: https://api.datadoghq.com/api/v1/dashboard/tnn-avt-a8u response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"pwu-pqa-fin"} - - ' + string: '{"deleted_dashboard_id":"tnn-avt-a8u"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.frozen index 2186983177ef..188e625038d5 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.frozen @@ -1 +1 @@ -2024-11-15T19:32:30.862Z \ No newline at end of file +2026-03-02T11:31:11.876Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.yml index b76f7fcec9f8..0b5935928153 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-a-formulas-and-functions-treemap-widget.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:30 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:11 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_treemap_widget-1731699150","widgets":[{"definition":{"requests":[{"formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"title":"","type":"treemap"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_treemap_widget-1772451071","widgets":[{"definition":{"requests":[{"formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"title":"","type":"treemap"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' headers: Accept: - application/json @@ -14,29 +14,26 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"sa5-czr-uat","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_treemap_widget-1731699150","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/sa5-czr-uat/test-createanewdashboardwithaformulasandfunctionstreemapwidget-1731699150","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"title":"","type":"treemap"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":2892895408255139}],"notify_list":null,"created_at":"2024-11-15T19:32:31.032272+00:00","modified_at":"2024-11-15T19:32:31.032272+00:00","restricted_roles":[]} - - ' + string: '{"id":"ci5-4gc-khj","title":"Test-Create_a_new_dashboard_with_a_formulas_and_functions_treemap_widget-1772451071","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/ci5-4gc-khj/test-createanewdashboardwithaformulasandfunctionstreemapwidget-1772451071","template_variables":null,"widgets":[{"definition":{"requests":[{"formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"title":"","type":"treemap"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":3482978988980758}],"notify_list":null,"created_at":"2026-03-02T11:31:12.018143+00:00","modified_at":"2026-03-02T11:31:12.018143+00:00","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:32:30 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:11 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/sa5-czr-uat + uri: https://api.datadoghq.com/api/v1/dashboard/ci5-4gc-khj response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"sa5-czr-uat"} - - ' + string: '{"deleted_dashboard_id":"ci5-4gc-khj"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.frozen index f17762337a4b..4356a9cd860c 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.frozen @@ -1 +1 @@ -2024-11-15T19:32:36.010Z \ No newline at end of file +2026-03-02T11:31:19.426Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.yml index 020056ffa6e3..55583e86786a 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-an-audit-logs-query.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:36 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:19 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_an_audit_logs_query-1731699156 - with Audit Logs Query","widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"audit","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":2,"y":0}}]}' + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_an_audit_logs_query-1772451079 + with Audit Logs Query","widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"audit","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":2,"y":0}}]}' headers: Accept: - application/json @@ -15,30 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"gu5-cq8-akb","title":"Test-Create_a_new_dashboard_with_an_audit_logs_query-1731699156 - with Audit Logs Query","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/gu5-cq8-akb/test-createanewdashboardwithanauditlogsquery-1731699156-with-audit-logs-query","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"audit","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":2,"y":0},"id":1074067237256022}],"notify_list":null,"created_at":"2024-11-15T19:32:36.200033+00:00","modified_at":"2024-11-15T19:32:36.200033+00:00","restricted_roles":[]} - - ' + string: '{"id":"u8e-wje-ac7","title":"Test-Create_a_new_dashboard_with_an_audit_logs_query-1772451079 + with Audit Logs Query","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/u8e-wje-ac7/test-createanewdashboardwithanauditlogsquery-1772451079-with-audit-logs-query","template_variables":null,"widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"audit","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":2,"y":0},"id":3153401975327610}],"notify_list":null,"created_at":"2026-03-02T11:31:19.790638+00:00","modified_at":"2026-03-02T11:31:19.790638+00:00","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:32:36 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:19 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/gu5-cq8-akb + uri: https://api.datadoghq.com/api/v1/dashboard/u8e-wje-ac7 response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"gu5-cq8-akb"} - - ' + string: '{"deleted_dashboard_id":"u8e-wje-ac7"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-facet-group-by.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-facet-group-by.frozen new file mode 100644 index 000000000000..28bcf5a21ebd --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-facet-group-by.frozen @@ -0,0 +1 @@ +2026-03-02T11:31:55.658Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-facet-group-by.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-facet-group-by.yml new file mode 100644 index 000000000000..ef9be2af10de --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-facet-group-by.yml @@ -0,0 +1,45 @@ +http_interactions: +- recorded_at: Mon, 02 Mar 2026 11:31:55 GMT + request: + body: + encoding: UTF-8 + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_formulas_and_functions_events_query_using_facet_group_by-1772451115 + with events facet group_by","widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"events","group_by":[{"facet":"service","limit":10}],"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":0,"y":0}}]}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + encoding: UTF-8 + string: '{"id":"ju2-xz8-5m5","title":"Test-Create_a_new_dashboard_with_formulas_and_functions_events_query_using_facet_group_by-1772451115 + with events facet group_by","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/ju2-xz8-5m5/test-createanewdashboardwithformulasandfunctionseventsqueryusingfacetgroupby-177","template_variables":null,"widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"events","group_by":[{"facet":"service","limit":10}],"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":0,"y":0},"id":810193426998809}],"notify_list":null,"created_at":"2026-03-02T11:31:55.791459+00:00","modified_at":"2026-03-02T11:31:55.791459+00:00","restricted_roles":[]}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +- recorded_at: Mon, 02 Mar 2026 11:31:55 GMT + request: + body: null + headers: + Accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/ju2-xz8-5m5 + response: + body: + encoding: UTF-8 + string: '{"deleted_dashboard_id":"ju2-xz8-5m5"}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-flat-group-by-fields.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-flat-group-by-fields.frozen new file mode 100644 index 000000000000..d5798d2791d2 --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-flat-group-by-fields.frozen @@ -0,0 +1 @@ +2026-03-02T11:32:08.470Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-flat-group-by-fields.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-flat-group-by-fields.yml new file mode 100644 index 000000000000..460d43c8be3d --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-formulas-and-functions-events-query-using-flat-group-by-fields.yml @@ -0,0 +1,45 @@ +http_interactions: +- recorded_at: Mon, 02 Mar 2026 11:32:08 GMT + request: + body: + encoding: UTF-8 + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_formulas_and_functions_events_query_using_flat_group_by_fields-1772451128 + with events flat group_by fields","widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"events","group_by":{"fields":["service","host"],"limit":10},"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":0,"y":0}}]}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + encoding: UTF-8 + string: '{"id":"fr8-fsd-e2q","title":"Test-Create_a_new_dashboard_with_formulas_and_functions_events_query_using_flat_group_by_fields-1772451128 + with events flat group_by fields","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/fr8-fsd-e2q/test-createanewdashboardwithformulasandfunctionseventsqueryusingflatgroupbyfield","template_variables":null,"widgets":[{"definition":{"requests":[{"queries":[{"compute":{"aggregation":"count"},"data_source":"events","group_by":{"fields":["service","host"],"limit":10},"name":"query1","search":{"query":""}}],"response_format":"timeseries"}],"type":"timeseries"},"layout":{"height":2,"width":4,"x":0,"y":0},"id":1614310387548006}],"notify_list":null,"created_at":"2026-03-02T11:32:08.617154+00:00","modified_at":"2026-03-02T11:32:08.617154+00:00","restricted_roles":[]}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +- recorded_at: Mon, 02 Mar 2026 11:32:08 GMT + request: + body: null + headers: + Accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/fr8-fsd-e2q + response: + body: + encoding: UTF-8 + string: '{"deleted_dashboard_id":"fr8-fsd-e2q"}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.frozen index 6a7b25ee77a1..a5c1be847d10 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.frozen @@ -1 +1 @@ -2024-11-15T19:32:44.075Z \ No newline at end of file +2026-03-02T11:31:32.400Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.yml index 9711382bd02b..b5f2c258ef39 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-invalid-team-tags-returns-Bad-Request-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:44 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:32 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","tags":["tm:foobar"],"title":"Test-Create_a_new_dashboard_with_invalid_team_tags_returns_Bad_Request_response-1731699164","widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' + string: '{"layout_type":"ordered","tags":["tm:foobar"],"title":"Test-Create_a_new_dashboard_with_invalid_team_tags_returns_Bad_Request_response-1772451092","widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' headers: Accept: - application/json @@ -14,7 +14,7 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"errors":["Invalid tag format. Tag key must be `team`."]}' + string: '{"errors":["Invalid tag format. Valid tag keys are: team."]}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.frozen index e14f7424cffa..b1fc72f49263 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.frozen @@ -1 +1 @@ -2024-11-15T19:32:46.182Z \ No newline at end of file +2026-03-02T11:31:40.100Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.yml index c83aa427ca59..439c0cdeb0f8 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-logs-query-table-widget-and-storage-parameter.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:46 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:40 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_logs_query_table_widget_and_storage_parameter-1731699166 - with query table widget and storage parameter","widgets":[{"definition":{"requests":[{"formulas":[{"cell_display_mode":"bar","conditional_formats":[],"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""},"storage":"online_archives"}],"response_format":"scalar","sort":{"count":50,"order_by":[{"index":0,"order":"desc","type":"formula"}]}}],"type":"query_table"}}]}' + string: '{"layout_type":"ordered","title":"Test-Create_a_new_dashboard_with_logs_query_table_widget_and_storage_parameter-1772451100 + with query table widget and storage parameter","widgets":[{"definition":{"requests":[{"formulas":[{"cell_display_mode":"bar","conditional_formats":[],"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""},"storage":"online_archives"}],"response_format":"scalar","sort":{"count":50,"order_by":[{"index":0,"order":"desc","type":"formula"}]}}],"type":"query_table"}}]}' headers: Accept: - application/json @@ -15,30 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"3bi-3is-gj3","title":"Test-Create_a_new_dashboard_with_logs_query_table_widget_and_storage_parameter-1731699166 - with query table widget and storage parameter","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/3bi-3is-gj3/test-createanewdashboardwithlogsquerytablewidgetandstorageparameter-1731699166-w","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"formulas":[{"cell_display_mode":"bar","conditional_formats":[],"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""},"storage":"online_archives"}],"response_format":"scalar","sort":{"count":50,"order_by":[{"index":0,"order":"desc","type":"formula"}]}}],"type":"query_table"},"id":6318589982774362}],"notify_list":null,"created_at":"2024-11-15T19:32:46.331888+00:00","modified_at":"2024-11-15T19:32:46.331888+00:00","restricted_roles":[]} - - ' + string: '{"id":"w66-sbc-bdb","title":"Test-Create_a_new_dashboard_with_logs_query_table_widget_and_storage_parameter-1772451100 + with query table widget and storage parameter","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/w66-sbc-bdb/test-createanewdashboardwithlogsquerytablewidgetandstorageparameter-1772451100-w","template_variables":null,"widgets":[{"definition":{"requests":[{"formulas":[{"cell_display_mode":"bar","conditional_formats":[],"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""},"storage":"online_archives"}],"response_format":"scalar","sort":{"count":50,"order_by":[{"index":0,"order":"desc","type":"formula"}]}}],"type":"query_table"},"id":3019646668045057}],"notify_list":null,"created_at":"2026-03-02T11:31:40.238249+00:00","modified_at":"2026-03-02T11:31:40.238249+00:00","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:32:46 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:40 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/3bi-3is-gj3 + uri: https://api.datadoghq.com/api/v1/dashboard/w66-sbc-bdb response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"3bi-3is-gj3"} - - ' + string: '{"deleted_dashboard_id":"w66-sbc-bdb"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.frozen b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.frozen index a85903d2bbf9..3808feb8a187 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.frozen @@ -1 +1 @@ -2024-11-15T19:32:57.038Z \ No newline at end of file +2026-03-02T11:31:48.054Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.yml b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.yml index adb74d947b5c..f9f86f145079 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-dashboard-with-team-tags-returns-OK-response.yml @@ -1,9 +1,9 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:32:57 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:48 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","tags":["team:foobar"],"title":"Test-Create_a_new_dashboard_with_team_tags_returns_OK_response-1731699177","widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' + string: '{"layout_type":"ordered","tags":["team:foobar"],"title":"Test-Create_a_new_dashboard_with_team_tags_returns_OK_response-1772451108","widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0}}]}' headers: Accept: - application/json @@ -14,29 +14,26 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"zb6-66m-ntf","title":"Test-Create_a_new_dashboard_with_team_tags_returns_OK_response-1731699177","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/zb6-66m-ntf/test-createanewdashboardwithteamtagsreturnsokresponse-1731699177","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","group_by":[],"indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":5234430955769094}],"notify_list":null,"created_at":"2024-11-15T19:32:57.190291+00:00","modified_at":"2024-11-15T19:32:57.190291+00:00","tags":["team:foobar"],"restricted_roles":[]} - - ' + string: '{"id":"9y6-h2y-3cw","title":"Test-Create_a_new_dashboard_with_team_tags_returns_OK_response-1772451108","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/9y6-h2y-3cw/test-createanewdashboardwithteamtagsreturnsokresponse-1772451108","template_variables":null,"widgets":[{"definition":{"requests":[{"change_type":"absolute","compare_to":"hour_before","formulas":[{"formula":"hour_before(query1)"},{"formula":"query1"}],"increase_good":true,"order_by":"change","order_dir":"desc","queries":[{"compute":{"aggregation":"count"},"data_source":"logs","indexes":["*"],"name":"query1","search":{"query":""}}],"response_format":"scalar"}],"time":{},"title":"","title_align":"left","title_size":"16","type":"change"},"layout":{"height":4,"width":4,"x":0,"y":0},"id":3025185757829094}],"notify_list":null,"created_at":"2026-03-02T11:31:48.191609+00:00","modified_at":"2026-03-02T11:31:48.191609+00:00","tags":["team:foobar"],"restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:32:57 GMT +- recorded_at: Mon, 02 Mar 2026 11:31:48 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/zb6-66m-ntf + uri: https://api.datadoghq.com/api/v1/dashboard/9y6-h2y-3cw response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"zb6-66m-ntf"} - - ' + string: '{"deleted_dashboard_id":"9y6-h2y-3cw"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.frozen index acc6b9445ff8..ef99a24fcd2a 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.frozen @@ -1 +1 @@ -2024-11-15T19:33:01.264Z \ No newline at end of file +2026-03-02T11:32:16.355Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.yml index 772461eb0115..671cbbed42e7 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-pipelines-data-source.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:33:01 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:16 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_ci_pipelines_data_source-1731699181 - with ci_pipelines datasource","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":{},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_ci_pipelines_data_source-1772451136 + with ci_pipelines datasource","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","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":{},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,30 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"c2y-k8z-ghy","title":"Test-Create_a_new_timeseries_widget_with_ci_pipelines_data_source-1731699181 - with ci_pipelines datasource","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/c2y-k8z-ghy/test-createanewtimeserieswidgetwithcipipelinesdatasource-1731699181-with-cipipel","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":{},"title":"","type":"timeseries"},"id":7421904402454882}],"notify_list":null,"created_at":"2024-11-15T19:33:01.435760+00:00","modified_at":"2024-11-15T19:33:01.435760+00:00","reflow_type":"auto","restricted_roles":[]} - - ' + string: '{"id":"ikx-wys-byr","title":"Test-Create_a_new_timeseries_widget_with_ci_pipelines_data_source-1772451136 + with ci_pipelines datasource","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/ikx-wys-byr/test-createanewtimeserieswidgetwithcipipelinesdatasource-1772451136-with-cipipel","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","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":{},"title":"","type":"timeseries"},"id":8543991818867248}],"notify_list":null,"created_at":"2026-03-02T11:32:16.504264+00:00","modified_at":"2026-03-02T11:32:16.504264+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:33:01 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:16 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/c2y-k8z-ghy + uri: https://api.datadoghq.com/api/v1/dashboard/ikx-wys-byr response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"c2y-k8z-ghy"} - - ' + string: '{"deleted_dashboard_id":"ikx-wys-byr"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.frozen index 6c2c78659f16..99f73e6ef035 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.frozen @@ -1 +1 @@ -2024-11-15T19:33:01.698Z \ No newline at end of file +2026-03-02T11:32:24.328Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.yml index e16ad27edb89..86fd7ef70728 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-ci-tests-data-source.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:33:01 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:24 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_ci_tests_data_source-1731699181 - with ci_tests datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"ci_tests","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_ci_tests_data_source-1772451144 + with ci_tests datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"ci_tests","indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,30 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"j89-gve-ggt","title":"Test-Create_a_new_timeseries_widget_with_ci_tests_data_source-1731699181 - with ci_tests datasource","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/j89-gve-ggt/test-createanewtimeserieswidgetwithcitestsdatasource-1731699181-with-citests-dat","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"},"data_source":"ci_tests","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":6228011042051238}],"notify_list":null,"created_at":"2024-11-15T19:33:01.854077+00:00","modified_at":"2024-11-15T19:33:01.854077+00:00","reflow_type":"auto","restricted_roles":[]} - - ' + string: '{"id":"f66-zye-xua","title":"Test-Create_a_new_timeseries_widget_with_ci_tests_data_source-1772451144 + with ci_tests datasource","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/f66-zye-xua/test-createanewtimeserieswidgetwithcitestsdatasource-1772451144-with-citests-dat","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"},"data_source":"ci_tests","indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":385385549859535}],"notify_list":null,"created_at":"2026-03-02T11:32:24.462023+00:00","modified_at":"2026-03-02T11:32:24.462023+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:33:01 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:24 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/j89-gve-ggt + uri: https://api.datadoghq.com/api/v1/dashboard/f66-zye-xua response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"j89-gve-ggt"} - - ' + string: '{"deleted_dashboard_id":"f66-zye-xua"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen index 62d6285a0e4d..9e4af164f3be 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen @@ -1 +1 @@ -2024-11-15T19:33:02.114Z \ No newline at end of file +2026-03-02T11:32:32.300Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml index 0bc0ca768ffe..e03a9f17f164 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Fri, 15 Nov 2024 19:33:02 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:32 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_incident_analytics_data_source-1731699182 - with incident_analytics datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"incident_analytics","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_incident_analytics_data_source-1772451152 + with incident_analytics datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"incident_analytics","indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,30 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"acy-6e4-hcx","title":"Test-Create_a_new_timeseries_widget_with_incident_analytics_data_source-1731699182 - with incident_analytics datasource","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/acy-6e4-hcx/test-createanewtimeserieswidgetwithincidentanalyticsdatasource-1731699182-with-i","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"},"data_source":"incident_analytics","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":1892327793861749}],"notify_list":null,"created_at":"2024-11-15T19:33:02.279466+00:00","modified_at":"2024-11-15T19:33:02.279466+00:00","reflow_type":"auto","restricted_roles":[]} - - ' + string: '{"id":"2er-mww-6yj","title":"Test-Create_a_new_timeseries_widget_with_incident_analytics_data_source-1772451152 + with incident_analytics datasource","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/2er-mww-6yj/test-createanewtimeserieswidgetwithincidentanalyticsdatasource-1772451152-with-i","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"},"data_source":"incident_analytics","indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":2433009372435309}],"notify_list":null,"created_at":"2026-03-02T11:32:32.438274+00:00","modified_at":"2026-03-02T11:32:32.438274+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Fri, 15 Nov 2024 19:33:02 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:32 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/acy-6e4-hcx + uri: https://api.datadoghq.com/api/v1/dashboard/2er-mww-6yj response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"acy-6e4-hcx"} - - ' + string: '{"deleted_dashboard_id":"2er-mww-6yj"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.frozen index 6cbda14f174d..623625b0e671 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.frozen @@ -1 +1 @@ -2025-08-26T19:47:58.449Z \ No newline at end of file +2026-03-02T11:32:44.844Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.yml index 0d451b99878d..963972b6e270 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-legacy-live-span-time-format.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Tue, 26 Aug 2025 19:47:58 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:44 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_legacy_live_span_time_format-1756237678 - 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":{"hide_incomplete_cost_data":true,"live_span":"5m"},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_legacy_live_span_time_format-1772451164 + 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","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":{"hide_incomplete_cost_data":true,"live_span":"5m"},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,29 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"wek-eci-qnn","title":"Test-Create_a_new_timeseries_widget_with_legacy_live_span_time_format-1756237678 - with legacy live span time","description":null,"author_handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","author_name":"CI - Account","layout_type":"ordered","url":"/dashboard/wek-eci-qnn/test-createanewtimeserieswidgetwithlegacylivespantimeformat-1756237678-with-lega","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":{"hide_incomplete_cost_data":true,"live_span":"5m"},"title":"","type":"timeseries"},"id":3088384387119347}],"notify_list":null,"created_at":"2025-08-26T19:47:58.616519+00:00","modified_at":"2025-08-26T19:47:58.616519+00:00","reflow_type":"auto","restricted_roles":[]}' + string: '{"id":"vk5-d2n-u64","title":"Test-Create_a_new_timeseries_widget_with_legacy_live_span_time_format-1772451164 + with legacy live span time","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/vk5-d2n-u64/test-createanewtimeserieswidgetwithlegacylivespantimeformat-1772451164-with-lega","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","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":{"hide_incomplete_cost_data":true,"live_span":"5m"},"title":"","type":"timeseries"},"id":6488713900601904}],"notify_list":null,"created_at":"2026-03-02T11:32:44.975524+00:00","modified_at":"2026-03-02T11:32:44.975524+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Tue, 26 Aug 2025 19:47:58 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:44 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/wek-eci-qnn + uri: https://api.datadoghq.com/api/v1/dashboard/vk5-d2n-u64 response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"wek-eci-qnn"} - - ' + string: '{"deleted_dashboard_id":"vk5-d2n-u64"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.frozen index 954a9588437a..c5e47817f340 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.frozen @@ -1 +1 @@ -2025-08-26T19:47:58.908Z \ No newline at end of file +2026-03-02T11:32:52.742Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.yml index c481ff4072fe..c725d250927c 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-fixed-span-time-format.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Tue, 26 Aug 2025 19:47:58 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:52 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_new_fixed_span_time_format-1756237678 - 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,"hide_incomplete_cost_data":true,"to":1712083128,"type":"fixed"},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_new_fixed_span_time_format-1772451172 + 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","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,"hide_incomplete_cost_data":true,"to":1712083128,"type":"fixed"},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,29 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"43b-7uw-9hv","title":"Test-Create_a_new_timeseries_widget_with_new_fixed_span_time_format-1756237678 - with new fixed span time","description":null,"author_handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","author_name":"CI - Account","layout_type":"ordered","url":"/dashboard/43b-7uw-9hv/test-createanewtimeserieswidgetwithnewfixedspantimeformat-1756237678-with-new-fi","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,"hide_incomplete_cost_data":true,"to":1712083128,"type":"fixed"},"title":"","type":"timeseries"},"id":7908755715912813}],"notify_list":null,"created_at":"2025-08-26T19:47:59.063106+00:00","modified_at":"2025-08-26T19:47:59.063106+00:00","reflow_type":"auto","restricted_roles":[]}' + string: '{"id":"tyc-7bs-dg2","title":"Test-Create_a_new_timeseries_widget_with_new_fixed_span_time_format-1772451172 + with new fixed span time","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/tyc-7bs-dg2/test-createanewtimeserieswidgetwithnewfixedspantimeformat-1772451172-with-new-fi","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","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,"hide_incomplete_cost_data":true,"to":1712083128,"type":"fixed"},"title":"","type":"timeseries"},"id":3025372441855102}],"notify_list":null,"created_at":"2026-03-02T11:32:53.112506+00:00","modified_at":"2026-03-02T11:32:53.112506+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Tue, 26 Aug 2025 19:47:58 GMT +- recorded_at: Mon, 02 Mar 2026 11:32:52 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/43b-7uw-9hv + uri: https://api.datadoghq.com/api/v1/dashboard/tyc-7bs-dg2 response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"43b-7uw-9hv"} - - ' + string: '{"deleted_dashboard_id":"tyc-7bs-dg2"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.frozen index b4d5164c57a2..517d03c9937e 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.frozen @@ -1 +1 @@ -2025-08-26T19:47:59.336Z \ No newline at end of file +2026-03-02T11:33:01.159Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.yml index be584d1a39c3..df781a909238 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-new-live-span-time-format.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Tue, 26 Aug 2025 19:47:59 GMT +- recorded_at: Mon, 02 Mar 2026 11:33:01 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_new_live_span_time_format-1756237679 - 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":{"hide_incomplete_cost_data":true,"type":"live","unit":"minute","value":8},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_new_live_span_time_format-1772451181 + 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","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":{"hide_incomplete_cost_data":true,"type":"live","unit":"minute","value":8},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,29 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"gwt-rfa-qem","title":"Test-Create_a_new_timeseries_widget_with_new_live_span_time_format-1756237679 - with new live span time","description":null,"author_handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","author_name":"CI - Account","layout_type":"ordered","url":"/dashboard/gwt-rfa-qem/test-createanewtimeserieswidgetwithnewlivespantimeformat-1756237679-with-new-liv","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":{"hide_incomplete_cost_data":true,"type":"live","unit":"minute","value":8},"title":"","type":"timeseries"},"id":6382558947547501}],"notify_list":null,"created_at":"2025-08-26T19:47:59.501406+00:00","modified_at":"2025-08-26T19:47:59.501406+00:00","reflow_type":"auto","restricted_roles":[]}' + string: '{"id":"j9i-er8-3fp","title":"Test-Create_a_new_timeseries_widget_with_new_live_span_time_format-1772451181 + with new live span time","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/j9i-er8-3fp/test-createanewtimeserieswidgetwithnewlivespantimeformat-1772451181-with-new-liv","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","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":{"hide_incomplete_cost_data":true,"type":"live","unit":"minute","value":8},"title":"","type":"timeseries"},"id":6064667163154272}],"notify_list":null,"created_at":"2026-03-02T11:33:01.307731+00:00","modified_at":"2026-03-02T11:33:01.307731+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Tue, 26 Aug 2025 19:47:59 GMT +- recorded_at: Mon, 02 Mar 2026 11:33:01 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/gwt-rfa-qem + uri: https://api.datadoghq.com/api/v1/dashboard/j9i-er8-3fp response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"gwt-rfa-qem"} - - ' + string: '{"deleted_dashboard_id":"j9i-er8-3fp"}' headers: Content-Type: - application/json diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.frozen index ccf84dbc10c7..936b6e8459d7 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.frozen +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.frozen @@ -1 +1 @@ -2025-09-18T18:51:17.951Z \ No newline at end of file +2026-03-02T11:33:08.812Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.yml index 3d19d147cd4d..f477f659985f 100644 --- a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.yml +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-product-analytics-data-source.yml @@ -1,10 +1,10 @@ http_interactions: -- recorded_at: Thu, 18 Sep 2025 18:51:17 GMT +- recorded_at: Mon, 02 Mar 2026 11:33:08 GMT request: body: encoding: UTF-8 - string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_product_analytics_data_source-1758221477 - with product_analytics datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"product_analytics","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_product_analytics_data_source-1772451188 + with product_analytics datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"product_analytics","indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' headers: Accept: - application/json @@ -15,29 +15,27 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"id":"zvr-td5-ppm","title":"Test-Create_a_new_timeseries_widget_with_product_analytics_data_source-1758221477 - with product_analytics datasource","description":null,"author_handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","author_name":"CI - Account","layout_type":"ordered","url":"/dashboard/zvr-td5-ppm/test-createanewtimeserieswidgetwithproductanalyticsdatasource-1758221477-with-pr","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"},"data_source":"product_analytics","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":6058978575853641}],"notify_list":null,"created_at":"2025-09-18T18:51:18.107135+00:00","modified_at":"2025-09-18T18:51:18.107135+00:00","reflow_type":"auto","restricted_roles":[]}' + string: '{"id":"i2r-t4n-8wa","title":"Test-Create_a_new_timeseries_widget_with_product_analytics_data_source-1772451188 + with product_analytics datasource","description":null,"author_handle":"archana.asokan@datadoghq.com","author_name":"Archana + Asokan","layout_type":"ordered","url":"/dashboard/i2r-t4n-8wa/test-createanewtimeserieswidgetwithproductanalyticsdatasource-1772451188-with-pr","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"},"data_source":"product_analytics","indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":2831258963755573}],"notify_list":null,"created_at":"2026-03-02T11:33:08.943469+00:00","modified_at":"2026-03-02T11:33:08.943469+00:00","reflow_type":"auto","restricted_roles":[]}' headers: Content-Type: - application/json status: code: 200 message: OK -- recorded_at: Thu, 18 Sep 2025 18:51:17 GMT +- recorded_at: Mon, 02 Mar 2026 11:33:08 GMT request: body: null headers: Accept: - application/json method: DELETE - uri: https://api.datadoghq.com/api/v1/dashboard/zvr-td5-ppm + uri: https://api.datadoghq.com/api/v1/dashboard/i2r-t4n-8wa response: body: encoding: UTF-8 - string: '{"deleted_dashboard_id":"zvr-td5-ppm"} - - ' + string: '{"deleted_dashboard_id":"i2r-t4n-8wa"}' headers: Content-Type: - application/json diff --git a/examples/v1/dashboards/CreateDashboard_1024858348.rb b/examples/v1/dashboards/CreateDashboard_1024858348.rb index aa351cbbb072..03ec91192a83 100644 --- a/examples/v1/dashboards/CreateDashboard_1024858348.rb +++ b/examples/v1/dashboards/CreateDashboard_1024858348.rb @@ -33,7 +33,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::SCALAR, diff --git a/examples/v1/dashboards/CreateDashboard_1307120899.rb b/examples/v1/dashboards/CreateDashboard_1307120899.rb index f0bc78061f86..4d8e036e9427 100644 --- a/examples/v1/dashboards/CreateDashboard_1307120899.rb +++ b/examples/v1/dashboards/CreateDashboard_1307120899.rb @@ -40,7 +40,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_2064651578.rb b/examples/v1/dashboards/CreateDashboard_2064651578.rb index cb4c045fa183..40d174f41034 100644 --- a/examples/v1/dashboards/CreateDashboard_2064651578.rb +++ b/examples/v1/dashboards/CreateDashboard_2064651578.rb @@ -36,7 +36,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::SCALAR, diff --git a/examples/v1/dashboards/CreateDashboard_2490110261.rb b/examples/v1/dashboards/CreateDashboard_2490110261.rb index 57e742b305a8..bdfcc82ab00e 100644 --- a/examples/v1/dashboards/CreateDashboard_2490110261.rb +++ b/examples/v1/dashboards/CreateDashboard_2490110261.rb @@ -26,7 +26,6 @@ indexes: [ "*", ], - group_by: [], }), ], }), diff --git a/examples/v1/dashboards/CreateDashboard_2800096921.rb b/examples/v1/dashboards/CreateDashboard_2800096921.rb index 053c0c406952..eaba81921537 100644 --- a/examples/v1/dashboards/CreateDashboard_2800096921.rb +++ b/examples/v1/dashboards/CreateDashboard_2800096921.rb @@ -41,7 +41,6 @@ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, metric: "@ci.queue_time", }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_3066042014.rb b/examples/v1/dashboards/CreateDashboard_3066042014.rb index 63dbd60a03de..aed5bf607f9c 100644 --- a/examples/v1/dashboards/CreateDashboard_3066042014.rb +++ b/examples/v1/dashboards/CreateDashboard_3066042014.rb @@ -46,7 +46,6 @@ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, metric: "@ci.queue_time", }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_3451918078.rb b/examples/v1/dashboards/CreateDashboard_3451918078.rb index f09dc77b1f70..ab8b06b7e405 100644 --- a/examples/v1/dashboards/CreateDashboard_3451918078.rb +++ b/examples/v1/dashboards/CreateDashboard_3451918078.rb @@ -46,7 +46,6 @@ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, metric: "@ci.queue_time", }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_3669695268.rb b/examples/v1/dashboards/CreateDashboard_3669695268.rb index 20466c61fba0..501f947f3515 100644 --- a/examples/v1/dashboards/CreateDashboard_3669695268.rb +++ b/examples/v1/dashboards/CreateDashboard_3669695268.rb @@ -25,7 +25,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], storage: "online_archives", }), ], diff --git a/examples/v1/dashboards/CreateDashboard_3882428227.rb b/examples/v1/dashboards/CreateDashboard_3882428227.rb index 4bd9d314d09b..ef82b86c587e 100644 --- a/examples/v1/dashboards/CreateDashboard_3882428227.rb +++ b/examples/v1/dashboards/CreateDashboard_3882428227.rb @@ -41,7 +41,6 @@ indexes: [ "*", ], - group_by: [], }), request_type: DatadogAPIClient::V1::WidgetHistogramRequestType::HISTOGRAM, }), diff --git a/examples/v1/dashboards/CreateDashboard_4018282928.rb b/examples/v1/dashboards/CreateDashboard_4018282928.rb new file mode 100644 index 000000000000..4ddff41be70a --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_4018282928.rb @@ -0,0 +1,47 @@ +# Create a new dashboard with formulas and functions events query using flat group by fields + +require "datadog_api_client" +api_instance = DatadogAPIClient::V1::DashboardsAPI.new + +body = DatadogAPIClient::V1::Dashboard.new({ + title: "Example-Dashboard with events flat group_by fields", + widgets: [ + DatadogAPIClient::V1::Widget.new({ + definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({ + type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES, + requests: [ + DatadogAPIClient::V1::TimeseriesWidgetRequest.new({ + response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, + queries: [ + DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinition.new({ + data_source: DatadogAPIClient::V1::FormulaAndFunctionEventsDataSource::EVENTS, + name: "query1", + search: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionSearch.new({ + query: "", + }), + compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ + aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, + }), + group_by: DatadogAPIClient::V1::FormulaAndFunctionEventQueryGroupByFields.new({ + fields: [ + "service", + "host", + ], + limit: 10, + }), + }), + ], + }), + ], + }), + layout: DatadogAPIClient::V1::WidgetLayout.new({ + x: 0, + y: 0, + width: 4, + height: 2, + }), + }), + ], + layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED, +}) +p api_instance.create_dashboard(body) diff --git a/examples/v1/dashboards/CreateDashboard_4262729673.rb b/examples/v1/dashboards/CreateDashboard_4262729673.rb index 5e50a47244dc..782f576337c4 100644 --- a/examples/v1/dashboards/CreateDashboard_4262729673.rb +++ b/examples/v1/dashboards/CreateDashboard_4262729673.rb @@ -44,7 +44,6 @@ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, metric: "@ci.queue_time", }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_578885732.rb b/examples/v1/dashboards/CreateDashboard_578885732.rb index aa0bd01916d1..e231ff625ea4 100644 --- a/examples/v1/dashboards/CreateDashboard_578885732.rb +++ b/examples/v1/dashboards/CreateDashboard_578885732.rb @@ -36,7 +36,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::SCALAR, diff --git a/examples/v1/dashboards/CreateDashboard_607525069.rb b/examples/v1/dashboards/CreateDashboard_607525069.rb index 326ef5713d9c..308437ddba10 100644 --- a/examples/v1/dashboards/CreateDashboard_607525069.rb +++ b/examples/v1/dashboards/CreateDashboard_607525069.rb @@ -40,7 +40,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/examples/v1/dashboards/CreateDashboard_732700533.rb b/examples/v1/dashboards/CreateDashboard_732700533.rb new file mode 100644 index 000000000000..d6f1d2ea9390 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_732700533.rb @@ -0,0 +1,46 @@ +# Create a new dashboard with formulas and functions events query using facet group by + +require "datadog_api_client" +api_instance = DatadogAPIClient::V1::DashboardsAPI.new + +body = DatadogAPIClient::V1::Dashboard.new({ + title: "Example-Dashboard with events facet group_by", + widgets: [ + DatadogAPIClient::V1::Widget.new({ + definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({ + type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES, + requests: [ + DatadogAPIClient::V1::TimeseriesWidgetRequest.new({ + response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, + queries: [ + DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinition.new({ + data_source: DatadogAPIClient::V1::FormulaAndFunctionEventsDataSource::EVENTS, + name: "query1", + search: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionSearch.new({ + query: "", + }), + compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ + aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, + }), + group_by: [ + DatadogAPIClient::V1::FormulaAndFunctionEventQueryGroupBy.new({ + facet: "service", + limit: 10, + }), + ], + }), + ], + }), + ], + }), + layout: DatadogAPIClient::V1::WidgetLayout.new({ + x: 0, + y: 0, + width: 4, + height: 2, + }), + }), + ], + layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED, +}) +p api_instance.create_dashboard(body) diff --git a/examples/v1/dashboards/CreateDashboard_9836563.rb b/examples/v1/dashboards/CreateDashboard_9836563.rb index 058c5666a050..18e2abc2060a 100644 --- a/examples/v1/dashboards/CreateDashboard_9836563.rb +++ b/examples/v1/dashboards/CreateDashboard_9836563.rb @@ -27,7 +27,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], conditional_formats: [ diff --git a/examples/v1/dashboards/CreateDashboard_985012506.rb b/examples/v1/dashboards/CreateDashboard_985012506.rb index b14b575ee811..b915d5c0fa5c 100644 --- a/examples/v1/dashboards/CreateDashboard_985012506.rb +++ b/examples/v1/dashboards/CreateDashboard_985012506.rb @@ -40,7 +40,6 @@ compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, }), - group_by: [], }), ], response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, diff --git a/features/v1/dashboards.feature b/features/v1/dashboards.feature index 349f7de6f9d7..5a243eb4bebd 100644 --- a/features/v1/dashboards.feature +++ b/features/v1/dashboards.feature @@ -38,7 +38,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a distribution widget using a histogram request containing a formulas and functions events query Given new "CreateDashboard" request - And body with value { "title": "{{ unique }}", "description": "{{ unique }}", "widgets": [ { "definition": { "title": "Events Platform - Request latency HOP", "title_size": "16", "title_align": "left", "show_legend": false, "type": "distribution", "xaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "yaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "requests": [ { "query": { "search": { "query": "" }, "data_source": "events", "compute": { "metric": "@duration", "aggregation": "min" }, "name": "query1", "indexes": [ "*" ], "group_by": [] }, "request_type": "histogram" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 2 } } ], "layout_type": "ordered" } + And body with value { "title": "{{ unique }}", "description": "{{ unique }}", "widgets": [ { "definition": { "title": "Events Platform - Request latency HOP", "title_size": "16", "title_align": "left", "show_legend": false, "type": "distribution", "xaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "yaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "requests": [ { "query": { "search": { "query": "" }, "data_source": "events", "compute": { "metric": "@duration", "aggregation": "min" }, "name": "query1", "indexes": [ "*" ] }, "request_type": "histogram" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 2 } } ], "layout_type": "ordered" } When the request is sent Then the response status is 200 OK And the response "widgets[0].definition.requests[0].request_type" is equal to "histogram" @@ -48,7 +48,6 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].query.compute.aggregation" is equal to "min" And the response "widgets[0].definition.requests[0].query.name" is equal to "query1" And the response "widgets[0].definition.requests[0].query.indexes" is equal to ["*"] - And the response "widgets[0].definition.requests[0].query.group_by" is equal to [] @team:DataDog/dashboards-backend Scenario: Create a distribution widget using a histogram request containing a formulas and functions metrics query @@ -75,7 +74,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a geomap widget with conditional formats and text formats Given new "CreateDashboard" request - And body with value {"title": "{{ unique }}","description": "{{ unique }}","widgets":[{"definition":{"title":"Log Count by Service and Source","type":"geomap","requests":[{"response_format":"scalar","queries":[{"data_source":"rum","name":"query1","search":{"query":"@type:session"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"conditional_formats":[{"comparator":">","value":1000,"palette":"white_on_green"}],"formulas":[{"formula":"query1"}],"sort":{"count":250,"order_by":[{"type":"formula","index":0,"order":"desc"}]}},{"response_format":"event_list","query":{"data_source":"logs_stream","query_string":"","indexes":[],"storage":"hot"},"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"}],"style":{"color_by":"status"},"text_formats":[{"match":{"type":"is","value":"error"},"palette":"white_on_red"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"view":{"focus":"NORTH_AMERICA"}},"layout":{"x":0,"y":0,"width":12,"height":6}}],"template_variables":[],"layout_type":"ordered","notify_list":[],"reflow_type":"fixed","tags":[]} + And body with value {"title": "{{ unique }}","description": "{{ unique }}","widgets":[{"definition":{"title":"Log Count by Service and Source","type":"geomap","requests":[{"response_format":"scalar","queries":[{"data_source":"rum","name":"query1","search":{"query":"@type:session"},"indexes":["*"],"compute":{"aggregation":"count"}}],"conditional_formats":[{"comparator":">","value":1000,"palette":"white_on_green"}],"formulas":[{"formula":"query1"}],"sort":{"count":250,"order_by":[{"type":"formula","index":0,"order":"desc"}]}},{"response_format":"event_list","query":{"data_source":"logs_stream","query_string":"","indexes":[],"storage":"hot"},"columns":[{"field":"@network.client.geoip.location.latitude","width":"auto"},{"field":"@network.client.geoip.location.longitude","width":"auto"},{"field":"@network.client.geoip.country.iso_code","width":"auto"},{"field":"@network.client.geoip.subdivision.name","width":"auto"}],"style":{"color_by":"status"},"text_formats":[{"match":{"type":"is","value":"error"},"palette":"white_on_red"}]}],"style":{"palette":"hostmap_blues","palette_flip":false},"view":{"focus":"NORTH_AMERICA"}},"layout":{"x":0,"y":0,"width":12,"height":6}}],"template_variables":[],"layout_type":"ordered","notify_list":[],"reflow_type":"fixed","tags":[]} When the request is sent Then the response status is 200 OK And the response "widgets[0].definition.type" is equal to "geomap" @@ -144,7 +143,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new dashboard with a formulas and functions change widget Given new "CreateDashboard" request - And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } + And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" } } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } When the request is sent Then the response status is 200 OK And the response "widgets[0].definition.requests[0].response_format" is equal to "scalar" @@ -162,7 +161,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new dashboard with a formulas and functions treemap widget Given new "CreateDashboard" request - And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "type": "treemap", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } + And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "type": "treemap", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" } } ], "response_format": "scalar" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "layout_type": "ordered" } When the request is sent Then the response status is 200 OK And the response "widgets[0].definition.requests[0].response_format" is equal to "scalar" @@ -296,7 +295,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new dashboard with an audit logs query Given new "CreateDashboard" request - And body with value {"layout_type": "ordered", "title": "{{ unique }} with Audit Logs Query", "widgets": [{"definition": {"type": "timeseries","requests": [{"response_format": "timeseries","queries": [{"search": {"query": ""},"data_source": "audit","compute": {"aggregation": "count"},"name": "query1","indexes": ["*"],"group_by": []}]}]},"layout": {"x": 2,"y": 0,"width": 4,"height": 2}}]} + And body with value {"layout_type": "ordered", "title": "{{ unique }} with Audit Logs Query", "widgets": [{"definition": {"type": "timeseries","requests": [{"response_format": "timeseries","queries": [{"search": {"query": ""},"data_source": "audit","compute": {"aggregation": "count"},"name": "query1","indexes": ["*"]}]}]},"layout": {"x": 2,"y": 0,"width": 4,"height": 2}}]} When the request is sent Then the response status is 200 OK And the response "title" is equal to "{{ unique }} with Audit Logs Query" @@ -466,6 +465,27 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "metrics" And the response "widgets[0].definition.requests[0].style.palette" is equal to "dog_classic" + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with formulas and functions events query using facet group by + Given new "CreateDashboard" request + And body with value {"title": "{{ unique }} with events facet group_by", "widgets": [{"definition": {"type": "timeseries", "requests": [{"response_format": "timeseries", "queries": [{"data_source": "events", "name": "query1", "search": {"query": ""}, "compute": {"aggregation": "count"}, "group_by": [{"facet": "service", "limit": 10}]}]}]}, "layout": {"x": 0, "y": 0, "width": 4, "height": 2}}], "layout_type": "ordered"} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "events" + And the response "widgets[0].definition.requests[0].queries[0].group_by[0].facet" is equal to "service" + And the response "widgets[0].definition.requests[0].queries[0].group_by[0].limit" is equal to 10 + + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with formulas and functions events query using flat group by fields + Given new "CreateDashboard" request + And body with value {"title": "{{ unique }} with events flat group_by fields", "widgets": [{"definition": {"type": "timeseries", "requests": [{"response_format": "timeseries", "queries": [{"data_source": "events", "name": "query1", "search": {"query": ""}, "compute": {"aggregation": "count"}, "group_by": {"fields": ["service", "host"], "limit": 10}}]}]}, "layout": {"x": 0, "y": 0, "width": 4, "height": 2}}], "layout_type": "ordered"} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "events" + And the response "widgets[0].definition.requests[0].queries[0].group_by.fields[0]" is equal to "service" + And the response "widgets[0].definition.requests[0].queries[0].group_by.fields[1]" is equal to "host" + And the response "widgets[0].definition.requests[0].queries[0].group_by.limit" is equal to 10 + @team:DataDog/dashboards-backend Scenario: Create a new dashboard with formulas and functions scatterplot widget Given new "CreateDashboard" request @@ -568,7 +588,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new dashboard with invalid team tags returns "Bad Request" response Given new "CreateDashboard" request - And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "tags": ["tm:foobar"], "layout_type": "ordered" } + And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" } } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "tags": ["tm:foobar"], "layout_type": "ordered" } When the request is sent Then the response status is 400 Bad Request @@ -628,7 +648,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new dashboard with logs query table widget and storage parameter Given new "CreateDashboard" request - And body with value {"layout_type":"ordered","title":"{{ unique }} with query table widget and storage parameter","widgets":[{"definition":{"type":"query_table","requests":[{"queries":[{"data_source":"logs","name":"query1","search":{"query":""},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[],"storage":"online_archives"}],"formulas":[{"conditional_formats":[],"cell_display_mode":"bar","formula":"query1"}],"sort":{"count":50, "order_by":[{"type":"formula","index":0,"order":"desc"}]},"response_format":"scalar"}]}}]} + And body with value {"layout_type":"ordered","title":"{{ unique }} with query table widget and storage parameter","widgets":[{"definition":{"type":"query_table","requests":[{"queries":[{"data_source":"logs","name":"query1","search":{"query":""},"indexes":["*"],"compute":{"aggregation":"count"},"storage":"online_archives"}],"formulas":[{"conditional_formats":[],"cell_display_mode":"bar","formula":"query1"}],"sort":{"count":50, "order_by":[{"type":"formula","index":0,"order":"desc"}]},"response_format":"scalar"}]}}]} When the request is sent Then the response status is 200 OK And the response "widgets[0].definition.type" is equal to "query_table" @@ -867,7 +887,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new dashboard with team tags returns "OK" response Given new "CreateDashboard" request - And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [] } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "tags": ["team:foobar"], "layout_type": "ordered" } + And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "", "title_size": "16", "title_align": "left", "time": {}, "type": "change", "requests": [ { "formulas": [ { "formula": "hour_before(query1)" }, { "formula": "query1" } ], "queries": [ { "data_source": "logs", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" } } ], "response_format": "scalar", "compare_to": "hour_before", "increase_good": true, "order_by": "change", "change_type": "absolute", "order_dir": "desc" } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 4 } } ], "tags": ["team:foobar"], "layout_type": "ordered" } When the request is sent Then the response status is 200 OK And the response "title" is equal to "{{ unique }}" @@ -1030,7 +1050,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new timeseries widget with ci_pipelines data source Given new "CreateDashboard" request - And body with value {"title":"{{ unique }} with ci_pipelines datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"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"} + And body with value {"title":"{{ unique }} with ci_pipelines datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"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"}}],"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.requests[0].queries[0].data_source" is equal to "ci_pipelines" @@ -1039,7 +1059,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new timeseries widget with ci_tests data source Given new "CreateDashboard" request - And body with value {"title":"{{ unique }} with ci_tests datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_tests","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + And body with value {"title":"{{ unique }} with ci_tests datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"ci_tests","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"}}],"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.requests[0].queries[0].data_source" is equal to "ci_tests" @@ -1048,7 +1068,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new timeseries widget with incident_analytics data source Given new "CreateDashboard" request - And body with value {"title":"{{ unique }} with incident_analytics datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"incident_analytics","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + And body with value {"title":"{{ unique }} with incident_analytics datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"incident_analytics","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"}}],"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.requests[0].queries[0].data_source" is equal to "incident_analytics" @@ -1057,7 +1077,7 @@ Feature: Dashboards @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", "hide_incomplete_cost_data": true},"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"} + 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", "hide_incomplete_cost_data": true},"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"}}],"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" @@ -1066,7 +1086,7 @@ Feature: Dashboards @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, "hide_incomplete_cost_data": true},"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"} + 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, "hide_incomplete_cost_data": true},"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"}}],"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" @@ -1077,7 +1097,7 @@ Feature: Dashboards @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, "hide_incomplete_cost_data": true},"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"} + 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, "hide_incomplete_cost_data": true},"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"}}],"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" @@ -1088,7 +1108,7 @@ Feature: Dashboards @team:DataDog/dashboards-backend Scenario: Create a new timeseries widget with product_analytics data source Given new "CreateDashboard" request - And body with value {"title":"{{ unique }} with product_analytics datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"product_analytics","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + And body with value {"title":"{{ unique }} with product_analytics datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"product_analytics","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"}}],"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.requests[0].queries[0].data_source" is equal to "product_analytics" diff --git a/lib/datadog_api_client/inflector.rb b/lib/datadog_api_client/inflector.rb index 2b6e5fc02eed..a87c6dcf83ac 100644 --- a/lib/datadog_api_client/inflector.rb +++ b/lib/datadog_api_client/inflector.rb @@ -139,6 +139,8 @@ def overrides "v1.formula_and_function_event_query_definition_compute" => "FormulaAndFunctionEventQueryDefinitionCompute", "v1.formula_and_function_event_query_definition_search" => "FormulaAndFunctionEventQueryDefinitionSearch", "v1.formula_and_function_event_query_group_by" => "FormulaAndFunctionEventQueryGroupBy", + "v1.formula_and_function_event_query_group_by_config" => "FormulaAndFunctionEventQueryGroupByConfig", + "v1.formula_and_function_event_query_group_by_fields" => "FormulaAndFunctionEventQueryGroupByFields", "v1.formula_and_function_event_query_group_by_sort" => "FormulaAndFunctionEventQueryGroupBySort", "v1.formula_and_function_events_data_source" => "FormulaAndFunctionEventsDataSource", "v1.formula_and_function_metric_aggregation" => "FormulaAndFunctionMetricAggregation", diff --git a/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb b/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb index 62771467be83..d56959f6b752 100644 --- a/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb +++ b/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb @@ -30,7 +30,7 @@ class FormulaAndFunctionEventQueryDefinition # Data source for event platform-based queries. attr_reader :data_source - # Group by options. + # Group by configuration for a formula and functions events query. Accepts either a list of facet objects or a flat object that specifies a list of facet fields. attr_accessor :group_by # An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. @@ -69,7 +69,7 @@ def self.openapi_types :'compute' => :'FormulaAndFunctionEventQueryDefinitionCompute', :'cross_org_uuids' => :'Array', :'data_source' => :'FormulaAndFunctionEventsDataSource', - :'group_by' => :'Array', + :'group_by' => :'FormulaAndFunctionEventQueryGroupByConfig', :'indexes' => :'Array', :'name' => :'String', :'search' => :'FormulaAndFunctionEventQueryDefinitionSearch', @@ -110,9 +110,7 @@ def initialize(attributes = {}) end if attributes.key?(:'group_by') - if (value = attributes[:'group_by']).is_a?(Array) - self.group_by = value - end + self.group_by = attributes[:'group_by'] end if attributes.key?(:'indexes') diff --git a/lib/datadog_api_client/v1/models/formula_and_function_event_query_group_by_config.rb b/lib/datadog_api_client/v1/models/formula_and_function_event_query_group_by_config.rb new file mode 100644 index 000000000000..41a59fb52ff1 --- /dev/null +++ b/lib/datadog_api_client/v1/models/formula_and_function_event_query_group_by_config.rb @@ -0,0 +1,63 @@ +=begin +#Datadog API V1 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V1 + # Group by configuration for a formula and functions events query. Accepts either a list of facet objects or a flat object that specifies a list of facet fields. + module FormulaAndFunctionEventQueryGroupByConfig + class << self + include BaseOneOfModel + include BaseOneOfModelNoDiscriminator + + # List of class defined in oneOf (OpenAPI v3) + def openapi_one_of + [ + :'Array', + :'FormulaAndFunctionEventQueryGroupByFields' + ] + end + # Builds the object + # @param data [Mixed] Data to be matched against the list of oneOf items + # @return [Object] Returns the model or the data itself + def build(data) + # Go through the list of oneOf items and attempt to identify the appropriate one. + # Note: + # - We do not attempt to check whether exactly one item matches. + # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 }) + # due to the way the deserialization is made in the base_object template (it just casts without verifying). + # - TODO: scalar values are de facto behaving as if they were nullable. + # - TODO: logging when debugging is set. + openapi_one_of.each do |klass| + begin + next if klass == :AnyType # "nullable: true" + typed_data = find_and_cast_into_type(klass, data) + next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed + return typed_data if typed_data + rescue # rescue all errors so we keep iterating even if the current item lookup raises + end + end + + if openapi_one_of.include?(:AnyType) + data + else + self._unparsed = true + DatadogAPIClient::UnparsedObject.new(data) + end + end + end + end +end diff --git a/lib/datadog_api_client/v1/models/formula_and_function_event_query_group_by_fields.rb b/lib/datadog_api_client/v1/models/formula_and_function_event_query_group_by_fields.rb new file mode 100644 index 000000000000..7070c6f1c090 --- /dev/null +++ b/lib/datadog_api_client/v1/models/formula_and_function_event_query_group_by_fields.rb @@ -0,0 +1,145 @@ +=begin +#Datadog API V1 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + 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 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V1 + # Flat group by configuration using multiple event facet fields. + class FormulaAndFunctionEventQueryGroupByFields + include BaseGenericModel + + # List of event facets to group by. + attr_reader :fields + + # Number of groups to return. + attr_accessor :limit + + # Options for sorting group by results. + attr_accessor :sort + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'fields' => :'fields', + :'limit' => :'limit', + :'sort' => :'sort' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'fields' => :'Array', + :'limit' => :'Integer', + :'sort' => :'FormulaAndFunctionEventQueryGroupBySort' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::FormulaAndFunctionEventQueryGroupByFields` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + end + + if attributes.key?(:'limit') + self.limit = attributes[:'limit'] + end + + if attributes.key?(:'sort') + self.sort = attributes[:'sort'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @fields.nil? + true + end + + # Custom attribute writer method with validation + # @param fields [Object] Object to be assigned + # @!visibility private + def fields=(fields) + if fields.nil? + fail ArgumentError, 'invalid value for "fields", fields cannot be nil.' + end + @fields = fields + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fields == o.fields && + limit == o.limit && + sort == o.sort && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [fields, limit, sort, additional_properties].hash + end + end +end