civo / terraform-provider-civo

Terraform Civo provider
https://www.civo.com
Mozilla Public License 2.0
71 stars 56 forks source link

[BUG] No validation of field sshkey_id for civo_instance resources #271

Closed fernando-villalba closed 2 months ago

fernando-villalba commented 2 months ago

Issues

Using a completely wrong sshkey_id field causes terraform to keep trying to provision this resource for two minutes rather than failing straight away:

resource "civo_instance" "foo" {
    hostname = "amazingthingy20"
    tags = ["python", "nginx"]
    notes = "This is a test-issue"
    size = "g3.xsmall"
    region = "LON1"
    sshkey_id = "dfgdfggfd" # This field is wrong
    firewall_id = "default-default"
    disk_image = "debian-11"
}
image

This should fail straight away as it does on the API, CLI, etc. Not keep retrying

Acceptance Criteria

This ticket should be used as a reference for a bigger piece of work revamping the way we handle errors in terraform. The default behaviour with our provider seems to be to keep trying and it does NOT return the error the API gives, which is a problem.

We need to go through the entire provider and change the behaviour for everything not by writing error messages in terraform provider, but returning errors from the API