Laravel Hetzner Storage Box SDK - Functions Reference
This file documents every manager, method, helper, and facade call exposed by the package.
Authentication & Initialization
1. Facade
use GhostCompiler\Hetzner\StorageBox\Facades\HetznerStorageBox;
HetznerStorageBox::authenticate($token);
2. Global Helper
// Resolves to the default singleton container instance
HetznerStorageBox();
// Resolves a new dynamically authenticated manager instance (useful for multi-tenant setups)
HetznerStorageBox($token);
Storage Boxes
// Get all Storage Boxes
HetznerStorageBox::storageBoxes()->all();
// Alias for all()
HetznerStorageBox::storageBoxes()->get();
// Paginate Storage Boxes
HetznerStorageBox::storageBoxes()->paginate($perPage = 25, $page = 1);
// Find Storage Box by ID
HetznerStorageBox::storageBoxes()->find($id);
// Create a Storage Box
HetznerStorageBox::storageBoxes()->create([
'name' => 'backups-prod',
'storage_box_type' => 'bx11',
'location' => 'fsn1',
'password' => 'secure_password_here'
]);
// Update a Storage Box (name, labels)
HetznerStorageBox::storageBoxes()->update($id, [
'name' => 'backups-updated',
'labels' => ['env' => 'prod']
]);
// Delete a Storage Box
HetznerStorageBox::storageBoxes()->delete($id);
// List folders in a Storage Box
HetznerStorageBox::storageBoxes()->folders($id, $path = null);
// Get action history for a specific Storage Box
HetznerStorageBox::storageBoxes()->actions($id);
// Change delete protection
HetznerStorageBox::storageBoxes()->changeProtection($id, $delete = true);
// Change Storage Box type (resize)
HetznerStorageBox::storageBoxes()->changeType($id, $storageBoxType);
// Reset password
HetznerStorageBox::storageBoxes()->resetPassword($id, $password);
// Update access settings (Samba, SSH, WebDAV, etc.)
HetznerStorageBox::storageBoxes()->updateAccessSettings($id, [
'samba_enabled' => true,
'ssh_enabled' => true,
'webdav_enabled' => false,
'zfs_enabled' => false,
'reachable_externally' => true
]);
// Rollback Storage Box to a snapshot
HetznerStorageBox::storageBoxes()->rollbackSnapshot($id, $snapshotNameOrId);
// Enable snapshot plan
HetznerStorageBox::storageBoxes()->enableSnapshotPlan($id, [
'max_snapshots' => 5,
'minute' => 0,
'hour' => 2,
'day_of_week' => 1, // Monday
]);
// Disable snapshot plan
HetznerStorageBox::storageBoxes()->disableSnapshotPlan($id);
Storage Box Types
// Get all Storage Box Types
HetznerStorageBox::storageBoxTypes()->all();
// Alias for all()
HetznerStorageBox::storageBoxTypes()->get();
// Paginate Storage Box Types
HetznerStorageBox::storageBoxTypes()->paginate($perPage = 25, $page = 1);
// Find Storage Box Type by ID
HetznerStorageBox::storageBoxTypes()->find($id);
Actions (Global History)
// Get all actions
HetznerStorageBox::actions()->all();
// Alias for all()
HetznerStorageBox::actions()->get();
// Paginate actions
HetznerStorageBox::actions()->paginate($perPage = 25, $page = 1);
// Find action by ID
HetznerStorageBox::actions()->find($id);
Locations
// Get all locations
HetznerStorageBox::locations()->all();
// Alias for all()
HetznerStorageBox::locations()->get();
// Find location by ID
HetznerStorageBox::locations()->find($id);
Common Query Builder Methods
HetznerStorageBox::storageBoxes()
->filter([
'name' => 'box-01'
])
->perPage(50)
->page(1)
->get();
Async Requests
// Return a Guzzle Promise immediately
$promise = HetznerStorageBox::storageBoxes()->async()->all();
// Resolve promise when ready
$boxes = $promise->wait();
Batch Operations
// Execute multiple queries concurrently
$results = HetznerStorageBox::batch([
fn () => HetznerStorageBox::storageBoxes()->find(1),
fn () => HetznerStorageBox::storageBoxes()->find(2),
fn () => HetznerStorageBox::storageBoxTypes()->find(4),
]);
Helper Methods
HetznerStorageBox::ping();
HetznerStorageBox::version();
HetznerStorageBox::rateLimit();
HetznerStorageBox::health();
HetznerStorageBox::config();
HetznerStorageBox::client();