Kvindo™ Cloud Docs
The Terraform provider follows the same philosophy as the CLI.
The provider is a thin client: each kvindo_<type> resource maps one-to-one to an API resource, and all validation and reconciliation happen on the server. The provider sends your desired spec and reads back status; it contains no business logic of its own. As a result the same rules apply as everywhere else — creation is asynchronous and a background reconciler drives each resource to its desired state (see Concepts).
Every resource is a metadata = { … } block plus a spec = { … } block, mirroring the API envelope exactly. status is computed and read-only. This is the same shape shown on each resource's page under the Terraform name column, so you can copy field names straight from there.
You never paste ULIDs between resources. Give each resource a Terraform-local name and reference its computed id — Terraform fills in the real ULID and tracks the dependency order for you:
Unlike the CLI, the Terraform provider does not resolve resource names — references are real IDs. Reference resources you create with .metadata.id, and look up pre-existing ones (a folder, a hosting provider) with their datasource.
More in this section
Reference