Terraform import misleading docs

Documentation states:

$ terraform import google_logging_metric.default {{project}} {{name}}
$ terraform import google_logging_metric.default {{name}}

Both commands failed, command below eventually worked fine (notice "):

$ terraform import google_logging_metric.default "{{project}} {{name}}"

Suggested update - add above line to docs. I have wasted a lot of time debugging it… and errors was also very misleading, eg:

Error: project: required field is not set
OR
Error: Cannot import non-existent remote object

Similar situation with alert policies:

Docs:

$ terraform import google_monitoring_alert_policy.default {{name}}

What actually worked:

$ terraform import google_monitoring_alert_policy.default "{{project}} projects/{{project}}/alertPolicies/{{POLICY ID - NOT NAME (SIC!)}}"

hashicorp/google v4.19.0…
hashicorp/google-beta v4.19.0…
image hashicorp/terraform:1.1.9

2 Likes

Hi! Search led me to import google_monitoring_alert_policy.cloudsql project: required field is not set · Issue #10312 · hashicorp/terraform-provider-google · GitHub

and I could run it as you suggested:

terraform import -state=$(TF_STATE_FILE) module.alerting.google_monitoring_alert_policy.run_cpu_usage_90 "$(GCP_PROJECT) projects/$(GCP_PROJECT)/alertPolicies/777777"

or as:

GOOGLE_PROJECT=$(GCP_PROJECT) terraform import -state=$(TF_STATE_FILE) module.alerting.google_monitoring_alert_policy.run_cpu_usage_90 projects/$(GCP_PROJECT)/alertPolicies/77777