Documentation
¶
Overview ¶
CDK Construct Library to automatically instrument Python and Node Lambda functions with Datadog using AWS CDK v2
Index ¶
- func DatadogLambda_IsConstruct(x interface{}) *bool
- func Datadog_IsConstruct(x interface{}) *bool
- func NewDatadogLambda_Override(d DatadogLambda, scope constructs.Construct, id *string, ...)
- func NewDatadog_Override(d Datadog, scope constructs.Construct, id *string, props *DatadogProps)
- func NewTransport_Override(t Transport, flushMetricsToLogs *bool, site *string, apiKey *string, ...)
- type Datadog
- type DatadogLambda
- type DatadogLambdaProps
- type DatadogLambdaStrictProps
- type DatadogProps
- type DatadogStrictProps
- type Node
- type Runtime
- type RuntimeType
- type TagKeys
- type Transport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DatadogLambda_IsConstruct ¶ added in v1.16.0
func DatadogLambda_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func Datadog_IsConstruct ¶
func Datadog_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func NewDatadogLambda_Override ¶ added in v1.16.0
func NewDatadogLambda_Override(d DatadogLambda, scope constructs.Construct, id *string, props *DatadogLambdaProps)
func NewDatadog_Override ¶
func NewDatadog_Override(d Datadog, scope constructs.Construct, id *string, props *DatadogProps)
Types ¶
type Datadog ¶
type Datadog interface {
DatadogLambda
// The tree node.
Node() constructs.Node
Props() *DatadogLambdaProps
SetProps(val *DatadogLambdaProps)
Scope() constructs.Construct
SetScope(val constructs.Construct)
Transport() Transport
SetTransport(val Transport)
AddForwarderToNonLambdaLogGroups(logGroups *[]awslogs.ILogGroup)
AddGitCommitMetadata(lambdaFunctions *[]interface{}, gitCommitSha *string, gitRepoUrl *string)
AddLambdaFunctions(lambdaFunctions *[]interface{}, construct constructs.Construct)
// Returns a string representation of this construct.
ToString() *string
}
For backward compatibility.
It's recommended to use DatadogLambda for users who want to add Datadog monitoring for Lambda functions.
func NewDatadog ¶
func NewDatadog(scope constructs.Construct, id *string, props *DatadogProps) Datadog
type DatadogLambda ¶ added in v1.16.0
type DatadogLambda interface {
constructs.Construct
// The tree node.
Node() constructs.Node
Props() *DatadogLambdaProps
SetProps(val *DatadogLambdaProps)
Scope() constructs.Construct
SetScope(val constructs.Construct)
Transport() Transport
SetTransport(val Transport)
AddForwarderToNonLambdaLogGroups(logGroups *[]awslogs.ILogGroup)
AddGitCommitMetadata(lambdaFunctions *[]interface{}, gitCommitSha *string, gitRepoUrl *string)
AddLambdaFunctions(lambdaFunctions *[]interface{}, construct constructs.Construct)
// Returns a string representation of this construct.
ToString() *string
}
func NewDatadogLambda ¶ added in v1.16.0
func NewDatadogLambda(scope constructs.Construct, id *string, props *DatadogLambdaProps) DatadogLambda
type DatadogLambdaProps ¶ added in v1.16.0
type DatadogLambdaProps struct {
AddLayers *bool `field:"optional" json:"addLayers" yaml:"addLayers"`
ApiKey *string `field:"optional" json:"apiKey" yaml:"apiKey"`
ApiKeySecret awssecretsmanager.ISecret `field:"optional" json:"apiKeySecret" yaml:"apiKeySecret"`
ApiKeySecretArn *string `field:"optional" json:"apiKeySecretArn" yaml:"apiKeySecretArn"`
ApiKmsKey *string `field:"optional" json:"apiKmsKey" yaml:"apiKmsKey"`
ApmFlushDeadline interface{} `field:"optional" json:"apmFlushDeadline" yaml:"apmFlushDeadline"`
CaptureLambdaPayload *bool `field:"optional" json:"captureLambdaPayload" yaml:"captureLambdaPayload"`
ColdStartTraceSkipLibs *string `field:"optional" json:"coldStartTraceSkipLibs" yaml:"coldStartTraceSkipLibs"`
CreateForwarderPermissions *bool `field:"optional" json:"createForwarderPermissions" yaml:"createForwarderPermissions"`
DecodeAuthorizerContext *bool `field:"optional" json:"decodeAuthorizerContext" yaml:"decodeAuthorizerContext"`
DotnetLayerVersion *float64 `field:"optional" json:"dotnetLayerVersion" yaml:"dotnetLayerVersion"`
EnableColdStartTracing *bool `field:"optional" json:"enableColdStartTracing" yaml:"enableColdStartTracing"`
EnableDatadogASM *bool `field:"optional" json:"enableDatadogASM" yaml:"enableDatadogASM"`
EnableDatadogLogs *bool `field:"optional" json:"enableDatadogLogs" yaml:"enableDatadogLogs"`
EnableDatadogTracing *bool `field:"optional" json:"enableDatadogTracing" yaml:"enableDatadogTracing"`
EnableMergeXrayTraces *bool `field:"optional" json:"enableMergeXrayTraces" yaml:"enableMergeXrayTraces"`
EnableProfiling *bool `field:"optional" json:"enableProfiling" yaml:"enableProfiling"`
EncodeAuthorizerContext *bool `field:"optional" json:"encodeAuthorizerContext" yaml:"encodeAuthorizerContext"`
Env *string `field:"optional" json:"env" yaml:"env"`
ExtensionLayerVersion *float64 `field:"optional" json:"extensionLayerVersion" yaml:"extensionLayerVersion"`
FlushMetricsToLogs *bool `field:"optional" json:"flushMetricsToLogs" yaml:"flushMetricsToLogs"`
ForwarderArn *string `field:"optional" json:"forwarderArn" yaml:"forwarderArn"`
GrantSecretReadAccess *bool `field:"optional" json:"grantSecretReadAccess" yaml:"grantSecretReadAccess"`
InjectLogContext *bool `field:"optional" json:"injectLogContext" yaml:"injectLogContext"`
JavaLayerVersion *float64 `field:"optional" json:"javaLayerVersion" yaml:"javaLayerVersion"`
LogLevel *string `field:"optional" json:"logLevel" yaml:"logLevel"`
MinColdStartTraceDuration *float64 `field:"optional" json:"minColdStartTraceDuration" yaml:"minColdStartTraceDuration"`
NodeLayerVersion *float64 `field:"optional" json:"nodeLayerVersion" yaml:"nodeLayerVersion"`
PythonLayerVersion *float64 `field:"optional" json:"pythonLayerVersion" yaml:"pythonLayerVersion"`
RedirectHandler *bool `field:"optional" json:"redirectHandler" yaml:"redirectHandler"`
Service *string `field:"optional" json:"service" yaml:"service"`
Site *string `field:"optional" json:"site" yaml:"site"`
SourceCodeIntegration *bool `field:"optional" json:"sourceCodeIntegration" yaml:"sourceCodeIntegration"`
Tags *string `field:"optional" json:"tags" yaml:"tags"`
UseLayersFromAccount *string `field:"optional" json:"useLayersFromAccount" yaml:"useLayersFromAccount"`
Version *string `field:"optional" json:"version" yaml:"version"`
}
type DatadogLambdaStrictProps ¶ added in v1.16.0
type DatadogLambdaStrictProps struct {
AddLayers *bool `field:"required" json:"addLayers" yaml:"addLayers"`
CaptureLambdaPayload *bool `field:"required" json:"captureLambdaPayload" yaml:"captureLambdaPayload"`
EnableDatadogASM *bool `field:"required" json:"enableDatadogASM" yaml:"enableDatadogASM"`
EnableDatadogLogs *bool `field:"required" json:"enableDatadogLogs" yaml:"enableDatadogLogs"`
EnableDatadogTracing *bool `field:"required" json:"enableDatadogTracing" yaml:"enableDatadogTracing"`
EnableMergeXrayTraces *bool `field:"required" json:"enableMergeXrayTraces" yaml:"enableMergeXrayTraces"`
GrantSecretReadAccess *bool `field:"required" json:"grantSecretReadAccess" yaml:"grantSecretReadAccess"`
InjectLogContext *bool `field:"required" json:"injectLogContext" yaml:"injectLogContext"`
ApiKey *string `field:"optional" json:"apiKey" yaml:"apiKey"`
ApiKeySecret awssecretsmanager.ISecret `field:"optional" json:"apiKeySecret" yaml:"apiKeySecret"`
ApiKeySecretArn *string `field:"optional" json:"apiKeySecretArn" yaml:"apiKeySecretArn"`
ApiKmsKey *string `field:"optional" json:"apiKmsKey" yaml:"apiKmsKey"`
ExtensionLayerVersion *float64 `field:"optional" json:"extensionLayerVersion" yaml:"extensionLayerVersion"`
FlushMetricsToLogs *bool `field:"optional" json:"flushMetricsToLogs" yaml:"flushMetricsToLogs"`
ForwarderArn *string `field:"optional" json:"forwarderArn" yaml:"forwarderArn"`
JavaLayerVersion *float64 `field:"optional" json:"javaLayerVersion" yaml:"javaLayerVersion"`
LogLevel *string `field:"optional" json:"logLevel" yaml:"logLevel"`
NodeLayerVersion *float64 `field:"optional" json:"nodeLayerVersion" yaml:"nodeLayerVersion"`
PythonLayerVersion *float64 `field:"optional" json:"pythonLayerVersion" yaml:"pythonLayerVersion"`
RedirectHandler *bool `field:"optional" json:"redirectHandler" yaml:"redirectHandler"`
Site *string `field:"optional" json:"site" yaml:"site"`
SourceCodeIntegration *bool `field:"optional" json:"sourceCodeIntegration" yaml:"sourceCodeIntegration"`
}
type DatadogProps ¶
type DatadogProps struct {
AddLayers *bool `field:"optional" json:"addLayers" yaml:"addLayers"`
ApiKey *string `field:"optional" json:"apiKey" yaml:"apiKey"`
ApiKeySecret awssecretsmanager.ISecret `field:"optional" json:"apiKeySecret" yaml:"apiKeySecret"`
ApiKeySecretArn *string `field:"optional" json:"apiKeySecretArn" yaml:"apiKeySecretArn"`
ApiKmsKey *string `field:"optional" json:"apiKmsKey" yaml:"apiKmsKey"`
ApmFlushDeadline interface{} `field:"optional" json:"apmFlushDeadline" yaml:"apmFlushDeadline"`
CaptureLambdaPayload *bool `field:"optional" json:"captureLambdaPayload" yaml:"captureLambdaPayload"`
ColdStartTraceSkipLibs *string `field:"optional" json:"coldStartTraceSkipLibs" yaml:"coldStartTraceSkipLibs"`
CreateForwarderPermissions *bool `field:"optional" json:"createForwarderPermissions" yaml:"createForwarderPermissions"`
DecodeAuthorizerContext *bool `field:"optional" json:"decodeAuthorizerContext" yaml:"decodeAuthorizerContext"`
DotnetLayerVersion *float64 `field:"optional" json:"dotnetLayerVersion" yaml:"dotnetLayerVersion"`
EnableColdStartTracing *bool `field:"optional" json:"enableColdStartTracing" yaml:"enableColdStartTracing"`
EnableDatadogASM *bool `field:"optional" json:"enableDatadogASM" yaml:"enableDatadogASM"`
EnableDatadogLogs *bool `field:"optional" json:"enableDatadogLogs" yaml:"enableDatadogLogs"`
EnableDatadogTracing *bool `field:"optional" json:"enableDatadogTracing" yaml:"enableDatadogTracing"`
EnableMergeXrayTraces *bool `field:"optional" json:"enableMergeXrayTraces" yaml:"enableMergeXrayTraces"`
EnableProfiling *bool `field:"optional" json:"enableProfiling" yaml:"enableProfiling"`
EncodeAuthorizerContext *bool `field:"optional" json:"encodeAuthorizerContext" yaml:"encodeAuthorizerContext"`
Env *string `field:"optional" json:"env" yaml:"env"`
ExtensionLayerVersion *float64 `field:"optional" json:"extensionLayerVersion" yaml:"extensionLayerVersion"`
FlushMetricsToLogs *bool `field:"optional" json:"flushMetricsToLogs" yaml:"flushMetricsToLogs"`
ForwarderArn *string `field:"optional" json:"forwarderArn" yaml:"forwarderArn"`
GrantSecretReadAccess *bool `field:"optional" json:"grantSecretReadAccess" yaml:"grantSecretReadAccess"`
InjectLogContext *bool `field:"optional" json:"injectLogContext" yaml:"injectLogContext"`
JavaLayerVersion *float64 `field:"optional" json:"javaLayerVersion" yaml:"javaLayerVersion"`
LogLevel *string `field:"optional" json:"logLevel" yaml:"logLevel"`
MinColdStartTraceDuration *float64 `field:"optional" json:"minColdStartTraceDuration" yaml:"minColdStartTraceDuration"`
NodeLayerVersion *float64 `field:"optional" json:"nodeLayerVersion" yaml:"nodeLayerVersion"`
PythonLayerVersion *float64 `field:"optional" json:"pythonLayerVersion" yaml:"pythonLayerVersion"`
RedirectHandler *bool `field:"optional" json:"redirectHandler" yaml:"redirectHandler"`
Service *string `field:"optional" json:"service" yaml:"service"`
Site *string `field:"optional" json:"site" yaml:"site"`
SourceCodeIntegration *bool `field:"optional" json:"sourceCodeIntegration" yaml:"sourceCodeIntegration"`
Tags *string `field:"optional" json:"tags" yaml:"tags"`
UseLayersFromAccount *string `field:"optional" json:"useLayersFromAccount" yaml:"useLayersFromAccount"`
Version *string `field:"optional" json:"version" yaml:"version"`
}
For backward compatibility.
It's recommended to use DatadogLambdaProps for users who want to add Datadog monitoring for Lambda functions.
type DatadogStrictProps ¶
type DatadogStrictProps struct {
AddLayers *bool `field:"required" json:"addLayers" yaml:"addLayers"`
CaptureLambdaPayload *bool `field:"required" json:"captureLambdaPayload" yaml:"captureLambdaPayload"`
EnableDatadogASM *bool `field:"required" json:"enableDatadogASM" yaml:"enableDatadogASM"`
EnableDatadogLogs *bool `field:"required" json:"enableDatadogLogs" yaml:"enableDatadogLogs"`
EnableDatadogTracing *bool `field:"required" json:"enableDatadogTracing" yaml:"enableDatadogTracing"`
EnableMergeXrayTraces *bool `field:"required" json:"enableMergeXrayTraces" yaml:"enableMergeXrayTraces"`
GrantSecretReadAccess *bool `field:"required" json:"grantSecretReadAccess" yaml:"grantSecretReadAccess"`
InjectLogContext *bool `field:"required" json:"injectLogContext" yaml:"injectLogContext"`
ApiKey *string `field:"optional" json:"apiKey" yaml:"apiKey"`
ApiKeySecret awssecretsmanager.ISecret `field:"optional" json:"apiKeySecret" yaml:"apiKeySecret"`
ApiKeySecretArn *string `field:"optional" json:"apiKeySecretArn" yaml:"apiKeySecretArn"`
ApiKmsKey *string `field:"optional" json:"apiKmsKey" yaml:"apiKmsKey"`
ExtensionLayerVersion *float64 `field:"optional" json:"extensionLayerVersion" yaml:"extensionLayerVersion"`
FlushMetricsToLogs *bool `field:"optional" json:"flushMetricsToLogs" yaml:"flushMetricsToLogs"`
ForwarderArn *string `field:"optional" json:"forwarderArn" yaml:"forwarderArn"`
JavaLayerVersion *float64 `field:"optional" json:"javaLayerVersion" yaml:"javaLayerVersion"`
LogLevel *string `field:"optional" json:"logLevel" yaml:"logLevel"`
NodeLayerVersion *float64 `field:"optional" json:"nodeLayerVersion" yaml:"nodeLayerVersion"`
PythonLayerVersion *float64 `field:"optional" json:"pythonLayerVersion" yaml:"pythonLayerVersion"`
RedirectHandler *bool `field:"optional" json:"redirectHandler" yaml:"redirectHandler"`
Site *string `field:"optional" json:"site" yaml:"site"`
SourceCodeIntegration *bool `field:"optional" json:"sourceCodeIntegration" yaml:"sourceCodeIntegration"`
}
For backward compatibility.
It's recommended to use DatadogLambdaStrictProps for users who want to add Datadog monitoring for Lambda functions.
type Node ¶
type Node struct {
DefaultChild interface{} `field:"required" json:"defaultChild" yaml:"defaultChild"`
}
type RuntimeType ¶
type RuntimeType string
const ( RuntimeType_DOTNET RuntimeType = "DOTNET" RuntimeType_NODE RuntimeType = "NODE" RuntimeType_PYTHON RuntimeType = "PYTHON" RuntimeType_JAVA RuntimeType = "JAVA" RuntimeType_CUSTOM RuntimeType = "CUSTOM" RuntimeType_UNSUPPORTED RuntimeType = "UNSUPPORTED" )
type Transport ¶
type Transport interface {
ApiKey() *string
SetApiKey(val *string)
ApiKeySecretArn() *string
SetApiKeySecretArn(val *string)
ApiKmsKey() *string
SetApiKmsKey(val *string)
ExtensionLayerVersion() *float64
SetExtensionLayerVersion(val *float64)
FlushMetricsToLogs() *bool
SetFlushMetricsToLogs(val *bool)
Site() *string
SetSite(val *string)
ApplyEnvVars(lambdas *[]awslambda.Function)
}