Skip to main content
Import resources created in the dashboard or via the CLI into Terraform management without recreating them.

Import syntax

Import IDs by resource

Each resource type uses a different identifier for import:
Every resource also accepts its UUID as the import ID. Name-based imports fail with an ambiguity error when multiple resources share the name (names are not unique within an org) — import by UUID in that case. devhelm_status_page_custom_domain_verification is the one resource that cannot be imported: it is a synthetic verification barrier with no server-side counterpart.

Step-by-step

1. Write the resource block

Before importing, create the Terraform resource block that matches the existing resource:

2. Run import

3. Run plan

Verify the imported state matches your configuration:
If the plan shows changes, adjust your HCL to match the existing resource’s configuration.

Bulk import

For importing many resources, use a shell loop:

Secrets import

Secret values are write-only, so an import stores the placeholder IMPORTED_PLACEHOLDER as the value in state. The next plan shows drift until you set the real value in HCL:

Next steps

Terraform in CI/CD

Automate plan and apply in CI pipelines.

Data sources

Reference resources without importing them.