lacework / terraform-provider-lacework

Terraform Lacework provider
Mozilla Public License 2.0
17 stars 14 forks source link

bug: Import for policy exception is broken in terraform 1.8.x #637

Open lonelyelk opened 3 months ago

lonelyelk commented 3 months ago

Describe the bug

The documentation command for import doesn't work. It fails with usage error:

The import command expects two arguments.
Usage: terraform [global options] import [options] ADDR ID

...

Trying to import by ID doesn't work either as the code executed by terraform is not the code in the provider (judging by the output)

  1. Creating import block doesn't work
import {
  id = '11111111-2222-3333-4444-555555555555'
  to = lacework_policy_exception.example
}

Running terraform plan -generate-config-out=generated.tf produces:

lacework_policy_exception.example: Preparing import... [id=11111111-2222-3333-4444-555555555555]

Planning failed. Terraform encountered an error while generating this plan.

╷
│ Error: unable to import Lacework resource. Policy Exception with guid '11111111-2222-3333-4444-555555555555' was not found
│
│

Same goes when creating a resource with policy_id value and running terraform import lacework_policy_exception.example 11111111-2222-3333-4444-555555555555. But the output is slightly different: lacework_policy_exception.example: Importing from ID ...

To Reproduce

Steps to reproduce the behavior:

  1. Create a policy exception in UI
  2. Try to import it in terraform while using terraform 1.8.x

Alternatively:

  1. Create a policy exception using terraform
  2. Run terraform state rm lacework_policy_exception.example
  3. Try to import it back knowing all the IDs while using terraform 1.8.x

Expected behavior

I think using UUID implies that finding a policy exception using its ID only should be possible. I'd like to use both: import block and import command (see current docs)

Please complete the following information):

piotrb commented 2 months ago

Its not just 1.18 .. it also doesn't seem to work in 1.5.6 .. same issue

lvets commented 1 day ago

I have the same problem. It's not Terraform, it's the provider.

The import statement states $ terraform import lacework_policy_exception.example YourLQLPolicyID YourExceptionID but that doesn't make sense. In every other provider I've used the part after the resource is always one string, I've never seen two strings divided by a space like that.