'Kein API-Key konfiguriert']; } $hetznerClient = new HetznerAPIClient($apiKey); $servers = []; foreach ($hetznerClient->servers()->all() as $server) { $servers[] = [ 'id' => $server->id, 'name' => $server->name, 'status' => $server->status, 'type' => $server->serverType->name, 'ipv4' => $server->publicNet->ipv4->ip, ]; } return [ 'success' => true, 'servers' => $servers, 'count' => count($servers), ]; } catch (\Exception $e) { return ['error' => 'Exception: ' . $e->getMessage()]; } } /** * Generate test server data for development */ public static function generateTestData(int $count = 63): array { $testData = []; for ($i = 1; $i <= $count; $i++) { $testData[] = [ 'id' => $i, 'name' => "Server-{$i}", 'status' => ($i % 3) === 0 ? 'stopped' : 'running', 'type' => 'cx' . (11 + (($i % 4) * 10)), 'ipv4' => sprintf('192.168.%d.%d', floor($i / 255), $i % 255), ]; } return $testData; } }