Capability Matrix Which operations are available in each consumer surface — Dashboard, CLI (bnerd), Terraform Provider, and the REST API.
Legend: ✓ = supported · — = not applicable or not yet available
Ephemeral Workspaces Operation Dashboard CLI Terraform API List workspaces ✓ bnerd workspace list data.bnerd_workspaces GET /workspaces Show workspace ✓ bnerd workspace get data.bnerd_workspace GET /workspaces/{id} Launch workspace ✓ bnerd workspace launch — POST /workspaces Revoke workspace ✓ bnerd workspace revoke — DELETE /workspaces/{id}
Compute — Servers Operation Dashboard CLI Terraform API List servers ✓ bnerd servers list data.bnerd_servers GET /cloud/servers Show server ✓ bnerd servers get data.bnerd_server GET /cloud/servers/{id} Create server ✓ bnerd servers create bnerd_server POST /cloud/servers Delete server ✓ bnerd servers delete bnerd_server (destroy) DELETE /cloud/servers/{id} List images ✓ bnerd images list data.bnerd_images GET /cloud/images List flavors ✓ bnerd flavors list data.bnerd_flavors GET /cloud/flavors List SSH keypairs ✓ bnerd ssh-keypairs list data.bnerd_ssh_keypairs GET /cloud/ssh-keypairs Create SSH keypair ✓ — — POST /cloud/ssh-keypairs Delete SSH keypair ✓ — — DELETE /cloud/ssh-keypairs/{id}
Compute — Volumes Operation Dashboard CLI Terraform API List volumes ✓ bnerd volumes list data.bnerd_volumes GET /cloud/volumes Show volume ✓ bnerd volumes get data.bnerd_volume GET /cloud/volumes/{id}
Compute — Security Groups Operation Dashboard CLI Terraform API List groups ✓ bnerd security-groups list data.bnerd_security_groups GET /cloud/security-groups Show group ✓ bnerd security-groups get data.bnerd_security_group GET /cloud/security-groups/{id} Create group ✓ bnerd security-groups create bnerd_security_group POST /cloud/security-groups Update group ✓ bnerd security-groups update bnerd_security_group PUT /cloud/security-groups/{id} Delete group ✓ bnerd security-groups delete bnerd_security_group (destroy) DELETE /cloud/security-groups/{id} List rules ✓ bnerd security-groups rules data.bnerd_security_group_rules GET /cloud/security-groups/{id}/rules Add rule ✓ bnerd security-groups rule-add bnerd_security_group_rule POST /cloud/security-groups/{id}/rules Remove rule ✓ bnerd security-groups rule-delete bnerd_security_group_rule (destroy) DELETE /cloud/security-groups/{id}/rules/{rule_id}
Compute — Networking Operation Dashboard CLI Terraform API List networks ✓ bnerd networks list data.bnerd_networks GET /cloud/networks Show network ✓ bnerd networks get data.bnerd_network GET /cloud/networks/{id} Create network — bnerd networks create bnerd_network POST /cloud/networks Delete network — bnerd networks delete bnerd_network (destroy) DELETE /cloud/networks/{id} List subnets ✓ bnerd subnets list data.bnerd_subnets GET /cloud/subnets Show subnet ✓ bnerd subnets get data.bnerd_subnet GET /cloud/subnets/{id} Create subnet ✓ bnerd subnets create bnerd_subnet POST /cloud/subnets Delete subnet — bnerd subnets delete bnerd_subnet (destroy) DELETE /cloud/subnets/{id} List routers ✓ bnerd routers list data.bnerd_routers GET /cloud/routers Show router ✓ bnerd routers get data.bnerd_router GET /cloud/routers/{id} Create router — bnerd routers create bnerd_router POST /cloud/routers Update router — bnerd routers update bnerd_router PATCH /cloud/routers/{id} Delete router — bnerd routers delete bnerd_router (destroy) DELETE /cloud/routers/{id} Attach router interface — bnerd routers attach-subnet bnerd_router_interface POST /cloud/routers/{id}/interfaces Detach router interface — bnerd routers detach-subnet bnerd_router_interface (destroy) DELETE /cloud/routers/{id}/interfaces/{port_id} List ports ✓ — data.bnerd_ports GET /cloud/ports Show port ✓ — data.bnerd_port GET /cloud/ports/{id} List floating IPs ✓ bnerd floating-ips list data.bnerd_floating_ips GET /cloud/floating-ips Show floating IP ✓ bnerd floating-ips get data.bnerd_floating_ip GET /cloud/floating-ips/{id} Allocate floating IP — — bnerd_floating_ip POST /cloud/floating-ips Release floating IP — — bnerd_floating_ip (destroy) DELETE /cloud/floating-ips/{id}
Compute — Load Balancers Operation Dashboard CLI Terraform API List load balancers ✓ bnerd loadbalancers list data.bnerd_loadbalancers GET /cloud/loadbalancers Show load balancer ✓ bnerd loadbalancers get data.bnerd_loadbalancer GET /cloud/loadbalancers/{id} List listeners ✓ — data.bnerd_lb_listeners GET /cloud/lb/listeners List pools ✓ — data.bnerd_lb_pools GET /cloud/lb/pools List pool members ✓ — data.bnerd_lb_pool_members GET /cloud/lb/pools/{id}/members List health monitors ✓ — data.bnerd_lb_health_monitors GET /cloud/lb/health-monitors
DNS Operation Dashboard CLI Terraform API List zones ✓ bnerd dns zones list data.bnerd_dns_zones GET /dns/zones Create zone ✓ bnerd dns zones create bnerd_dns_zone POST /dns/zones Delete zone ✓ bnerd dns zones delete bnerd_dns_zone (destroy) DELETE /dns/zones/{id} List records ✓ bnerd dns records list data.bnerd_dns_records GET /dns/zones/{id}/records Create record ✓ bnerd dns records create bnerd_dns_record POST /dns/zones/{id}/records Update record ✓ bnerd dns records update bnerd_dns_record PATCH /dns/zones/{zone_id}/records/{name}/{type} Delete record ✓ bnerd dns records delete bnerd_dns_record (destroy) DELETE /dns/zones/{zone_id}/records/{name}/{type} Verify domain ✓ — — POST /dns/domains/{id}/verify
Object Storage (RGW) Operation Dashboard CLI Terraform API List RGW users ✓ bnerd rgw users list data.bnerd_rgw_users GET /rgw/users Create RGW user ✓ bnerd rgw users create bnerd_rgw_user POST /rgw/users Delete RGW user ✓ bnerd rgw users delete bnerd_rgw_user (destroy) DELETE /rgw/users/{id} Rotate S3 key ✓ bnerd rgw users renew-key — POST /rgw/users/{id}/renew_key List buckets ✓ bnerd rgw buckets list data.bnerd_rgw_buckets GET /rgw/users/{id}/buckets Create bucket ✓ bnerd rgw buckets create — POST /rgw/users/{id}/buckets Delete bucket ✓ bnerd rgw buckets delete — DELETE /rgw/users/{id}/buckets/{name}
Kubernetes Operation Dashboard CLI Terraform API List clusters ✓ bnerd k8s list data.bnerd_k8s_clusters GET /k8s/clusters Show cluster ✓ bnerd k8s get data.bnerd_k8s_cluster GET /k8s/clusters/{id} Create cluster ✓ — — POST /k8s/clusters Delete cluster ✓ — — DELETE /k8s/clusters/{id} List cloud profiles ✓ bnerd cloud-profiles list data.bnerd_k8s_cloudprofiles GET /k8s/cloudprofiles Show cloud profile ✓ bnerd cloud-profiles get — GET /k8s/cloudprofiles/{name}
Account & Organization Operation Dashboard CLI Terraform API List organizations ✓ bnerd org list data.bnerd_organizations GET /organizations Switch active organization ✓ (org-switcher) bnerd org switch — ?organization_id=<uuid> query param Current account + all memberships ✓ — — GET /accounts/me → memberships[] Active organization for request ✓ (auto-injected) ✓ (auto-injected) — ?organization_id=<uuid> → current_organization_id List projects ✓ bnerd projects list data.bnerd_projects GET /organizations/{org_id}/projects Show project ✓ bnerd projects get — GET /organizations/{org_id}/projects/{id} Create project ✓ — bnerd_project POST /organizations/{org_id}/projects List members ✓ bnerd members list — GET /memberships Show member ✓ bnerd members get — GET /memberships/{id} Remove member ✓ bnerd members delete — DELETE /memberships/{id} Invite member ✓ bnerd invitations create — POST /invitations Accept invitation ✓ (email link) bnerd invitations accept — PATCH /invite/{token}/accept (unauthenticated) Create API token ✓ — — POST /organizations/{org_id}/api_tokens
Apps / Service Catalog Operation Dashboard CLI Terraform API List apps ✓ bnerd apps list data.bnerd_apps GET /apps Show app ✓ bnerd apps get data.bnerd_app GET /apps/{id} Create app ✓ — — POST /apps Update app ✓ — — PATCH /apps/{id} Delete app ✓ — — DELETE /apps/{id}
Operators Operators are installed and configured via Helm; the customer-facing operations are declarative (CRD apply/delete). There is no REST API surface for operator management — all interactions go through kubectl and the CRDs.
Managed service Dashboard kubectl / CRDs Terraform API Object Storage (S3 Operator) ✓ (via Object Storage UI) S3User, S3Bucket CRDs bnerd_rgw_user POST /rgw/users Managed Nextcloud — NextcloudInstance CRD — — Volume Backups — BackupPolicy CRD — — Log Aggregation (Loki) — LokiStack CRD — — WireGuard VPN Gateway — VPNGateway CRD — —
Notes Terraform data sources are read-only — use them to reference existing resources without managing them. Terraform managed resources support create, read, update (where applicable), and delete; all changes go through terraform plan / terraform apply. CLI output can be switched to JSON or YAML with -o json / -o yaml on any list or show command. Operations marked — are available via the API but do not yet have a dedicated CLI command or Terraform resource. Use the API directly or the Dashboard for those. See Also