Updated May 8, 2026 Manages a Raff project — the access-control unit that owns every resource. See Team & Projects — Projects for the model. Every account starts with aDocumentation Index
Fetch the complete documentation index at: https://docs.rafftechnologies.com/llms.txt
Use this file to discover all available pages before exploring further.
Default project that cannot be deleted.
Example
Argument reference
| Argument | Type | Required? | Description |
|---|---|---|---|
name | string | Yes | Project name. Must be unique across the account |
description | string | No | Free-form description. Surfaces in the dashboard’s project list and in audit-log entries |
default_region | string | No | Default region for resources created in this project. Currently us-east is the only available region |
Attribute reference (computed)
| Attribute | Description |
|---|---|
id | Project UUID — use as project_id on raff_vm and other project-scoped resources |
account_id | The account this project belongs to |
slug | URL-friendly identifier (lowercase, hyphenated) — derived from name |
is_default | Whether this is the account’s Default project |
is_active | Whether the project is active (deleted projects show as inactive briefly before disappearing) |
created_by | User who created the project |
created_at | Creation timestamp |
updated_at | Last modification timestamp |
Permissions
The API key used by the provider needs:account.projects.create— to create new projects (Owner, Admin)account.projects.manage— to update existing projects (Owner, Admin)account.projects.delete— to delete projects (Owner only by default; Admin does NOT include this — needs a Custom role)
terraform apply fails with 403 Forbidden on a project resource, the key’s role is missing the relevant permission.
Importing existing projects
If you have a project that was created via the dashboard or CLI and want to bring it under Terraform management:resource "raff_project" "production" block to your .tf file. Run terraform plan to confirm Terraform’s view matches the existing state.
Lifecycle
| Operation | Behavior |
|---|---|
terraform apply (create) | New project created, gets a fresh UUID |
terraform apply (rename / update description) | Updates in-place; UUID unchanged |
terraform apply (region change) | In-place if supported by the API |
terraform destroy | Deletes the project. Fails if any resources still belong to it (VMs, volumes, IPs, etc.). Move or destroy those first |
Trying to destroy the Default project | Always fails — the Default project is platform-protected |
Related
raff_vm
VMs reference projects via project_id.
Projects
The model behind project-scoped access.
Permissions matrix
Which role grants
account.projects.delete.