Tags: #iac
# -- define a boilerplate resource as per https://www.terraform.io/docs/import/usage.html --
# -- avoid datadog_timeboard as that's deprecated in favour of datadog_dashboard --
# terraform init
# terraform 0.13upgrade .
# terraform init
# terraform import datadog_dashboard.example_timeboard abc-de1-fgh
# terraform import datadog_monitor.example_monitor 12345678
# terraform show -no-color >> main.tf
# -- delete boilerplate 'resource' block and clean up appended version --
# terraform validate
# terraform fmt
# terraform plan
# -- delete any incorrect syntax from 'terraform show' such as going from <<~EOT to <<EOT --
# -- delete any unknown keys that exist because of 'terraform show' and which shouldn't be part of actual terraform code --
# -- clean up any inline messages that might have different spacing due to HEREDOC format of <<EOT --
# -- when using a datadog_timeboard there were the following issues... --
# -- ensure jsonencode() is given keys as strings whenever $ syntax used as it'll cause validation errors --
# -- some graph widgets aren't really graphs (e.g. a "note" widget) so it is missing the "title" field + wont have a "request" block either --
provider "datadog" {
api_key = var.datadog_api_key
app_key = var.datadog_app_key
}
resource "datadog_monitor" "example_monitor" {}
resource "datadog_dashboard" "example_timeboard" {}
variable "datadog_api_key" {
default = "123"
}
variable "datadog_app_key" {
default = "456"
}