This file documents every manager, method, helper, and facade call exposed by the package.
use GhostCompiler\Hetzner\StorageBox\Facades\HetznerStorageBox;
HetznerStorageBox::authenticate($token);// Resolves to the default singleton container instance
HetznerStorageBox();
// Resolves a new dynamically authenticated manager instance (useful for multi-tenant setups)
HetznerStorageBox($token);// 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);// 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);// 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);// Get all locations
HetznerStorageBox::locations()->all();
// Alias for all()
HetznerStorageBox::locations()->get();
// Find location by ID
HetznerStorageBox::locations()->find($id);HetznerStorageBox::storageBoxes()
->filter([
'name' => 'box-01'
])
->perPage(50)
->page(1)
->get();// Return a Guzzle Promise immediately
$promise = HetznerStorageBox::storageBoxes()->async()->all();
// Resolve promise when ready
$boxes = $promise->wait();// Execute multiple queries concurrently
$results = HetznerStorageBox::batch([
fn () => HetznerStorageBox::storageBoxes()->find(1),
fn () => HetznerStorageBox::storageBoxes()->find(2),
fn () => HetznerStorageBox::storageBoxTypes()->find(4),
]);HetznerStorageBox::ping();
HetznerStorageBox::version();
HetznerStorageBox::rateLimit();
HetznerStorageBox::health();
HetznerStorageBox::config();
HetznerStorageBox::client();