Skip to content

Commit b72598f

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add support for routes in datadog logs destination (#3324)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent afd673d commit b72598f

5 files changed

Lines changed: 124 additions & 0 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36571,6 +36571,18 @@ components:
3657136571
items:
3657236572
type: string
3657336573
type: array
36574+
routes:
36575+
description: A list of routing rules that forward matching logs to Datadog
36576+
using dedicated API keys.
36577+
example:
36578+
- api_key_key: API_KEY_IDENTIFIER
36579+
include: service:api
36580+
route_id: datadog-logs-route-us1
36581+
site: us1
36582+
items:
36583+
$ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestinationRoute'
36584+
maxItems: 100
36585+
type: array
3657436586
type:
3657536587
$ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestinationType'
3657636588
required:
@@ -36580,6 +36592,29 @@ components:
3658036592
type: object
3658136593
x-pipeline-types:
3658236594
- logs
36595+
ObservabilityPipelineDatadogLogsDestinationRoute:
36596+
description: Defines how the `datadog_logs` destination routes matching logs
36597+
to a Datadog site using a specific API key.
36598+
properties:
36599+
api_key_key:
36600+
description: Name of the environment variable or secret that stores the
36601+
Datadog API key used by this route.
36602+
example: API_KEY_IDENTIFIER
36603+
type: string
36604+
include:
36605+
description: A Datadog search query that determines which logs are forwarded
36606+
using this route.
36607+
example: service:api
36608+
type: string
36609+
route_id:
36610+
description: Unique identifier for this route within the destination.
36611+
example: datadog-logs-route-us
36612+
type: string
36613+
site:
36614+
description: Datadog site where matching logs are sent (for example, `us1`).
36615+
example: us1
36616+
type: string
36617+
type: object
3658336618
ObservabilityPipelineDatadogLogsDestinationType:
3658436619
default: datadog_logs
3658536620
description: The destination type. The value should always be `datadog_logs`.

packages/datadog-api-client-v2/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3260,6 +3260,7 @@ export { ObservabilityPipelineDataAttributes } from "./models/ObservabilityPipel
32603260
export { ObservabilityPipelineDatadogAgentSource } from "./models/ObservabilityPipelineDatadogAgentSource";
32613261
export { ObservabilityPipelineDatadogAgentSourceType } from "./models/ObservabilityPipelineDatadogAgentSourceType";
32623262
export { ObservabilityPipelineDatadogLogsDestination } from "./models/ObservabilityPipelineDatadogLogsDestination";
3263+
export { ObservabilityPipelineDatadogLogsDestinationRoute } from "./models/ObservabilityPipelineDatadogLogsDestinationRoute";
32633264
export { ObservabilityPipelineDatadogLogsDestinationType } from "./models/ObservabilityPipelineDatadogLogsDestinationType";
32643265
export { ObservabilityPipelineDatadogMetricsDestination } from "./models/ObservabilityPipelineDatadogMetricsDestination";
32653266
export { ObservabilityPipelineDatadogMetricsDestinationType } from "./models/ObservabilityPipelineDatadogMetricsDestinationType";

packages/datadog-api-client-v2/models/ObjectSerializer.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1715,6 +1715,7 @@ import { ObservabilityPipelineData } from "./ObservabilityPipelineData";
17151715
import { ObservabilityPipelineDataAttributes } from "./ObservabilityPipelineDataAttributes";
17161716
import { ObservabilityPipelineDatadogAgentSource } from "./ObservabilityPipelineDatadogAgentSource";
17171717
import { ObservabilityPipelineDatadogLogsDestination } from "./ObservabilityPipelineDatadogLogsDestination";
1718+
import { ObservabilityPipelineDatadogLogsDestinationRoute } from "./ObservabilityPipelineDatadogLogsDestinationRoute";
17181719
import { ObservabilityPipelineDatadogMetricsDestination } from "./ObservabilityPipelineDatadogMetricsDestination";
17191720
import { ObservabilityPipelineDatadogTagsProcessor } from "./ObservabilityPipelineDatadogTagsProcessor";
17201721
import { ObservabilityPipelineDedupeProcessor } from "./ObservabilityPipelineDedupeProcessor";
@@ -6640,6 +6641,8 @@ const typeMap: { [index: string]: any } = {
66406641
ObservabilityPipelineDatadogAgentSource,
66416642
ObservabilityPipelineDatadogLogsDestination:
66426643
ObservabilityPipelineDatadogLogsDestination,
6644+
ObservabilityPipelineDatadogLogsDestinationRoute:
6645+
ObservabilityPipelineDatadogLogsDestinationRoute,
66436646
ObservabilityPipelineDatadogMetricsDestination:
66446647
ObservabilityPipelineDatadogMetricsDestination,
66456648
ObservabilityPipelineDatadogTagsProcessor:

packages/datadog-api-client-v2/models/ObservabilityPipelineDatadogLogsDestination.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* This product includes software developed at Datadog (https://www.datadoghq.com/).
44
* Copyright 2020-Present Datadog, Inc.
55
*/
6+
import { ObservabilityPipelineDatadogLogsDestinationRoute } from "./ObservabilityPipelineDatadogLogsDestinationRoute";
67
import { ObservabilityPipelineDatadogLogsDestinationType } from "./ObservabilityPipelineDatadogLogsDestinationType";
78

89
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
@@ -21,6 +22,10 @@ export class ObservabilityPipelineDatadogLogsDestination {
2122
* A list of component IDs whose output is used as the `input` for this component.
2223
*/
2324
"inputs": Array<string>;
25+
/**
26+
* A list of routing rules that forward matching logs to Datadog using dedicated API keys.
27+
*/
28+
"routes"?: Array<ObservabilityPipelineDatadogLogsDestinationRoute>;
2429
/**
2530
* The destination type. The value should always be `datadog_logs`.
2631
*/
@@ -52,6 +57,10 @@ export class ObservabilityPipelineDatadogLogsDestination {
5257
type: "Array<string>",
5358
required: true,
5459
},
60+
routes: {
61+
baseName: "routes",
62+
type: "Array<ObservabilityPipelineDatadogLogsDestinationRoute>",
63+
},
5564
type: {
5665
baseName: "type",
5766
type: "ObservabilityPipelineDatadogLogsDestinationType",
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/**
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2020-Present Datadog, Inc.
5+
*/
6+
7+
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
8+
9+
/**
10+
* Defines how the `datadog_logs` destination routes matching logs to a Datadog site using a specific API key.
11+
*/
12+
export class ObservabilityPipelineDatadogLogsDestinationRoute {
13+
/**
14+
* Name of the environment variable or secret that stores the Datadog API key used by this route.
15+
*/
16+
"apiKeyKey"?: string;
17+
/**
18+
* A Datadog search query that determines which logs are forwarded using this route.
19+
*/
20+
"include"?: string;
21+
/**
22+
* Unique identifier for this route within the destination.
23+
*/
24+
"routeId"?: string;
25+
/**
26+
* Datadog site where matching logs are sent (for example, `us1`).
27+
*/
28+
"site"?: string;
29+
30+
/**
31+
* A container for additional, undeclared properties.
32+
* This is a holder for any undeclared properties as specified with
33+
* the 'additionalProperties' keyword in the OAS document.
34+
*/
35+
"additionalProperties"?: { [key: string]: any };
36+
37+
/**
38+
* @ignore
39+
*/
40+
"_unparsed"?: boolean;
41+
42+
/**
43+
* @ignore
44+
*/
45+
static readonly attributeTypeMap: AttributeTypeMap = {
46+
apiKeyKey: {
47+
baseName: "api_key_key",
48+
type: "string",
49+
},
50+
include: {
51+
baseName: "include",
52+
type: "string",
53+
},
54+
routeId: {
55+
baseName: "route_id",
56+
type: "string",
57+
},
58+
site: {
59+
baseName: "site",
60+
type: "string",
61+
},
62+
additionalProperties: {
63+
baseName: "additionalProperties",
64+
type: "{ [key: string]: any; }",
65+
},
66+
};
67+
68+
/**
69+
* @ignore
70+
*/
71+
static getAttributeTypeMap(): AttributeTypeMap {
72+
return ObservabilityPipelineDatadogLogsDestinationRoute.attributeTypeMap;
73+
}
74+
75+
public constructor() {}
76+
}

0 commit comments

Comments
 (0)