DataDog / terraform-provider-datadog

Terraform Datadog provider
https://www.terraform.io/docs/providers/datadog/
Mozilla Public License 2.0
399 stars 375 forks source link

error validating monitor from /api/v1/monitor/validate: 400 Bad Request: {"errors":["Some monitor IDs are invalid"]} #2440

Open browncrane opened 3 months ago

browncrane commented 3 months ago

Datadog Terraform Provider Version

3.39.0

Terraform Version

1.8.4

What resources or data sources are affected?

datadog_monitor

Terraform Configuration Files

No response

Relevant debug or panic output

│ Error: error validating monitor from /api/v1/monitor/validate: 400 Bad Request: {"errors":["Some monitor IDs are invalid"]}
│
│   with datadog_monitor.tfer--monitor_135633828,
│   on monitor.tf line 686, in resource "datadog_monitor" "tfer--monitor_135633828":
│  686: resource "datadog_monitor" "tfer--monitor_1356**828" {
resource "datadog_monitor" "tfer--monitor_135633828" {
  escalation_message   = ""
  evaluation_delay     = "0"
  include_tags         = "true"
  locked               = "false"
  message              = "***"
  name                 = "***"
  new_group_delay      = "0"
  new_host_delay       = "300"
  no_data_timeframe    = "0"
  notify_audit         = "false"
  notify_no_data       = "false"
  priority             = "3"
  query                = "135633762 \u0026\u0026 135633785"
  renotify_interval    = "0"
  renotify_occurrences = "0"
  require_full_window  = "true"
  tags                 = ["***"]
  timeout_h            = "0"
  type                 = "composite"
}

Expected Behavior

It's a valid monitor

Actual Behavior

{"errors":["Some monitor IDs are invalid"]}

Steps to Reproduce

Create a monitor with query of monitor, for example

resource "datadog_monitor" "tfer--monitor_135633803" {
  escalation_message   = ""
  evaluation_delay     = "0"
  include_tags         = "true"
  locked               = "false"
  message              = "***"
  name                 = "***"
  new_group_delay      = "0"
  new_host_delay       = "300"
  no_data_timeframe    = "0"
  notify_audit         = "false"
  notify_no_data       = "false"
  priority             = "3"
  query                = "135633748"
  renotify_interval    = "0"
  renotify_occurrences = "0"
  require_full_window  = "true"
  tags                 = ["***"]
  timeout_h            = "0"
  type                 = "composite"
}

image

terraformer import datadog --resources=monitor --filter="Name=tags;Value='service:****'"
terraform plan

Important Factoids

No response

References

No response

HantingZhang2 commented 3 months ago

Hi, @browncrane The query for composite monitor needs to follow the format described in our api doc, and it needs to be something like 12345 && 67890 . Please make sure the non composite monitor IDs are valid as well