An AWS CDK construct library that wraps DataDog/datadog-cloudformation-resources.
Before using this library, register datadog-cloudformation-resources to your AWS account.
You need to register the correct version listed in Supported Resources
.
- TypeScript
- Python
JavaSorry, there is a problem with the release. (#22)
Supported? | Resource | Datadog CF Resource Name | Description | Datadog CF Version |
---|---|---|---|---|
✅ | Dashboards | Datadog::Dashboards::Dashboard |
Create, update, and delete Datadog dashboards. | 1.0.0 |
✅ | Datadog-AWS integration | Datadog::Integrations::AWS |
Manage your Datadog-Amazon Web Service integration. | 1.1.0 |
✅ | Monitors | Datadog::Monitors::Monitor |
Create, update, and delete Datadog monitors. | 3.0.0 |
✅ | Downtimes | Datadog::Monitors::Downtime |
Enable or disable downtimes for your monitors. | 2.0.0 |
✅ | Users | Datadog::IAM::User |
Create and manage Datadog users. | 1.2.0 |
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>
Below are examples of TypeScript.
import * as fs from 'fs';
import { DatadogDashboard } from '@nomadblacky/cdk-datadog-resources';
new DatadogDashboard(yourStack, 'TestDashboard', {
datadogCredentials: {
apiKey: process.env.DATADOG_API_KEY!,
applicationKey: process.env.DATADOG_APP_KEY!,
},
dashboardDefinition: fs.readFileSync(`${__dirname}/path/to/your/dashboard-definition.json`).toString(),
});
import { DatadogMonitor } from '@nomadblacky/cdk-datadog-resources';
new DatadogMonitor(yourStack, 'TestMonitor', {
datadogCredentials: {
apiKey: process.env.DATADOG_API_KEY!,
applicationKey: 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,
oK: 90,
},
notifyNoData: true,
evaluationDelay: 60,
},
});
import { DatadogDowntime } from '@nomadblacky/cdk-datadog-resources';
new DatadogDowntime(stack, 'TestMonitor', {
datadogCredentials: {
apiKey: 'DATADOG_API_KEY',
applicationKey: 'DATADOG_APP_KEY',
},
scope: ['host:myserver', 'service:myservice'],
start: 1624542715,
end: 1624546321,
});
import { DatadogIAMUser } from '@nomadblacky/cdk-datadog-resources';
new DatadogIAMUser(stack, 'TestUser', {
datadogCredentials: {
apiKey: 'DATADOG_API_KEY',
applicationKey: 'DATADOG_APP_KEY',
},
email: 'jane.doe@example.com',
name: 'name_example',
handle: 'title_example',
disabled: false,
});
import { DatadogIntegrationAWS } from '@nomadblacky/cdk-datadog-resources';
new DatadogIntegrationAWS(this, 'DataDogIntegration', {
datadogCredentials: {
apiKey: "DATADOG_API_KEY",
applicationKey: "DATADOG_APP_KEY",
},
accountId: "ACCOUNT_ID",
roleName: "DatadogIntegrationRole",
});