From 9937217768ca9346be7908396b96bcb0768080d0 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 25 Mar 2026 19:04:40 +0000 Subject: [PATCH] Regenerate client from commit 4f75d86 of spec repo --- .generator/schemas/v1/openapi.yaml | 330 ++++++++++++++++++ .../frozen.json | 1 + .../recording.har | 110 ++++++ .../frozen.json | 1 + .../recording.har | 110 ++++++ .../frozen.json | 1 + .../recording.har | 110 ++++++ .../dashboards/CreateDashboard_258152475.ts | 54 +++ .../dashboards/CreateDashboard_2932151909.ts | 53 +++ .../dashboards/CreateDashboard_373890042.ts | 53 +++ features/v1/dashboards.feature | 37 ++ .../sankey_network_widget.json | 41 +++ .../sankey_product_analytics_widget.json | 37 ++ .../sankey_rum_widget.json | 37 ++ packages/datadog-api-client-v1/index.ts | 22 ++ .../models/EventsAggregation.ts | 17 + .../models/EventsAggregationValue.ts | 36 ++ .../models/ObjectSerializer.ts | 51 +++ ...ProductAnalyticsAudienceAccountSubquery.ts | 54 +++ .../models/ProductAnalyticsAudienceFilters.ts | 67 ++++ ...roductAnalyticsAudienceOccurrenceFilter.ts | 51 +++ ...ProductAnalyticsAudienceSegmentSubquery.ts | 54 +++ .../ProductAnalyticsAudienceUserSubquery.ts | 54 +++ .../models/SankeyJoinKeys.ts | 50 +++ .../models/SankeyNetworkDataSource.ts | 18 + .../models/SankeyNetworkQuery.ts | 106 ++++++ .../models/SankeyNetworkQueryCompute.ts | 52 +++ .../models/SankeyNetworkQueryMode.ts | 14 + .../models/SankeyNetworkQuerySort.ts | 61 ++++ .../models/SankeyNetworkRequest.ts | 53 +++ .../models/SankeyNetworkRequestType.ts | 14 + .../models/SankeyRumDataSource.ts | 18 + .../models/SankeyRumQuery.ts | 128 +++++++ .../models/SankeyRumQueryMode.ts | 15 + .../models/SankeyRumRequest.ts | 53 +++ .../models/SankeyWidgetDefinition.ts | 103 ++++++ .../models/SankeyWidgetDefinitionType.ts | 14 + .../models/SankeyWidgetRequest.ts | 18 + .../models/WidgetDefinition.ts | 2 + 39 files changed, 2100 insertions(+) create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/frozen.json create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/recording.har create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/frozen.json create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/recording.har create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/frozen.json create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/recording.har create mode 100644 examples/v1/dashboards/CreateDashboard_258152475.ts create mode 100644 examples/v1/dashboards/CreateDashboard_2932151909.ts create mode 100644 examples/v1/dashboards/CreateDashboard_373890042.ts create mode 100644 features/v1/dashboards_json_payload/sankey_network_widget.json create mode 100644 features/v1/dashboards_json_payload/sankey_product_analytics_widget.json create mode 100644 features/v1/dashboards_json_payload/sankey_rum_widget.json create mode 100644 packages/datadog-api-client-v1/models/EventsAggregation.ts create mode 100644 packages/datadog-api-client-v1/models/EventsAggregationValue.ts create mode 100644 packages/datadog-api-client-v1/models/ProductAnalyticsAudienceAccountSubquery.ts create mode 100644 packages/datadog-api-client-v1/models/ProductAnalyticsAudienceFilters.ts create mode 100644 packages/datadog-api-client-v1/models/ProductAnalyticsAudienceOccurrenceFilter.ts create mode 100644 packages/datadog-api-client-v1/models/ProductAnalyticsAudienceSegmentSubquery.ts create mode 100644 packages/datadog-api-client-v1/models/ProductAnalyticsAudienceUserSubquery.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyJoinKeys.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkDataSource.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkQuery.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkQueryCompute.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkQueryMode.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkQuerySort.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkRequest.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyNetworkRequestType.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyRumDataSource.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyRumQuery.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyRumQueryMode.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyRumRequest.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyWidgetDefinition.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyWidgetDefinitionType.ts create mode 100644 packages/datadog-api-client-v1/models/SankeyWidgetRequest.ts diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 2e8cfcd7772a..ede89abbaaef 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -2594,6 +2594,43 @@ components: type: string x-enum-varnames: - EVENT_TIMELINE + EventsAggregation: + description: The type of aggregation that can be performed on events-based queries. + example: avg + oneOf: + - $ref: "#/components/schemas/EventsAggregationValue" + - $ref: "#/components/schemas/EventsAggregationPercentile" + EventsAggregationPercentile: + description: Percentile aggregation. + pattern: '^pc[0-9]+(\.[0-9]+)?$' + type: string + EventsAggregationValue: + description: Standard aggregation types for events-based queries. + enum: + - avg + - cardinality + - count + - delta + - earliest + - latest + - max + - median + - min + - most_frequent + - sum + type: string + x-enum-varnames: + - AVG + - CARDINALITY + - COUNT + - DELTA + - EARLIEST + - LATEST + - MAX + - MEDIAN + - MIN + - MOST_FREQUENT + - SUM FormulaAndFunctionApmDependencyStatName: description: APM statistic. enum: @@ -10981,6 +11018,55 @@ components: required: - metric type: object + ProductAnalyticsAudienceAccountSubquery: + description: Product Analytics audience account subquery. + properties: + name: + type: string + query: + type: string + type: object + ProductAnalyticsAudienceFilters: + description: Product Analytics/RUM audience filters. + properties: + accounts: + items: + $ref: "#/components/schemas/ProductAnalyticsAudienceAccountSubquery" + type: array + filter_condition: + type: string + segments: + items: + $ref: "#/components/schemas/ProductAnalyticsAudienceSegmentSubquery" + type: array + users: + items: + $ref: "#/components/schemas/ProductAnalyticsAudienceUserSubquery" + type: array + type: object + ProductAnalyticsAudienceOccurrenceFilter: + properties: + operator: + type: string + value: + type: string + type: object + ProductAnalyticsAudienceSegmentSubquery: + description: Product Analytics audience segment subquery. + properties: + name: + type: string + segment_id: + type: string + type: object + ProductAnalyticsAudienceUserSubquery: + description: Product Analytics audience user subquery. + properties: + name: + type: string + query: + type: string + type: object QuerySortOrder: default: desc description: Direction of sort. @@ -12739,6 +12825,249 @@ components: type: string x-enum-varnames: - SLO + SankeyJoinKeys: + additionalProperties: false + description: Join keys. + properties: + primary: + description: Primary join key. + example: "session.id" + type: string + secondary: + description: Secondary join keys. + items: + description: Secondary join key. + type: string + type: array + required: + - primary + type: object + SankeyNetworkDataSource: + default: network + description: Network data source type. + enum: + - network_device_flows + - network + example: network + type: string + x-enum-varnames: + - NETWORK_DEVICE_FLOWS + - NETWORK + SankeyNetworkQuery: + additionalProperties: false + description: Query configuration for Sankey network widget. + properties: + compute: + $ref: "#/components/schemas/SankeyNetworkQueryCompute" + data_source: + $ref: "#/components/schemas/SankeyNetworkDataSource" + group_by: + description: Fields to group by. + example: ["source", "destination"] + items: + type: string + type: array + limit: + description: Maximum number of results. + example: 100 + format: int64 + type: integer + mode: + $ref: "#/components/schemas/SankeyNetworkQueryMode" + query_string: + description: Query string for filtering network data. + example: "*" + type: string + should_exclude_missing: + description: Whether to exclude missing values. + type: boolean + sort: + $ref: "#/components/schemas/SankeyNetworkQuerySort" + required: + - data_source + - query_string + - group_by + - limit + type: object + SankeyNetworkQueryCompute: + additionalProperties: false + description: Compute aggregation for network queries. + properties: + aggregation: + $ref: "#/components/schemas/EventsAggregation" + metric: + description: Metric to aggregate. + example: "" + type: string + required: + - aggregation + - metric + type: object + SankeyNetworkQueryMode: + default: target + description: Sankey mode for network queries. + enum: + - target + example: target + type: string + x-enum-varnames: + - TARGET + SankeyNetworkQuerySort: + description: Sort configuration for network queries. + properties: + field: + description: Field to sort by. + type: string + order: + $ref: "#/components/schemas/WidgetSort" + type: object + SankeyNetworkRequest: + additionalProperties: false + description: Sankey widget request for network data source. + properties: + query: + $ref: "#/components/schemas/SankeyNetworkQuery" + request_type: + $ref: "#/components/schemas/SankeyNetworkRequestType" + required: + - query + - request_type + type: object + SankeyNetworkRequestType: + default: netflow_sankey + description: Type of request for network Sankey widget. + enum: + - netflow_sankey + example: netflow_sankey + type: string + x-enum-varnames: + - NETFLOW_SANKEY + SankeyRumDataSource: + default: rum + description: Sankey widget with RUM data source. + enum: + - rum + - product_analytics + example: rum + type: string + x-enum-varnames: + - RUM + - PRODUCT_ANALYTICS + SankeyRumQuery: + additionalProperties: false + description: Sankey widget with RUM data source query. + properties: + audience_filters: + $ref: "#/components/schemas/ProductAnalyticsAudienceFilters" + data_source: + $ref: "#/components/schemas/SankeyRumDataSource" + entries_per_step: + description: Entries per step. + format: int64 + type: integer + join_keys: + $ref: "#/components/schemas/SankeyJoinKeys" + mode: + $ref: "#/components/schemas/SankeyRumQueryMode" + number_of_steps: + description: Number of steps. + format: int64 + type: integer + occurrences: + $ref: "#/components/schemas/ProductAnalyticsAudienceOccurrenceFilter" + query_string: + description: Query string. + example: "@type:view" + type: string + source: + description: Source. + type: string + subquery_id: + description: Subquery ID. + type: string + target: + description: Target. + type: string + required: + - data_source + - query_string + - mode + type: object + SankeyRumQueryMode: + default: source + description: Sankey mode for RUM queries. + enum: + - source + - target + example: source + type: string + x-enum-varnames: + - SOURCE + - TARGET + SankeyRumRequest: + additionalProperties: false + description: Sankey widget with RUM data source. + properties: + query: + $ref: "#/components/schemas/SankeyRumQuery" + request_type: + $ref: "#/components/schemas/SankeyWidgetDefinitionType" + required: + - query + - request_type + type: object + SankeyWidgetDefinition: + additionalProperties: false + description: The Sankey diagram visualizes the flow of data between categories, stages or sets of values. + properties: + requests: + description: List of Sankey widget requests. + example: + - query: + data_source: rum + mode: source + query_string: "@type:view" + request_type: sankey + items: + $ref: "#/components/schemas/SankeyWidgetRequest" + minItems: 1 + type: array + show_other_links: + description: Whether to show links for "other" category. + type: boolean + sort_nodes: + description: Whether to sort nodes in the Sankey diagram. + type: boolean + time: + $ref: "#/components/schemas/WidgetTime" + title: + description: Title of your widget. + type: string + title_align: + $ref: "#/components/schemas/WidgetTextAlign" + title_size: + description: Size of the title. + type: string + type: + $ref: "#/components/schemas/SankeyWidgetDefinitionType" + required: + - type + - requests + type: object + SankeyWidgetDefinitionType: + default: sankey + description: Type of the Sankey widget. + enum: + - sankey + example: sankey + type: string + x-enum-varnames: + - SANKEY + SankeyWidgetRequest: + description: Request definition for Sankey widget. + oneOf: + - $ref: "#/components/schemas/SankeyRumRequest" + - $ref: "#/components/schemas/SankeyNetworkRequest" ScatterPlotRequest: description: Updated scatter plot. properties: @@ -23817,6 +24146,7 @@ components: - $ref: "#/components/schemas/SLOListWidgetDefinition" - $ref: "#/components/schemas/SLOWidgetDefinition" - $ref: "#/components/schemas/ScatterPlotWidgetDefinition" + - $ref: "#/components/schemas/SankeyWidgetDefinition" - $ref: "#/components/schemas/ServiceMapWidgetDefinition" - $ref: "#/components/schemas/ServiceSummaryWidgetDefinition" - $ref: "#/components/schemas/SplitGraphWidgetDefinition" diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/frozen.json b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/frozen.json new file mode 100644 index 000000000000..4599b77aac72 --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/frozen.json @@ -0,0 +1 @@ +"2026-01-02T15:26:45.908Z" diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/recording.har b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/recording.har new file mode 100644 index 000000000000..24b7c02f71c2 --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-network-data-source_2400720861/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Dashboards/Create a new dashboard with sankey widget and network data source", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "05785a12bb7d29360e2fbb3622fc33d9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 461, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 559, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"description\":\"\",\"layout_type\":\"free\",\"notify_list\":[],\"template_variables\":[],\"title\":\"Test-Create_a_new_dashboard_with_sankey_widget_and_network_data_source-1767367605\",\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"network\",\"group_by\":[\"source\",\"destination\"],\"limit\":100,\"query_string\":\"*\"},\"request_type\":\"netflow_sankey\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"sankey\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0}}]}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard" + }, + "response": { + "bodySize": 794, + "content": { + "mimeType": "application/json", + "size": 794, + "text": "{\"id\":\"ngh-vn6-nqq\",\"title\":\"Test-Create_a_new_dashboard_with_sankey_widget_and_network_data_source-1767367605\",\"description\":\"\",\"author_handle\":\"sophie.cao@datadoghq.com\",\"author_name\":\"Sophie Cao\",\"layout_type\":\"free\",\"url\":\"/dashboard/ngh-vn6-nqq/test-createanewdashboardwithsankeywidgetandnetworkdatasource-1767367605\",\"template_variables\":[],\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"network\",\"group_by\":[\"source\",\"destination\"],\"limit\":100,\"query_string\":\"*\"},\"request_type\":\"netflow_sankey\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"sankey\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0},\"id\":4009219214466684}],\"notify_list\":[],\"created_at\":\"2026-01-02T15:26:46.118136+00:00\",\"modified_at\":\"2026-01-02T15:26:46.118136+00:00\",\"restricted_roles\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 380, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-01-02T15:26:45.915Z", + "time": 263 + }, + { + "_id": "9c0d340ab4d78451b849b8f5cb338e4d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard/ngh-vn6-nqq" + }, + "response": { + "bodySize": 38, + "content": { + "mimeType": "application/json", + "size": 38, + "text": "{\"deleted_dashboard_id\":\"ngh-vn6-nqq\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 379, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-01-02T15:26:46.193Z", + "time": 443 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/frozen.json b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/frozen.json new file mode 100644 index 000000000000..a476a997141d --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/frozen.json @@ -0,0 +1 @@ +"2026-01-02T15:27:06.013Z" diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/recording.har b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/recording.har new file mode 100644 index 000000000000..8f5c29464032 --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-product-analytics-data-source_561178972/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Dashboards/Create a new dashboard with sankey widget and product analytics data source", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "5d27f2ced55c4ad7cf3649de340a533c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 453, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 559, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"description\":\"\",\"layout_type\":\"free\",\"notify_list\":[],\"template_variables\":[],\"title\":\"Test-Create_a_new_dashboard_with_sankey_widget_and_product_analytics_data_source-1767367626\",\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"product_analytics\",\"mode\":\"source\",\"query_string\":\"@type:session\"},\"request_type\":\"sankey\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"sankey\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0}}]}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard" + }, + "response": { + "bodySize": 795, + "content": { + "mimeType": "application/json", + "size": 795, + "text": "{\"id\":\"y6u-yab-bdi\",\"title\":\"Test-Create_a_new_dashboard_with_sankey_widget_and_product_analytics_data_source-1767367626\",\"description\":\"\",\"author_handle\":\"sophie.cao@datadoghq.com\",\"author_name\":\"Sophie Cao\",\"layout_type\":\"free\",\"url\":\"/dashboard/y6u-yab-bdi/test-createanewdashboardwithsankeywidgetandproductanalyticsdatasource-1767367626\",\"template_variables\":[],\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"product_analytics\",\"mode\":\"source\",\"query_string\":\"@type:session\"},\"request_type\":\"sankey\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"sankey\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0},\"id\":7919851856522238}],\"notify_list\":[],\"created_at\":\"2026-01-02T15:27:06.177915+00:00\",\"modified_at\":\"2026-01-02T15:27:06.177915+00:00\",\"restricted_roles\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 380, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-01-02T15:27:06.021Z", + "time": 224 + }, + { + "_id": "2b138fda2740445d10a96aa55a4283a5", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard/y6u-yab-bdi" + }, + "response": { + "bodySize": 38, + "content": { + "mimeType": "application/json", + "size": 38, + "text": "{\"deleted_dashboard_id\":\"y6u-yab-bdi\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 379, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-01-02T15:27:06.258Z", + "time": 461 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/frozen.json b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/frozen.json new file mode 100644 index 000000000000..5cbbaa40ddf1 --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/frozen.json @@ -0,0 +1 @@ +"2026-01-02T15:26:19.626Z" diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/recording.har b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/recording.har new file mode 100644 index 000000000000..743d3f5a1c7d --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-sankey-widget-and-rum-data-source_3264456811/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Dashboards/Create a new dashboard with sankey widget and rum data source", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "e50096f8701d2695ccb5e4bb8dc80a98", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 422, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 559, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"description\":\"\",\"layout_type\":\"free\",\"notify_list\":[],\"template_variables\":[],\"title\":\"Test-Create_a_new_dashboard_with_sankey_widget_and_rum_data_source-1767367579\",\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"rum\",\"mode\":\"source\",\"query_string\":\"@type:view\"},\"request_type\":\"sankey\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"sankey\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0}}]}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard" + }, + "response": { + "bodySize": 751, + "content": { + "mimeType": "application/json", + "size": 751, + "text": "{\"id\":\"pgj-vt6-zeg\",\"title\":\"Test-Create_a_new_dashboard_with_sankey_widget_and_rum_data_source-1767367579\",\"description\":\"\",\"author_handle\":\"sophie.cao@datadoghq.com\",\"author_name\":\"Sophie Cao\",\"layout_type\":\"free\",\"url\":\"/dashboard/pgj-vt6-zeg/test-createanewdashboardwithsankeywidgetandrumdatasource-1767367579\",\"template_variables\":[],\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"rum\",\"mode\":\"source\",\"query_string\":\"@type:view\"},\"request_type\":\"sankey\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"sankey\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0},\"id\":1607494419972582}],\"notify_list\":[],\"created_at\":\"2026-01-02T15:26:19.817734+00:00\",\"modified_at\":\"2026-01-02T15:26:19.817734+00:00\",\"restricted_roles\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 380, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-01-02T15:26:19.633Z", + "time": 242 + }, + { + "_id": "3597b2c2f9558709af84283c2af5a46b", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard/pgj-vt6-zeg" + }, + "response": { + "bodySize": 38, + "content": { + "mimeType": "application/json", + "size": 38, + "text": "{\"deleted_dashboard_id\":\"pgj-vt6-zeg\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 379, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2026-01-02T15:26:19.889Z", + "time": 426 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v1/dashboards/CreateDashboard_258152475.ts b/examples/v1/dashboards/CreateDashboard_258152475.ts new file mode 100644 index 000000000000..68b36b18e4e8 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_258152475.ts @@ -0,0 +1,54 @@ +/** + * Create a new dashboard with sankey widget and network data source + */ + +import { client, v1 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v1.DashboardsApi(configuration); + +const params: v1.DashboardsApiCreateDashboardRequest = { + body: { + title: "Example-Dashboard", + description: "", + widgets: [ + { + layout: { + x: 0, + y: 0, + width: 47, + height: 15, + }, + definition: { + title: "", + titleSize: "16", + titleAlign: "left", + type: "sankey", + requests: [ + { + query: { + dataSource: "network", + queryString: "*", + groupBy: ["source", "destination"], + limit: 100, + }, + requestType: "netflow_sankey", + }, + ], + }, + }, + ], + templateVariables: [], + layoutType: "free", + notifyList: [], + }, +}; + +apiInstance + .createDashboard(params) + .then((data: v1.Dashboard) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v1/dashboards/CreateDashboard_2932151909.ts b/examples/v1/dashboards/CreateDashboard_2932151909.ts new file mode 100644 index 000000000000..7cb8696ad626 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_2932151909.ts @@ -0,0 +1,53 @@ +/** + * Create a new dashboard with sankey widget and rum data source + */ + +import { client, v1 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v1.DashboardsApi(configuration); + +const params: v1.DashboardsApiCreateDashboardRequest = { + body: { + title: "Example-Dashboard", + description: "", + widgets: [ + { + layout: { + x: 0, + y: 0, + width: 47, + height: 15, + }, + definition: { + title: "", + titleSize: "16", + titleAlign: "left", + type: "sankey", + requests: [ + { + query: { + dataSource: "rum", + queryString: "@type:view", + mode: "source", + }, + requestType: "sankey", + }, + ], + }, + }, + ], + templateVariables: [], + layoutType: "free", + notifyList: [], + }, +}; + +apiInstance + .createDashboard(params) + .then((data: v1.Dashboard) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v1/dashboards/CreateDashboard_373890042.ts b/examples/v1/dashboards/CreateDashboard_373890042.ts new file mode 100644 index 000000000000..640bbcc2cd8c --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_373890042.ts @@ -0,0 +1,53 @@ +/** + * Create a new dashboard with sankey widget and product analytics data source + */ + +import { client, v1 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v1.DashboardsApi(configuration); + +const params: v1.DashboardsApiCreateDashboardRequest = { + body: { + title: "Example-Dashboard", + description: "", + widgets: [ + { + layout: { + x: 0, + y: 0, + width: 47, + height: 15, + }, + definition: { + title: "", + titleSize: "16", + titleAlign: "left", + type: "sankey", + requests: [ + { + query: { + dataSource: "product_analytics", + queryString: "@type:session", + mode: "source", + }, + requestType: "sankey", + }, + ], + }, + }, + ], + templateVariables: [], + layoutType: "free", + notifyList: [], + }, +}; + +apiInstance + .createDashboard(params) + .then((data: v1.Dashboard) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/v1/dashboards.feature b/features/v1/dashboards.feature index 1d88b5bbc9da..bf8e47ce3b67 100644 --- a/features/v1/dashboards.feature +++ b/features/v1/dashboards.feature @@ -801,6 +801,43 @@ Feature: Dashboards And the response "widgets[0].definition.workflow_id" is equal to "2e055f16-8b6a-4cdd-b452-17a34c44b160" And the response "widgets[0].definition.inputs[0]" is equal to {"name": "environment", "value": "$env.value"} + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with sankey widget and network data source + Given new "CreateDashboard" request + And body from file "dashboards_json_payload/sankey_network_widget.json" + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.type" is equal to "sankey" + And the response "widgets[0].definition.requests[0].query.data_source" is equal to "network" + And the response "widgets[0].definition.requests[0].query.query_string" is equal to "*" + And the response "widgets[0].definition.requests[0].query.group_by" is equal to ["source", "destination"] + And the response "widgets[0].definition.requests[0].query.limit" is equal to 100 + And the response "widgets[0].definition.requests[0].request_type" is equal to "netflow_sankey" + + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with sankey widget and product analytics data source + Given new "CreateDashboard" request + And body from file "dashboards_json_payload/sankey_product_analytics_widget.json" + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.type" is equal to "sankey" + And the response "widgets[0].definition.requests[0].query.data_source" is equal to "product_analytics" + And the response "widgets[0].definition.requests[0].query.query_string" is equal to "@type:session" + And the response "widgets[0].definition.requests[0].query.mode" is equal to "source" + And the response "widgets[0].definition.requests[0].request_type" is equal to "sankey" + + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with sankey widget and rum data source + Given new "CreateDashboard" request + And body from file "dashboards_json_payload/sankey_rum_widget.json" + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.type" is equal to "sankey" + And the response "widgets[0].definition.requests[0].query.data_source" is equal to "rum" + And the response "widgets[0].definition.requests[0].query.query_string" is equal to "@type:view" + And the response "widgets[0].definition.requests[0].query.mode" is equal to "source" + And the response "widgets[0].definition.requests[0].request_type" is equal to "sankey" + @team:DataDog/dashboards-backend Scenario: Create a new dashboard with scatterplot widget Given new "CreateDashboard" request diff --git a/features/v1/dashboards_json_payload/sankey_network_widget.json b/features/v1/dashboards_json_payload/sankey_network_widget.json new file mode 100644 index 000000000000..1f237af8f2f8 --- /dev/null +++ b/features/v1/dashboards_json_payload/sankey_network_widget.json @@ -0,0 +1,41 @@ +{ + "title":"{{ unique }}", + "description":"", + "widgets":[ + { + "layout":{ + "x":0, + "y":0, + "width":47, + "height":15 + }, + "definition":{ + "title":"", + "title_size":"16", + "title_align":"left", + "type":"sankey", + "requests":[ + { + "query":{ + "data_source":"network", + "query_string":"*", + "group_by":[ + "source", + "destination" + ], + "limit":100 + }, + "request_type":"netflow_sankey" + } + ] + } + } + ], + "template_variables":[ + + ], + "layout_type":"free", + "notify_list":[ + + ] +} diff --git a/features/v1/dashboards_json_payload/sankey_product_analytics_widget.json b/features/v1/dashboards_json_payload/sankey_product_analytics_widget.json new file mode 100644 index 000000000000..c81edb69c6dc --- /dev/null +++ b/features/v1/dashboards_json_payload/sankey_product_analytics_widget.json @@ -0,0 +1,37 @@ +{ + "title":"{{ unique }}", + "description":"", + "widgets":[ + { + "layout":{ + "x":0, + "y":0, + "width":47, + "height":15 + }, + "definition":{ + "title":"", + "title_size":"16", + "title_align":"left", + "type":"sankey", + "requests":[ + { + "query":{ + "data_source":"product_analytics", + "query_string":"@type:session", + "mode":"source" + }, + "request_type":"sankey" + } + ] + } + } + ], + "template_variables":[ + + ], + "layout_type":"free", + "notify_list":[ + + ] +} diff --git a/features/v1/dashboards_json_payload/sankey_rum_widget.json b/features/v1/dashboards_json_payload/sankey_rum_widget.json new file mode 100644 index 000000000000..b8a833ee3758 --- /dev/null +++ b/features/v1/dashboards_json_payload/sankey_rum_widget.json @@ -0,0 +1,37 @@ +{ + "title":"{{ unique }}", + "description":"", + "widgets":[ + { + "layout":{ + "x":0, + "y":0, + "width":47, + "height":15 + }, + "definition":{ + "title":"", + "title_size":"16", + "title_align":"left", + "type":"sankey", + "requests":[ + { + "query":{ + "data_source":"rum", + "query_string":"@type:view", + "mode":"source" + }, + "request_type":"sankey" + } + ] + } + } + ], + "template_variables":[ + + ], + "layout_type":"free", + "notify_list":[ + + ] +} diff --git a/packages/datadog-api-client-v1/index.ts b/packages/datadog-api-client-v1/index.ts index 0b3c65f4bed1..2214f9a5adef 100644 --- a/packages/datadog-api-client-v1/index.ts +++ b/packages/datadog-api-client-v1/index.ts @@ -446,6 +446,8 @@ export { EventListResponse } from "./models/EventListResponse"; export { EventPriority } from "./models/EventPriority"; export { EventQueryDefinition } from "./models/EventQueryDefinition"; export { EventResponse } from "./models/EventResponse"; +export { EventsAggregation } from "./models/EventsAggregation"; +export { EventsAggregationValue } from "./models/EventsAggregationValue"; export { EventStreamWidgetDefinition } from "./models/EventStreamWidgetDefinition"; export { EventStreamWidgetDefinitionType } from "./models/EventStreamWidgetDefinitionType"; export { EventTimelineWidgetDefinition } from "./models/EventTimelineWidgetDefinition"; @@ -801,6 +803,11 @@ export { PowerpackTemplateVariables } from "./models/PowerpackTemplateVariables" export { PowerpackWidgetDefinition } from "./models/PowerpackWidgetDefinition"; export { PowerpackWidgetDefinitionType } from "./models/PowerpackWidgetDefinitionType"; export { ProcessQueryDefinition } from "./models/ProcessQueryDefinition"; +export { ProductAnalyticsAudienceAccountSubquery } from "./models/ProductAnalyticsAudienceAccountSubquery"; +export { ProductAnalyticsAudienceFilters } from "./models/ProductAnalyticsAudienceFilters"; +export { ProductAnalyticsAudienceOccurrenceFilter } from "./models/ProductAnalyticsAudienceOccurrenceFilter"; +export { ProductAnalyticsAudienceSegmentSubquery } from "./models/ProductAnalyticsAudienceSegmentSubquery"; +export { ProductAnalyticsAudienceUserSubquery } from "./models/ProductAnalyticsAudienceUserSubquery"; export { QuerySortOrder } from "./models/QuerySortOrder"; export { QueryValueWidgetDefinition } from "./models/QueryValueWidgetDefinition"; export { QueryValueWidgetDefinitionType } from "./models/QueryValueWidgetDefinitionType"; @@ -811,6 +818,21 @@ export { ResponseMetaAttributes } from "./models/ResponseMetaAttributes"; export { RunWorkflowWidgetDefinition } from "./models/RunWorkflowWidgetDefinition"; export { RunWorkflowWidgetDefinitionType } from "./models/RunWorkflowWidgetDefinitionType"; export { RunWorkflowWidgetInput } from "./models/RunWorkflowWidgetInput"; +export { SankeyJoinKeys } from "./models/SankeyJoinKeys"; +export { SankeyNetworkDataSource } from "./models/SankeyNetworkDataSource"; +export { SankeyNetworkQuery } from "./models/SankeyNetworkQuery"; +export { SankeyNetworkQueryCompute } from "./models/SankeyNetworkQueryCompute"; +export { SankeyNetworkQueryMode } from "./models/SankeyNetworkQueryMode"; +export { SankeyNetworkQuerySort } from "./models/SankeyNetworkQuerySort"; +export { SankeyNetworkRequest } from "./models/SankeyNetworkRequest"; +export { SankeyNetworkRequestType } from "./models/SankeyNetworkRequestType"; +export { SankeyRumDataSource } from "./models/SankeyRumDataSource"; +export { SankeyRumQuery } from "./models/SankeyRumQuery"; +export { SankeyRumQueryMode } from "./models/SankeyRumQueryMode"; +export { SankeyRumRequest } from "./models/SankeyRumRequest"; +export { SankeyWidgetDefinition } from "./models/SankeyWidgetDefinition"; +export { SankeyWidgetDefinitionType } from "./models/SankeyWidgetDefinitionType"; +export { SankeyWidgetRequest } from "./models/SankeyWidgetRequest"; export { ScatterplotDimension } from "./models/ScatterplotDimension"; export { ScatterPlotRequest } from "./models/ScatterPlotRequest"; export { ScatterplotTableRequest } from "./models/ScatterplotTableRequest"; diff --git a/packages/datadog-api-client-v1/models/EventsAggregation.ts b/packages/datadog-api-client-v1/models/EventsAggregation.ts new file mode 100644 index 000000000000..0bec89459244 --- /dev/null +++ b/packages/datadog-api-client-v1/models/EventsAggregation.ts @@ -0,0 +1,17 @@ +/** + * 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. + */ +import { EventsAggregationValue } from "./EventsAggregationValue"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The type of aggregation that can be performed on events-based queries. + */ + +export type EventsAggregation = + | EventsAggregationValue + | string + | UnparsedObject; diff --git a/packages/datadog-api-client-v1/models/EventsAggregationValue.ts b/packages/datadog-api-client-v1/models/EventsAggregationValue.ts new file mode 100644 index 000000000000..1e24a6641cd4 --- /dev/null +++ b/packages/datadog-api-client-v1/models/EventsAggregationValue.ts @@ -0,0 +1,36 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Standard aggregation types for events-based queries. + */ + +export type EventsAggregationValue = + | typeof AVG + | typeof CARDINALITY + | typeof COUNT + | typeof DELTA + | typeof EARLIEST + | typeof LATEST + | typeof MAX + | typeof MEDIAN + | typeof MIN + | typeof MOST_FREQUENT + | typeof SUM + | UnparsedObject; +export const AVG = "avg"; +export const CARDINALITY = "cardinality"; +export const COUNT = "count"; +export const DELTA = "delta"; +export const EARLIEST = "earliest"; +export const LATEST = "latest"; +export const MAX = "max"; +export const MEDIAN = "median"; +export const MIN = "min"; +export const MOST_FREQUENT = "most_frequent"; +export const SUM = "sum"; diff --git a/packages/datadog-api-client-v1/models/ObjectSerializer.ts b/packages/datadog-api-client-v1/models/ObjectSerializer.ts index 46b385ff970d..922a5a608f46 100644 --- a/packages/datadog-api-client-v1/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v1/models/ObjectSerializer.ts @@ -319,6 +319,11 @@ import { PowerpackTemplateVariableContents } from "./PowerpackTemplateVariableCo import { PowerpackTemplateVariables } from "./PowerpackTemplateVariables"; import { PowerpackWidgetDefinition } from "./PowerpackWidgetDefinition"; import { ProcessQueryDefinition } from "./ProcessQueryDefinition"; +import { ProductAnalyticsAudienceAccountSubquery } from "./ProductAnalyticsAudienceAccountSubquery"; +import { ProductAnalyticsAudienceFilters } from "./ProductAnalyticsAudienceFilters"; +import { ProductAnalyticsAudienceOccurrenceFilter } from "./ProductAnalyticsAudienceOccurrenceFilter"; +import { ProductAnalyticsAudienceSegmentSubquery } from "./ProductAnalyticsAudienceSegmentSubquery"; +import { ProductAnalyticsAudienceUserSubquery } from "./ProductAnalyticsAudienceUserSubquery"; import { QueryValueWidgetDefinition } from "./QueryValueWidgetDefinition"; import { QueryValueWidgetRequest } from "./QueryValueWidgetRequest"; import { ReferenceTableLogsLookupProcessor } from "./ReferenceTableLogsLookupProcessor"; @@ -372,6 +377,14 @@ import { SLOTimeSliceCondition } from "./SLOTimeSliceCondition"; import { SLOTimeSliceQuery } from "./SLOTimeSliceQuery"; import { SLOTimeSliceSpec } from "./SLOTimeSliceSpec"; import { SLOWidgetDefinition } from "./SLOWidgetDefinition"; +import { SankeyJoinKeys } from "./SankeyJoinKeys"; +import { SankeyNetworkQuery } from "./SankeyNetworkQuery"; +import { SankeyNetworkQueryCompute } from "./SankeyNetworkQueryCompute"; +import { SankeyNetworkQuerySort } from "./SankeyNetworkQuerySort"; +import { SankeyNetworkRequest } from "./SankeyNetworkRequest"; +import { SankeyRumQuery } from "./SankeyRumQuery"; +import { SankeyRumRequest } from "./SankeyRumRequest"; +import { SankeyWidgetDefinition } from "./SankeyWidgetDefinition"; import { ScatterPlotRequest } from "./ScatterPlotRequest"; import { ScatterPlotWidgetDefinition } from "./ScatterPlotWidgetDefinition"; import { ScatterPlotWidgetDefinitionRequests } from "./ScatterPlotWidgetDefinitionRequests"; @@ -758,6 +771,19 @@ const enumsMap: { [key: string]: any[] } = { EventPriority: ["normal", "low"], EventStreamWidgetDefinitionType: ["event_stream"], EventTimelineWidgetDefinitionType: ["event_timeline"], + EventsAggregationValue: [ + "avg", + "cardinality", + "count", + "delta", + "earliest", + "latest", + "max", + "median", + "min", + "most_frequent", + "sum", + ], FormulaAndFunctionApmDependencyStatName: [ "avg_duration", "avg_root_duration", @@ -1347,6 +1373,12 @@ const enumsMap: { [key: string]: any[] } = { SLOType: ["metric", "monitor", "time_slice"], SLOTypeNumeric: [0, 1, 2], SLOWidgetDefinitionType: ["slo"], + SankeyNetworkDataSource: ["network_device_flows", "network"], + SankeyNetworkQueryMode: ["target"], + SankeyNetworkRequestType: ["netflow_sankey"], + SankeyRumDataSource: ["rum", "product_analytics"], + SankeyRumQueryMode: ["source", "target"], + SankeyWidgetDefinitionType: ["sankey"], ScatterPlotWidgetDefinitionType: ["scatterplot"], ScatterplotDimension: ["x", "y", "radius", "color"], ScatterplotWidgetAggregator: ["avg", "last", "max", "min", "sum"], @@ -2166,6 +2198,14 @@ const typeMap: { [index: string]: any } = { PowerpackTemplateVariables: PowerpackTemplateVariables, PowerpackWidgetDefinition: PowerpackWidgetDefinition, ProcessQueryDefinition: ProcessQueryDefinition, + ProductAnalyticsAudienceAccountSubquery: + ProductAnalyticsAudienceAccountSubquery, + ProductAnalyticsAudienceFilters: ProductAnalyticsAudienceFilters, + ProductAnalyticsAudienceOccurrenceFilter: + ProductAnalyticsAudienceOccurrenceFilter, + ProductAnalyticsAudienceSegmentSubquery: + ProductAnalyticsAudienceSegmentSubquery, + ProductAnalyticsAudienceUserSubquery: ProductAnalyticsAudienceUserSubquery, QueryValueWidgetDefinition: QueryValueWidgetDefinition, QueryValueWidgetRequest: QueryValueWidgetRequest, ReferenceTableLogsLookupProcessor: ReferenceTableLogsLookupProcessor, @@ -2222,6 +2262,14 @@ const typeMap: { [index: string]: any } = { SLOTimeSliceQuery: SLOTimeSliceQuery, SLOTimeSliceSpec: SLOTimeSliceSpec, SLOWidgetDefinition: SLOWidgetDefinition, + SankeyJoinKeys: SankeyJoinKeys, + SankeyNetworkQuery: SankeyNetworkQuery, + SankeyNetworkQueryCompute: SankeyNetworkQueryCompute, + SankeyNetworkQuerySort: SankeyNetworkQuerySort, + SankeyNetworkRequest: SankeyNetworkRequest, + SankeyRumQuery: SankeyRumQuery, + SankeyRumRequest: SankeyRumRequest, + SankeyWidgetDefinition: SankeyWidgetDefinition, ScatterPlotRequest: ScatterPlotRequest, ScatterPlotWidgetDefinition: ScatterPlotWidgetDefinition, ScatterPlotWidgetDefinitionRequests: ScatterPlotWidgetDefinitionRequests, @@ -2562,6 +2610,7 @@ const oneOfMap: { [index: string]: string[] } = { "FormulaAndFunctionEventQueryDefinition", "FormulaAndFunctionApmResourceStatsQueryDefinition", ], + EventsAggregation: ["EventsAggregationValue", "string"], FormulaAndFunctionEventQueryGroupByConfig: [ "Array", "FormulaAndFunctionEventQueryGroupByFields", @@ -2659,6 +2708,7 @@ const oneOfMap: { [index: string]: string[] } = { ], SLODataSourceQueryDefinition: ["FormulaAndFunctionMetricQueryDefinition"], SLOSliSpec: ["SLOTimeSliceSpec", "SLOCountSpec"], + SankeyWidgetRequest: ["SankeyRumRequest", "SankeyNetworkRequest"], SharedDashboardInvitesData: [ "SharedDashboardInvitesDataObject", "Array", @@ -2736,6 +2786,7 @@ const oneOfMap: { [index: string]: string[] } = { "SLOListWidgetDefinition", "SLOWidgetDefinition", "ScatterPlotWidgetDefinition", + "SankeyWidgetDefinition", "ServiceMapWidgetDefinition", "ServiceSummaryWidgetDefinition", "SplitGraphWidgetDefinition", diff --git a/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceAccountSubquery.ts b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceAccountSubquery.ts new file mode 100644 index 000000000000..6b8d2397dc9b --- /dev/null +++ b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceAccountSubquery.ts @@ -0,0 +1,54 @@ +/** + * 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. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Product Analytics audience account subquery. + */ +export class ProductAnalyticsAudienceAccountSubquery { + "name"?: string; + "query"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + name: { + baseName: "name", + type: "string", + }, + query: { + baseName: "query", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ProductAnalyticsAudienceAccountSubquery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceFilters.ts b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceFilters.ts new file mode 100644 index 000000000000..d57ecff4ce2e --- /dev/null +++ b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceFilters.ts @@ -0,0 +1,67 @@ +/** + * 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. + */ +import { ProductAnalyticsAudienceAccountSubquery } from "./ProductAnalyticsAudienceAccountSubquery"; +import { ProductAnalyticsAudienceSegmentSubquery } from "./ProductAnalyticsAudienceSegmentSubquery"; +import { ProductAnalyticsAudienceUserSubquery } from "./ProductAnalyticsAudienceUserSubquery"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Product Analytics/RUM audience filters. + */ +export class ProductAnalyticsAudienceFilters { + "accounts"?: Array; + "filterCondition"?: string; + "segments"?: Array; + "users"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accounts: { + baseName: "accounts", + type: "Array", + }, + filterCondition: { + baseName: "filter_condition", + type: "string", + }, + segments: { + baseName: "segments", + type: "Array", + }, + users: { + baseName: "users", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ProductAnalyticsAudienceFilters.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceOccurrenceFilter.ts b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceOccurrenceFilter.ts new file mode 100644 index 000000000000..3a36697e92cf --- /dev/null +++ b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceOccurrenceFilter.ts @@ -0,0 +1,51 @@ +/** + * 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. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +export class ProductAnalyticsAudienceOccurrenceFilter { + "operator"?: string; + "value"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + operator: { + baseName: "operator", + type: "string", + }, + value: { + baseName: "value", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ProductAnalyticsAudienceOccurrenceFilter.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceSegmentSubquery.ts b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceSegmentSubquery.ts new file mode 100644 index 000000000000..f9d66d2c2635 --- /dev/null +++ b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceSegmentSubquery.ts @@ -0,0 +1,54 @@ +/** + * 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. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Product Analytics audience segment subquery. + */ +export class ProductAnalyticsAudienceSegmentSubquery { + "name"?: string; + "segmentId"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + name: { + baseName: "name", + type: "string", + }, + segmentId: { + baseName: "segment_id", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ProductAnalyticsAudienceSegmentSubquery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceUserSubquery.ts b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceUserSubquery.ts new file mode 100644 index 000000000000..f123b03f70d8 --- /dev/null +++ b/packages/datadog-api-client-v1/models/ProductAnalyticsAudienceUserSubquery.ts @@ -0,0 +1,54 @@ +/** + * 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. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Product Analytics audience user subquery. + */ +export class ProductAnalyticsAudienceUserSubquery { + "name"?: string; + "query"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + name: { + baseName: "name", + type: "string", + }, + query: { + baseName: "query", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return ProductAnalyticsAudienceUserSubquery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyJoinKeys.ts b/packages/datadog-api-client-v1/models/SankeyJoinKeys.ts new file mode 100644 index 000000000000..3324b7958b53 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyJoinKeys.ts @@ -0,0 +1,50 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Join keys. + */ +export class SankeyJoinKeys { + /** + * Primary join key. + */ + "primary": string; + /** + * Secondary join keys. + */ + "secondary"?: Array; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + primary: { + baseName: "primary", + type: "string", + required: true, + }, + secondary: { + baseName: "secondary", + type: "Array", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyJoinKeys.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkDataSource.ts b/packages/datadog-api-client-v1/models/SankeyNetworkDataSource.ts new file mode 100644 index 000000000000..d1b186132808 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkDataSource.ts @@ -0,0 +1,18 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Network data source type. + */ + +export type SankeyNetworkDataSource = + | typeof NETWORK_DEVICE_FLOWS + | typeof NETWORK + | UnparsedObject; +export const NETWORK_DEVICE_FLOWS = "network_device_flows"; +export const NETWORK = "network"; diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkQuery.ts b/packages/datadog-api-client-v1/models/SankeyNetworkQuery.ts new file mode 100644 index 000000000000..4f0a69a33d1c --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkQuery.ts @@ -0,0 +1,106 @@ +/** + * 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. + */ +import { SankeyNetworkDataSource } from "./SankeyNetworkDataSource"; +import { SankeyNetworkQueryCompute } from "./SankeyNetworkQueryCompute"; +import { SankeyNetworkQueryMode } from "./SankeyNetworkQueryMode"; +import { SankeyNetworkQuerySort } from "./SankeyNetworkQuerySort"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Query configuration for Sankey network widget. + */ +export class SankeyNetworkQuery { + /** + * Compute aggregation for network queries. + */ + "compute"?: SankeyNetworkQueryCompute; + /** + * Network data source type. + */ + "dataSource": SankeyNetworkDataSource; + /** + * Fields to group by. + */ + "groupBy": Array; + /** + * Maximum number of results. + */ + "limit": number; + /** + * Sankey mode for network queries. + */ + "mode"?: SankeyNetworkQueryMode; + /** + * Query string for filtering network data. + */ + "queryString": string; + /** + * Whether to exclude missing values. + */ + "shouldExcludeMissing"?: boolean; + /** + * Sort configuration for network queries. + */ + "sort"?: SankeyNetworkQuerySort; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + compute: { + baseName: "compute", + type: "SankeyNetworkQueryCompute", + }, + dataSource: { + baseName: "data_source", + type: "SankeyNetworkDataSource", + required: true, + }, + groupBy: { + baseName: "group_by", + type: "Array", + required: true, + }, + limit: { + baseName: "limit", + type: "number", + required: true, + format: "int64", + }, + mode: { + baseName: "mode", + type: "SankeyNetworkQueryMode", + }, + queryString: { + baseName: "query_string", + type: "string", + required: true, + }, + shouldExcludeMissing: { + baseName: "should_exclude_missing", + type: "boolean", + }, + sort: { + baseName: "sort", + type: "SankeyNetworkQuerySort", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyNetworkQuery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkQueryCompute.ts b/packages/datadog-api-client-v1/models/SankeyNetworkQueryCompute.ts new file mode 100644 index 000000000000..2c44db233e9f --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkQueryCompute.ts @@ -0,0 +1,52 @@ +/** + * 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. + */ +import { EventsAggregation } from "./EventsAggregation"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Compute aggregation for network queries. + */ +export class SankeyNetworkQueryCompute { + /** + * The type of aggregation that can be performed on events-based queries. + */ + "aggregation": EventsAggregation; + /** + * Metric to aggregate. + */ + "metric": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + aggregation: { + baseName: "aggregation", + type: "EventsAggregation", + required: true, + }, + metric: { + baseName: "metric", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyNetworkQueryCompute.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkQueryMode.ts b/packages/datadog-api-client-v1/models/SankeyNetworkQueryMode.ts new file mode 100644 index 000000000000..e070ee89969c --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkQueryMode.ts @@ -0,0 +1,14 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Sankey mode for network queries. + */ + +export type SankeyNetworkQueryMode = typeof TARGET | UnparsedObject; +export const TARGET = "target"; diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkQuerySort.ts b/packages/datadog-api-client-v1/models/SankeyNetworkQuerySort.ts new file mode 100644 index 000000000000..3c1d8ef2fcbb --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkQuerySort.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { WidgetSort } from "./WidgetSort"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Sort configuration for network queries. + */ +export class SankeyNetworkQuerySort { + /** + * Field to sort by. + */ + "field"?: string; + /** + * Widget sorting methods. + */ + "order"?: WidgetSort; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + field: { + baseName: "field", + type: "string", + }, + order: { + baseName: "order", + type: "WidgetSort", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyNetworkQuerySort.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkRequest.ts b/packages/datadog-api-client-v1/models/SankeyNetworkRequest.ts new file mode 100644 index 000000000000..c0fff37545a1 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkRequest.ts @@ -0,0 +1,53 @@ +/** + * 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. + */ +import { SankeyNetworkQuery } from "./SankeyNetworkQuery"; +import { SankeyNetworkRequestType } from "./SankeyNetworkRequestType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Sankey widget request for network data source. + */ +export class SankeyNetworkRequest { + /** + * Query configuration for Sankey network widget. + */ + "query": SankeyNetworkQuery; + /** + * Type of request for network Sankey widget. + */ + "requestType": SankeyNetworkRequestType; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + query: { + baseName: "query", + type: "SankeyNetworkQuery", + required: true, + }, + requestType: { + baseName: "request_type", + type: "SankeyNetworkRequestType", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyNetworkRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyNetworkRequestType.ts b/packages/datadog-api-client-v1/models/SankeyNetworkRequestType.ts new file mode 100644 index 000000000000..d21c678c1609 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyNetworkRequestType.ts @@ -0,0 +1,14 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of request for network Sankey widget. + */ + +export type SankeyNetworkRequestType = typeof NETFLOW_SANKEY | UnparsedObject; +export const NETFLOW_SANKEY = "netflow_sankey"; diff --git a/packages/datadog-api-client-v1/models/SankeyRumDataSource.ts b/packages/datadog-api-client-v1/models/SankeyRumDataSource.ts new file mode 100644 index 000000000000..cf1d836deda4 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyRumDataSource.ts @@ -0,0 +1,18 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Sankey widget with RUM data source. + */ + +export type SankeyRumDataSource = + | typeof RUM + | typeof PRODUCT_ANALYTICS + | UnparsedObject; +export const RUM = "rum"; +export const PRODUCT_ANALYTICS = "product_analytics"; diff --git a/packages/datadog-api-client-v1/models/SankeyRumQuery.ts b/packages/datadog-api-client-v1/models/SankeyRumQuery.ts new file mode 100644 index 000000000000..af1be5c9641c --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyRumQuery.ts @@ -0,0 +1,128 @@ +/** + * 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. + */ +import { ProductAnalyticsAudienceFilters } from "./ProductAnalyticsAudienceFilters"; +import { ProductAnalyticsAudienceOccurrenceFilter } from "./ProductAnalyticsAudienceOccurrenceFilter"; +import { SankeyJoinKeys } from "./SankeyJoinKeys"; +import { SankeyRumDataSource } from "./SankeyRumDataSource"; +import { SankeyRumQueryMode } from "./SankeyRumQueryMode"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Sankey widget with RUM data source query. + */ +export class SankeyRumQuery { + /** + * Product Analytics/RUM audience filters. + */ + "audienceFilters"?: ProductAnalyticsAudienceFilters; + /** + * Sankey widget with RUM data source. + */ + "dataSource": SankeyRumDataSource; + /** + * Entries per step. + */ + "entriesPerStep"?: number; + /** + * Join keys. + */ + "joinKeys"?: SankeyJoinKeys; + /** + * Sankey mode for RUM queries. + */ + "mode": SankeyRumQueryMode; + /** + * Number of steps. + */ + "numberOfSteps"?: number; + "occurrences"?: ProductAnalyticsAudienceOccurrenceFilter; + /** + * Query string. + */ + "queryString": string; + /** + * Source. + */ + "source"?: string; + /** + * Subquery ID. + */ + "subqueryId"?: string; + /** + * Target. + */ + "target"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + audienceFilters: { + baseName: "audience_filters", + type: "ProductAnalyticsAudienceFilters", + }, + dataSource: { + baseName: "data_source", + type: "SankeyRumDataSource", + required: true, + }, + entriesPerStep: { + baseName: "entries_per_step", + type: "number", + format: "int64", + }, + joinKeys: { + baseName: "join_keys", + type: "SankeyJoinKeys", + }, + mode: { + baseName: "mode", + type: "SankeyRumQueryMode", + required: true, + }, + numberOfSteps: { + baseName: "number_of_steps", + type: "number", + format: "int64", + }, + occurrences: { + baseName: "occurrences", + type: "ProductAnalyticsAudienceOccurrenceFilter", + }, + queryString: { + baseName: "query_string", + type: "string", + required: true, + }, + source: { + baseName: "source", + type: "string", + }, + subqueryId: { + baseName: "subquery_id", + type: "string", + }, + target: { + baseName: "target", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyRumQuery.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyRumQueryMode.ts b/packages/datadog-api-client-v1/models/SankeyRumQueryMode.ts new file mode 100644 index 000000000000..596b04967017 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyRumQueryMode.ts @@ -0,0 +1,15 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Sankey mode for RUM queries. + */ + +export type SankeyRumQueryMode = typeof SOURCE | typeof TARGET | UnparsedObject; +export const SOURCE = "source"; +export const TARGET = "target"; diff --git a/packages/datadog-api-client-v1/models/SankeyRumRequest.ts b/packages/datadog-api-client-v1/models/SankeyRumRequest.ts new file mode 100644 index 000000000000..b97166b222b2 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyRumRequest.ts @@ -0,0 +1,53 @@ +/** + * 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. + */ +import { SankeyRumQuery } from "./SankeyRumQuery"; +import { SankeyWidgetDefinitionType } from "./SankeyWidgetDefinitionType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Sankey widget with RUM data source. + */ +export class SankeyRumRequest { + /** + * Sankey widget with RUM data source query. + */ + "query": SankeyRumQuery; + /** + * Type of the Sankey widget. + */ + "requestType": SankeyWidgetDefinitionType; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + query: { + baseName: "query", + type: "SankeyRumQuery", + required: true, + }, + requestType: { + baseName: "request_type", + type: "SankeyWidgetDefinitionType", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyRumRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyWidgetDefinition.ts b/packages/datadog-api-client-v1/models/SankeyWidgetDefinition.ts new file mode 100644 index 000000000000..3b960a17516d --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyWidgetDefinition.ts @@ -0,0 +1,103 @@ +/** + * 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. + */ +import { SankeyWidgetDefinitionType } from "./SankeyWidgetDefinitionType"; +import { SankeyWidgetRequest } from "./SankeyWidgetRequest"; +import { WidgetTextAlign } from "./WidgetTextAlign"; +import { WidgetTime } from "./WidgetTime"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Sankey diagram visualizes the flow of data between categories, stages or sets of values. + */ +export class SankeyWidgetDefinition { + /** + * List of Sankey widget requests. + */ + "requests": Array; + /** + * Whether to show links for "other" category. + */ + "showOtherLinks"?: boolean; + /** + * Whether to sort nodes in the Sankey diagram. + */ + "sortNodes"?: boolean; + /** + * Time setting for the widget. + */ + "time"?: WidgetTime; + /** + * Title of your widget. + */ + "title"?: string; + /** + * How to align the text on the widget. + */ + "titleAlign"?: WidgetTextAlign; + /** + * Size of the title. + */ + "titleSize"?: string; + /** + * Type of the Sankey widget. + */ + "type": SankeyWidgetDefinitionType; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + requests: { + baseName: "requests", + type: "Array", + required: true, + }, + showOtherLinks: { + baseName: "show_other_links", + type: "boolean", + }, + sortNodes: { + baseName: "sort_nodes", + type: "boolean", + }, + time: { + baseName: "time", + type: "WidgetTime", + }, + title: { + baseName: "title", + type: "string", + }, + titleAlign: { + baseName: "title_align", + type: "WidgetTextAlign", + }, + titleSize: { + baseName: "title_size", + type: "string", + }, + type: { + baseName: "type", + type: "SankeyWidgetDefinitionType", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SankeyWidgetDefinition.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/SankeyWidgetDefinitionType.ts b/packages/datadog-api-client-v1/models/SankeyWidgetDefinitionType.ts new file mode 100644 index 000000000000..a1c9dd57001d --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyWidgetDefinitionType.ts @@ -0,0 +1,14 @@ +/** + * 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. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the Sankey widget. + */ + +export type SankeyWidgetDefinitionType = typeof SANKEY | UnparsedObject; +export const SANKEY = "sankey"; diff --git a/packages/datadog-api-client-v1/models/SankeyWidgetRequest.ts b/packages/datadog-api-client-v1/models/SankeyWidgetRequest.ts new file mode 100644 index 000000000000..0f4936dcbc50 --- /dev/null +++ b/packages/datadog-api-client-v1/models/SankeyWidgetRequest.ts @@ -0,0 +1,18 @@ +/** + * 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. + */ +import { SankeyNetworkRequest } from "./SankeyNetworkRequest"; +import { SankeyRumRequest } from "./SankeyRumRequest"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Request definition for Sankey widget. + */ + +export type SankeyWidgetRequest = + | SankeyRumRequest + | SankeyNetworkRequest + | UnparsedObject; diff --git a/packages/datadog-api-client-v1/models/WidgetDefinition.ts b/packages/datadog-api-client-v1/models/WidgetDefinition.ts index 8be9dbef5fd6..b52643052089 100644 --- a/packages/datadog-api-client-v1/models/WidgetDefinition.ts +++ b/packages/datadog-api-client-v1/models/WidgetDefinition.ts @@ -26,6 +26,7 @@ import { NoteWidgetDefinition } from "./NoteWidgetDefinition"; import { PowerpackWidgetDefinition } from "./PowerpackWidgetDefinition"; import { QueryValueWidgetDefinition } from "./QueryValueWidgetDefinition"; import { RunWorkflowWidgetDefinition } from "./RunWorkflowWidgetDefinition"; +import { SankeyWidgetDefinition } from "./SankeyWidgetDefinition"; import { ScatterPlotWidgetDefinition } from "./ScatterPlotWidgetDefinition"; import { ServiceMapWidgetDefinition } from "./ServiceMapWidgetDefinition"; import { ServiceSummaryWidgetDefinition } from "./ServiceSummaryWidgetDefinition"; @@ -72,6 +73,7 @@ export type WidgetDefinition = | SLOListWidgetDefinition | SLOWidgetDefinition | ScatterPlotWidgetDefinition + | SankeyWidgetDefinition | ServiceMapWidgetDefinition | ServiceSummaryWidgetDefinition | SplitGraphWidgetDefinition