From c3001c97535498da7100baabe1464ca163d150f8 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 19 Mar 2026 09:16:19 +0000 Subject: [PATCH] Regenerate client from commit 40f54a9 of spec repo --- .generator/schemas/v1/openapi.yaml | 122 +++++++++++++++ .generator/schemas/v2/openapi.yaml | 7 + .../frozen.json | 1 + .../recording.har | 110 +++++++++++++ .../dashboards/CreateDashboard_2252738813.ts | 55 +++++++ features/support/scenarios_model_mapping.ts | 4 + features/v1/dashboards.feature | 14 ++ packages/datadog-api-client-v1/index.ts | 4 + .../FormulaAndFunctionApmMetricStatName.ts | 46 ++++++ .../FormulaAndFunctionApmMetricsDataSource.ts | 16 ++ ...ulaAndFunctionApmMetricsQueryDefinition.ts | 146 ++++++++++++++++++ .../FormulaAndFunctionApmMetricsSpanKind.ts | 24 +++ .../FormulaAndFunctionQueryDefinition.ts | 2 + .../models/ObjectSerializer.ts | 30 ++++ .../apis/SecurityMonitoringApi.ts | 24 ++- packages/datadog-api-client-v2/index.ts | 1 + 16 files changed, 605 insertions(+), 1 deletion(-) create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/frozen.json create mode 100644 cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/recording.har create mode 100644 examples/v1/dashboards/CreateDashboard_2252738813.ts create mode 100644 packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricStatName.ts create mode 100644 packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsDataSource.ts create mode 100644 packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsQueryDefinition.ts create mode 100644 packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsSpanKind.ts diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 715f38f30c74..7fa5596d4bea 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -2855,6 +2855,127 @@ components: - service - name type: object + FormulaAndFunctionApmMetricStatName: + description: APM metric stat name. + enum: + - errors + - error_rate + - errors_per_second + - latency_avg + - latency_max + - latency_p50 + - latency_p75 + - latency_p90 + - latency_p95 + - latency_p99 + - latency_p999 + - latency_distribution + - hits + - hits_per_second + - total_time + - apdex + example: hits + type: string + x-enum-varnames: + - ERRORS + - ERROR_RATE + - ERRORS_PER_SECOND + - LATENCY_AVG + - LATENCY_MAX + - LATENCY_P50 + - LATENCY_P75 + - LATENCY_P90 + - LATENCY_P95 + - LATENCY_P99 + - LATENCY_P999 + - LATENCY_DISTRIBUTION + - HITS + - HITS_PER_SECOND + - TOTAL_TIME + - APDEX + FormulaAndFunctionApmMetricsDataSource: + description: Data source for APM metrics queries. + enum: + - apm_metrics + example: apm_metrics + type: string + x-enum-varnames: + - APM_METRICS + FormulaAndFunctionApmMetricsQueryDefinition: + description: A formula and functions APM metrics query. + properties: + data_source: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsDataSource' + group_by: + description: Optional fields to group the query results by. + items: + description: A field to group results by. + example: resource_name + type: string + type: array + name: + description: Name of this query to use in formulas. + example: query_errors + type: string + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + operation_name: + description: Name of operation on service. If not provided, the primary + operation name is used. + example: web.request + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, + peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax + (e.g., env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The hash of a specific resource to filter by. + example: abc123 + type: string + resource_name: + description: The full name of a specific resource to filter by. + example: GET /api/v1/users + type: string + service: + description: APM service name. + example: web-store + type: string + span_kind: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsSpanKind' + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricStatName' + required: + - data_source + - name + - stat + type: object + FormulaAndFunctionApmMetricsSpanKind: + description: Describes the relationship between the span, its parents, and its + children in a trace. + enum: + - consumer + - server + - client + - producer + - internal + example: server + type: string + x-enum-varnames: + - CONSUMER + - SERVER + - CLIENT + - PRODUCER + - INTERNAL FormulaAndFunctionApmResourceStatName: description: APM resource stat name. enum: @@ -3296,6 +3417,7 @@ components: - $ref: '#/components/schemas/FormulaAndFunctionProcessQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionApmDependencyStatsQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionApmResourceStatsQueryDefinition' + - $ref: '#/components/schemas/FormulaAndFunctionApmMetricsQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionSLOQueryDefinition' - $ref: '#/components/schemas/FormulaAndFunctionCloudCostQueryDefinition' FormulaAndFunctionResponseFormat: diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 7c5de28af805..7ae721a4124b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -102212,6 +102212,13 @@ paths: get: description: Get the list of all critical assets. operationId: ListSecurityMonitoringCriticalAssets + parameters: + - description: Query string. + in: query + name: query + required: false + schema: + type: string responses: '200': content: diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/frozen.json b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/frozen.json new file mode 100644 index 000000000000..db66bad4be95 --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/frozen.json @@ -0,0 +1 @@ +"2025-02-20T10:00:00.000Z" diff --git a/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/recording.har b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/recording.har new file mode 100644 index 000000000000..d5466fb2ab77 --- /dev/null +++ b/cassettes/v1/Dashboards_1335235736/Create-a-new-dashboard-with-apm-metrics-widget_4218872847/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Dashboards/Create a new dashboard with apm metrics widget", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "1cfcf5ccd2e7dff3d4f3b05c53d79057", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 433, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 560, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"layout_type\":\"ordered\",\"title\":\"Test-Create_a_new_dashboard_with_apm_metrics_widget-1740045600\",\"widgets\":[{\"definition\":{\"requests\":[{\"queries\":[{\"data_source\":\"apm_metrics\",\"group_by\":[\"resource_name\"],\"name\":\"query1\",\"query_filter\":\"env:prod\",\"service\":\"web-store\",\"stat\":\"hits\"}],\"response_format\":\"scalar\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"query_table\"},\"layout\":{\"height\":4,\"width\":4,\"x\":0,\"y\":0}}]}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v1/dashboard" + }, + "response": { + "bodySize": 819, + "content": { + "mimeType": "application/json", + "size": 819, + "text": "{\"id\":\"apm-met-ric\",\"title\":\"Test-Create_a_new_dashboard_with_apm_metrics_widget-1740045600\",\"description\":null,\"author_handle\":\"test@datadoghq.com\",\"author_name\":null,\"layout_type\":\"ordered\",\"url\":\"/dashboard/apm-met-ric/testcreateanewdashboardwithapmmetricswidget1740045600\",\"is_read_only\":false,\"template_variables\":null,\"widgets\":[{\"definition\":{\"requests\":[{\"queries\":[{\"data_source\":\"apm_metrics\",\"group_by\":[\"resource_name\"],\"name\":\"query1\",\"query_filter\":\"env:prod\",\"service\":\"web-store\",\"stat\":\"hits\"}],\"response_format\":\"scalar\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"query_table\"},\"layout\":{\"height\":4,\"width\":4,\"x\":0,\"y\":0},\"id\":1234567890123456}],\"notify_list\":null,\"created_at\":\"2025-02-20T10:00:01.000000+00:00\",\"modified_at\":\"2025-02-20T10:00:01.000000+00:00\",\"restricted_roles\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 381, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-02-20T10:00:00.015Z", + "time": 430 + }, + { + "_id": "71162de52581d0f391d949ff27e2aac0", + "_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/apm-met-ric" + }, + "response": { + "bodySize": 38, + "content": { + "mimeType": "application/json", + "size": 38, + "text": "{\"deleted_dashboard_id\":\"apm-met-ric\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 379, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-02-20T10:00:00.460Z", + "time": 380 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v1/dashboards/CreateDashboard_2252738813.ts b/examples/v1/dashboards/CreateDashboard_2252738813.ts new file mode 100644 index 000000000000..ebdfe2e74816 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_2252738813.ts @@ -0,0 +1,55 @@ +/** + * Create a new dashboard with apm metrics widget + */ + +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", + widgets: [ + { + definition: { + title: "", + titleSize: "16", + titleAlign: "left", + type: "query_table", + requests: [ + { + responseFormat: "scalar", + queries: [ + { + stat: "hits", + name: "query1", + service: "web-store", + dataSource: "apm_metrics", + queryFilter: "env:prod", + groupBy: ["resource_name"], + }, + ], + }, + ], + }, + layout: { + x: 0, + y: 0, + width: 4, + height: 4, + }, + }, + ], + layoutType: "ordered", + }, +}; + +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/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 55091f960eb4..9c64a640e6d0 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -4590,6 +4590,10 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "operationResponseType": "ListVulnerableAssetsResponse", }, "v2.ListSecurityMonitoringCriticalAssets": { + "query": { + "type": "string", + "format": "", + }, "operationResponseType": "SecurityMonitoringCriticalAssetsResponse", }, "v2.CreateSecurityMonitoringCriticalAsset": { diff --git a/features/v1/dashboards.feature b/features/v1/dashboards.feature index e8c10d7cc5fe..e894b96bfa83 100644 --- a/features/v1/dashboards.feature +++ b/features/v1/dashboards.feature @@ -320,6 +320,20 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].primary_tag_name" is equal to "datacenter" And the response "widgets[0].definition.requests[0].queries[0].operation_name" is equal to "cassandra.query" + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with apm metrics widget + Given new "CreateDashboard" request + And body with value { "title": "{{ unique }}", "widgets": [{"definition": { "title": "", "title_size": "16", "title_align": "left", "type": "query_table", "requests": [ { "response_format": "scalar", "queries": [ { "stat": "hits", "name": "query1", "service": "web-store", "data_source": "apm_metrics", "query_filter": "env:prod", "group_by": ["resource_name"] } ] } ] }, "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" + And the response "widgets[0].definition.requests[0].queries[0].stat" is equal to "hits" + And the response "widgets[0].definition.requests[0].queries[0].group_by[0]" is equal to "resource_name" + And the response "widgets[0].definition.requests[0].queries[0].name" is equal to "query1" + And the response "widgets[0].definition.requests[0].queries[0].service" is equal to "web-store" + And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "apm_metrics" + And the response "widgets[0].definition.requests[0].queries[0].query_filter" is equal to "env:prod" + @team:DataDog/dashboards-backend Scenario: Create a new dashboard with apm resource stats widget Given new "CreateDashboard" request diff --git a/packages/datadog-api-client-v1/index.ts b/packages/datadog-api-client-v1/index.ts index 614bd200cab3..ec043622ea57 100644 --- a/packages/datadog-api-client-v1/index.ts +++ b/packages/datadog-api-client-v1/index.ts @@ -452,6 +452,10 @@ export { EventTimelineWidgetDefinitionType } from "./models/EventTimelineWidgetD export { FormulaAndFunctionApmDependencyStatName } from "./models/FormulaAndFunctionApmDependencyStatName"; export { FormulaAndFunctionApmDependencyStatsDataSource } from "./models/FormulaAndFunctionApmDependencyStatsDataSource"; export { FormulaAndFunctionApmDependencyStatsQueryDefinition } from "./models/FormulaAndFunctionApmDependencyStatsQueryDefinition"; +export { FormulaAndFunctionApmMetricsDataSource } from "./models/FormulaAndFunctionApmMetricsDataSource"; +export { FormulaAndFunctionApmMetricsQueryDefinition } from "./models/FormulaAndFunctionApmMetricsQueryDefinition"; +export { FormulaAndFunctionApmMetricsSpanKind } from "./models/FormulaAndFunctionApmMetricsSpanKind"; +export { FormulaAndFunctionApmMetricStatName } from "./models/FormulaAndFunctionApmMetricStatName"; export { FormulaAndFunctionApmResourceStatName } from "./models/FormulaAndFunctionApmResourceStatName"; export { FormulaAndFunctionApmResourceStatsDataSource } from "./models/FormulaAndFunctionApmResourceStatsDataSource"; export { FormulaAndFunctionApmResourceStatsQueryDefinition } from "./models/FormulaAndFunctionApmResourceStatsQueryDefinition"; diff --git a/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricStatName.ts b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricStatName.ts new file mode 100644 index 000000000000..f6f9879a2a7e --- /dev/null +++ b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricStatName.ts @@ -0,0 +1,46 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * APM metric stat name. + */ + +export type FormulaAndFunctionApmMetricStatName = + | typeof ERRORS + | typeof ERROR_RATE + | typeof ERRORS_PER_SECOND + | typeof LATENCY_AVG + | typeof LATENCY_MAX + | typeof LATENCY_P50 + | typeof LATENCY_P75 + | typeof LATENCY_P90 + | typeof LATENCY_P95 + | typeof LATENCY_P99 + | typeof LATENCY_P999 + | typeof LATENCY_DISTRIBUTION + | typeof HITS + | typeof HITS_PER_SECOND + | typeof TOTAL_TIME + | typeof APDEX + | UnparsedObject; +export const ERRORS = "errors"; +export const ERROR_RATE = "error_rate"; +export const ERRORS_PER_SECOND = "errors_per_second"; +export const LATENCY_AVG = "latency_avg"; +export const LATENCY_MAX = "latency_max"; +export const LATENCY_P50 = "latency_p50"; +export const LATENCY_P75 = "latency_p75"; +export const LATENCY_P90 = "latency_p90"; +export const LATENCY_P95 = "latency_p95"; +export const LATENCY_P99 = "latency_p99"; +export const LATENCY_P999 = "latency_p999"; +export const LATENCY_DISTRIBUTION = "latency_distribution"; +export const HITS = "hits"; +export const HITS_PER_SECOND = "hits_per_second"; +export const TOTAL_TIME = "total_time"; +export const APDEX = "apdex"; diff --git a/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsDataSource.ts b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsDataSource.ts new file mode 100644 index 000000000000..148d96c432f0 --- /dev/null +++ b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsDataSource.ts @@ -0,0 +1,16 @@ +/** + * 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"; + +/** + * Data source for APM metrics queries. + */ + +export type FormulaAndFunctionApmMetricsDataSource = + | typeof APM_METRICS + | UnparsedObject; +export const APM_METRICS = "apm_metrics"; diff --git a/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsQueryDefinition.ts b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsQueryDefinition.ts new file mode 100644 index 000000000000..48628c238b47 --- /dev/null +++ b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsQueryDefinition.ts @@ -0,0 +1,146 @@ +/** + * 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 { FormulaAndFunctionApmMetricsDataSource } from "./FormulaAndFunctionApmMetricsDataSource"; +import { FormulaAndFunctionApmMetricsSpanKind } from "./FormulaAndFunctionApmMetricsSpanKind"; +import { FormulaAndFunctionApmMetricStatName } from "./FormulaAndFunctionApmMetricStatName"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A formula and functions APM metrics query. + */ +export class FormulaAndFunctionApmMetricsQueryDefinition { + /** + * Data source for APM metrics queries. + */ + "dataSource": FormulaAndFunctionApmMetricsDataSource; + /** + * Optional fields to group the query results by. + */ + "groupBy"?: Array; + /** + * Name of this query to use in formulas. + */ + "name": string; + /** + * Optional operation mode to aggregate across operation names. + */ + "operationMode"?: string; + /** + * Name of operation on service. If not provided, the primary operation name is used. + */ + "operationName"?: string; + /** + * Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + */ + "peerTags"?: Array; + /** + * Additional filters for the query using metrics query syntax (e.g., env, primary_tag). + */ + "queryFilter"?: string; + /** + * The hash of a specific resource to filter by. + */ + "resourceHash"?: string; + /** + * The full name of a specific resource to filter by. + */ + "resourceName"?: string; + /** + * APM service name. + */ + "service"?: string; + /** + * Describes the relationship between the span, its parents, and its children in a trace. + */ + "spanKind"?: FormulaAndFunctionApmMetricsSpanKind; + /** + * APM metric stat name. + */ + "stat": FormulaAndFunctionApmMetricStatName; + + /** + * 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 = { + dataSource: { + baseName: "data_source", + type: "FormulaAndFunctionApmMetricsDataSource", + required: true, + }, + groupBy: { + baseName: "group_by", + type: "Array", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + operationMode: { + baseName: "operation_mode", + type: "string", + }, + operationName: { + baseName: "operation_name", + type: "string", + }, + peerTags: { + baseName: "peer_tags", + type: "Array", + }, + queryFilter: { + baseName: "query_filter", + type: "string", + }, + resourceHash: { + baseName: "resource_hash", + type: "string", + }, + resourceName: { + baseName: "resource_name", + type: "string", + }, + service: { + baseName: "service", + type: "string", + }, + spanKind: { + baseName: "span_kind", + type: "FormulaAndFunctionApmMetricsSpanKind", + }, + stat: { + baseName: "stat", + type: "FormulaAndFunctionApmMetricStatName", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return FormulaAndFunctionApmMetricsQueryDefinition.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsSpanKind.ts b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsSpanKind.ts new file mode 100644 index 000000000000..61a03546205d --- /dev/null +++ b/packages/datadog-api-client-v1/models/FormulaAndFunctionApmMetricsSpanKind.ts @@ -0,0 +1,24 @@ +/** + * 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"; + +/** + * Describes the relationship between the span, its parents, and its children in a trace. + */ + +export type FormulaAndFunctionApmMetricsSpanKind = + | typeof CONSUMER + | typeof SERVER + | typeof CLIENT + | typeof PRODUCER + | typeof INTERNAL + | UnparsedObject; +export const CONSUMER = "consumer"; +export const SERVER = "server"; +export const CLIENT = "client"; +export const PRODUCER = "producer"; +export const INTERNAL = "internal"; diff --git a/packages/datadog-api-client-v1/models/FormulaAndFunctionQueryDefinition.ts b/packages/datadog-api-client-v1/models/FormulaAndFunctionQueryDefinition.ts index 16d945c89a76..497b48e03901 100644 --- a/packages/datadog-api-client-v1/models/FormulaAndFunctionQueryDefinition.ts +++ b/packages/datadog-api-client-v1/models/FormulaAndFunctionQueryDefinition.ts @@ -4,6 +4,7 @@ * Copyright 2020-Present Datadog, Inc. */ import { FormulaAndFunctionApmDependencyStatsQueryDefinition } from "./FormulaAndFunctionApmDependencyStatsQueryDefinition"; +import { FormulaAndFunctionApmMetricsQueryDefinition } from "./FormulaAndFunctionApmMetricsQueryDefinition"; import { FormulaAndFunctionApmResourceStatsQueryDefinition } from "./FormulaAndFunctionApmResourceStatsQueryDefinition"; import { FormulaAndFunctionCloudCostQueryDefinition } from "./FormulaAndFunctionCloudCostQueryDefinition"; import { FormulaAndFunctionEventQueryDefinition } from "./FormulaAndFunctionEventQueryDefinition"; @@ -23,6 +24,7 @@ export type FormulaAndFunctionQueryDefinition = | FormulaAndFunctionProcessQueryDefinition | FormulaAndFunctionApmDependencyStatsQueryDefinition | FormulaAndFunctionApmResourceStatsQueryDefinition + | FormulaAndFunctionApmMetricsQueryDefinition | FormulaAndFunctionSLOQueryDefinition | FormulaAndFunctionCloudCostQueryDefinition | UnparsedObject; diff --git a/packages/datadog-api-client-v1/models/ObjectSerializer.ts b/packages/datadog-api-client-v1/models/ObjectSerializer.ts index 471e20223eb1..c6df0a4c9029 100644 --- a/packages/datadog-api-client-v1/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v1/models/ObjectSerializer.ts @@ -83,6 +83,7 @@ import { EventResponse } from "./EventResponse"; import { EventStreamWidgetDefinition } from "./EventStreamWidgetDefinition"; import { EventTimelineWidgetDefinition } from "./EventTimelineWidgetDefinition"; import { FormulaAndFunctionApmDependencyStatsQueryDefinition } from "./FormulaAndFunctionApmDependencyStatsQueryDefinition"; +import { FormulaAndFunctionApmMetricsQueryDefinition } from "./FormulaAndFunctionApmMetricsQueryDefinition"; import { FormulaAndFunctionApmResourceStatsQueryDefinition } from "./FormulaAndFunctionApmResourceStatsQueryDefinition"; import { FormulaAndFunctionCloudCostQueryDefinition } from "./FormulaAndFunctionCloudCostQueryDefinition"; import { FormulaAndFunctionEventQueryDefinition } from "./FormulaAndFunctionEventQueryDefinition"; @@ -767,6 +768,32 @@ const enumsMap: { [key: string]: any[] } = { "total_traces_count", ], FormulaAndFunctionApmDependencyStatsDataSource: ["apm_dependency_stats"], + FormulaAndFunctionApmMetricStatName: [ + "errors", + "error_rate", + "errors_per_second", + "latency_avg", + "latency_max", + "latency_p50", + "latency_p75", + "latency_p90", + "latency_p95", + "latency_p99", + "latency_p999", + "latency_distribution", + "hits", + "hits_per_second", + "total_time", + "apdex", + ], + FormulaAndFunctionApmMetricsDataSource: ["apm_metrics"], + FormulaAndFunctionApmMetricsSpanKind: [ + "consumer", + "server", + "client", + "producer", + "internal", + ], FormulaAndFunctionApmResourceStatName: [ "errors", "error_rate", @@ -1896,6 +1923,8 @@ const typeMap: { [index: string]: any } = { EventTimelineWidgetDefinition: EventTimelineWidgetDefinition, FormulaAndFunctionApmDependencyStatsQueryDefinition: FormulaAndFunctionApmDependencyStatsQueryDefinition, + FormulaAndFunctionApmMetricsQueryDefinition: + FormulaAndFunctionApmMetricsQueryDefinition, FormulaAndFunctionApmResourceStatsQueryDefinition: FormulaAndFunctionApmResourceStatsQueryDefinition, FormulaAndFunctionCloudCostQueryDefinition: @@ -2565,6 +2594,7 @@ const oneOfMap: { [index: string]: string[] } = { "FormulaAndFunctionProcessQueryDefinition", "FormulaAndFunctionApmDependencyStatsQueryDefinition", "FormulaAndFunctionApmResourceStatsQueryDefinition", + "FormulaAndFunctionApmMetricsQueryDefinition", "FormulaAndFunctionSLOQueryDefinition", "FormulaAndFunctionCloudCostQueryDefinition", ], diff --git a/packages/datadog-api-client-v2/apis/SecurityMonitoringApi.ts b/packages/datadog-api-client-v2/apis/SecurityMonitoringApi.ts index 512dfcd196c6..2a8ddafd42ad 100644 --- a/packages/datadog-api-client-v2/apis/SecurityMonitoringApi.ts +++ b/packages/datadog-api-client-v2/apis/SecurityMonitoringApi.ts @@ -2859,6 +2859,7 @@ export class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory { } public async listSecurityMonitoringCriticalAssets( + query?: string, _options?: Configuration ): Promise { const _config = _options || this.configuration; @@ -2876,6 +2877,15 @@ export class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory { requestContext.setHeaderParam("Accept", "application/json"); requestContext.setHttpConfig(_config.httpConfig); + // Query Params + if (query !== undefined) { + requestContext.setQueryParam( + "query", + ObjectSerializer.serialize(query, "string", ""), + "" + ); + } + // Apply auth methods applySecurityAuthentication(_config, requestContext, [ "apiKeyAuth", @@ -10720,6 +10730,14 @@ export interface SecurityMonitoringApiListSecurityFindingsRequest { sort?: SecurityFindingsSort; } +export interface SecurityMonitoringApiListSecurityMonitoringCriticalAssetsRequest { + /** + * Query string. + * @type string + */ + query?: string; +} + export interface SecurityMonitoringApiListSecurityMonitoringHistsignalsRequest { /** * The search query for security signals. @@ -12956,10 +12974,14 @@ export class SecurityMonitoringApi { * @param param The request object */ public listSecurityMonitoringCriticalAssets( + param: SecurityMonitoringApiListSecurityMonitoringCriticalAssetsRequest = {}, options?: Configuration ): Promise { const requestContextPromise = - this.requestFactory.listSecurityMonitoringCriticalAssets(options); + this.requestFactory.listSecurityMonitoringCriticalAssets( + param.query, + options + ); return requestContextPromise.then((requestContext) => { return this.configuration.httpApi .send(requestContext) diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index 2301c85e53db..5fb6d2da0107 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -960,6 +960,7 @@ export { SecurityMonitoringApiListMultipleRulesetsRequest, SecurityMonitoringApiListScannedAssetsMetadataRequest, SecurityMonitoringApiListSecurityFindingsRequest, + SecurityMonitoringApiListSecurityMonitoringCriticalAssetsRequest, SecurityMonitoringApiListSecurityMonitoringHistsignalsRequest, SecurityMonitoringApiListSecurityMonitoringRulesRequest, SecurityMonitoringApiListSecurityMonitoringSignalsRequest,