-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathinterfaces.ts
More file actions
126 lines (119 loc) · 4.34 KB
/
Copy pathinterfaces.ts
File metadata and controls
126 lines (119 loc) · 4.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*
* Unless explicitly stated otherwise all files in this repository are licensed
* under the Apache License Version 2.0.
*
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2020-2026 Datadog, Inc.
*/
import * as lambda from "aws-cdk-lib/aws-lambda";
import * as secrets from "aws-cdk-lib/aws-secretsmanager";
export enum DatadogAppSecMode {
/** Disable App and API Protection */
OFF = "off",
/** Enable App and API Protection */
ON = "on",
/** Enable App and API Protection using the Datadog Lambda Extension implementation. */
EXTENSION = "extension",
/** Enable App and API Protection using the Datadog Lambda Library implementation.
*
* **Warning**: This option forces tracer enablement for cases where the Datadog CDK Constructs
* cannot safely detect that you are using a compatible library. Ensure that you are using the
* Datadog Lambda Library for Python version "8.114.0" or above.
*/
TRACER = "tracer",
}
export interface DatadogLambdaProps {
readonly dotnetLayerVersion?: number;
readonly dotnetLayerArn?: string;
readonly pythonLayerVersion?: number;
readonly pythonLayerArn?: string;
readonly nodeLayerVersion?: number;
readonly nodeLayerArn?: string;
readonly javaLayerVersion?: number;
readonly javaLayerArn?: string;
readonly rubyLayerVersion?: number;
readonly rubyLayerArn?: string;
readonly extensionLayerVersion?: number;
readonly extensionLayerArn?: string;
readonly addLayers?: boolean;
readonly forwarderArn?: string;
readonly flushMetricsToLogs?: boolean;
readonly site?: string;
readonly apiKey?: string;
readonly apiKeySecretArn?: string;
readonly apiKeySsmArn?: string;
readonly apiKeySecret?: secrets.ISecret;
readonly apiKmsKey?: string;
readonly enableDatadogTracing?: boolean;
readonly enableDatadogASM?: boolean;
readonly datadogAppSecMode?: DatadogAppSecMode;
readonly enableMergeXrayTraces?: boolean;
readonly injectLogContext?: boolean;
readonly logLevel?: string;
readonly enableDatadogLogs?: boolean;
readonly captureLambdaPayload?: boolean;
readonly captureCloudServicePayload?: boolean;
readonly env?: string;
readonly service?: string;
readonly version?: string;
readonly tags?: string;
readonly createForwarderPermissions?: boolean;
readonly sourceCodeIntegration?: boolean;
readonly enableColdStartTracing?: boolean;
readonly minColdStartTraceDuration?: number;
readonly coldStartTraceSkipLibs?: string;
readonly enableProfiling?: boolean;
readonly encodeAuthorizerContext?: boolean;
readonly decodeAuthorizerContext?: boolean;
readonly apmFlushDeadline?: string | number;
readonly redirectHandler?: boolean;
readonly grantSecretReadAccess?: boolean;
readonly useLayersFromAccount?: string;
readonly llmObsEnabled?: boolean;
readonly llmObsMlApp?: string;
readonly llmObsAgentlessEnabled?: boolean;
}
/*
* Makes fields shared with DefaultDatadogLambdaProps (in constants file) required.
*/
export interface DatadogLambdaStrictProps {
readonly addLayers: boolean;
readonly enableDatadogLogs: boolean;
readonly captureLambdaPayload: boolean;
readonly captureCloudServicePayload: boolean;
readonly injectLogContext: boolean;
readonly enableDatadogTracing: boolean;
readonly datadogAppSecMode: DatadogAppSecMode;
readonly enableMergeXrayTraces: boolean;
readonly grantSecretReadAccess: boolean;
readonly pythonLayerVersion?: number;
readonly pythonLayerArn?: string;
readonly nodeLayerVersion?: number;
readonly nodeLayerArn?: string;
readonly javaLayerVersion?: number;
readonly javaLayerArn?: string;
readonly extensionLayerVersion?: number;
readonly extensionLayerArn?: string;
readonly forwarderArn?: string;
readonly flushMetricsToLogs?: boolean;
readonly site?: string;
readonly apiKey?: string;
readonly apiKeySecretArn?: string;
readonly apiKeySsmArn?: string;
readonly apiKeySecret?: secrets.ISecret;
readonly apiKmsKey?: string;
readonly logLevel?: string;
readonly sourceCodeIntegration?: boolean;
readonly redirectHandler?: boolean;
}
export interface Runtime {
readonly name: string;
}
export type LambdaFunction = lambda.Function | lambda.SingletonFunction;
export interface DatadogStepFunctionsProps {
readonly env?: string;
readonly service?: string;
readonly version?: string;
readonly forwarderArn?: string;
readonly tags?: string;
}