AWS CDK Datadog Resources

An AWS CDK construct library that wraps DataDog/datadog-cloudformation-resources.
Requirements
Before using this library, register datadog-cloudformation-resources to your AWS account.
You need to register the correct version listed in Supported Resources
.
Supported CDK Languages
- TypeScript
- Python
Java Sorry, there is a problem with the release. (#22)
Supported Resources
Installation
TypeScript
npm install @nomadblacky/cdk-datadog-resources
Python
pip install cdk-datadog-resources
Java
<dependency>
<groupId>dev.nomadblacky</groupId>
<artifactId>cdk-datadog-resources</artifactId>
<version>x.y.z</version>
</dependency>
Usage
Below are examples of TypeScript.
Dashboards
import fs as fs
from nomadblacky.cdk_datadog_resources import DatadogDashboard
DatadogDashboard(your_stack, "TestDashboard",
datadog_credentials={
"api_key": process.env.DATADOG_API_KEY,
"application_key": process.env.DATADOG_APP_KEY
},
dashboard_definition=fs.read_file_sync(f"{__dirname}/path/to/your/dashboard-definition.json").to_string()
)
Monitors
from nomadblacky.cdk_datadog_resources import DatadogMonitor
DatadogMonitor(your_stack, "TestMonitor",
datadog_credentials={
"api_key": process.env.DATADOG_API_KEY,
"application_key": process.env.DATADOG_APP_KEY
},
query="avg(last_1h):sum:system.cpu.system{host:host0} > 100",
type=MonitorType.QueryAlert,
name="Test Monitor",
options={
"thresholds": {
"critical": 100,
"warning": 80,
"o_k": 90
},
"notify_no_data": True,
"evaluation_delay": 60
}
)
Downtimes
from nomadblacky.cdk_datadog_resources import DatadogDowntime
DatadogDowntime(stack, "TestMonitor",
datadog_credentials={
"api_key": "DATADOG_API_KEY",
"application_key": "DATADOG_APP_KEY"
},
scope=["host:myserver", "service:myservice"],
start=1624542715,
end=1624546321
)
Users
from nomadblacky.cdk_datadog_resources import DatadogIAMUser
DatadogIAMUser(stack, "TestUser",
datadog_credentials={
"api_key": "DATADOG_API_KEY",
"application_key": "DATADOG_APP_KEY"
},
email="jane.doe@example.com",
name="name_example",
handle="title_example",
disabled=False
)
DataDog Integration
from nomadblacky.cdk_datadog_resources import DatadogIntegrationAWS
DatadogIntegrationAWS(self, "DataDogIntegration",
datadog_credentials={
"api_key": "DATADOG_API_KEY",
"application_key": "DATADOG_APP_KEY"
},
account_id="ACCOUNT_ID",
role_name="DatadogIntegrationRole"
)