@@ -29,39 +29,110 @@ $vf->server(69)->boot(); // ActionResult
2929$vf->server(69)->shutdown(); // ActionResult
3030$vf->server(69)->restart(); // ActionResult
3131$vf->server(69)->powerOff(); // ActionResult
32- $vf->server(69)->delete(delay: 30); // ActionResult
32+ $vf->server(69)->suspend();
33+ $vf->server(69)->unsuspend();
34+ $vf->server(69)->delete(delay: 30);
3335
3436// Build / modify
3537$vf->server(69)->build(['reinstall' => true]);
3638$vf->server(69)->changePackage(5);
3739$vf->server(69)->modifyBackupPlan(2);
40+ $vf->server(69)->modifyName('new-hostname');
41+ $vf->server(69)->modifyCpuCores(4);
42+ $vf->server(69)->modifyCpuThrottle(50, sync: true);
43+ $vf->server(69)->modifyMemory(4096);
44+ $vf->server(69)->changeOwner(42);
45+
46+ // Password / VNC
47+ $vf->server(69)->resetPassword('root');
48+ $vf->server(69)->vnc();
49+ $vf->server(69)->enableVnc();
50+ $vf->server(69)->disableVnc();
51+
52+ // Templates / Traffic stats
53+ $vf->server(69)->templates();
54+ $vf->server(69)->traffic();
55+
56+ // Custom XML
57+ $vf->server(69)->customXml(['domain' => '<xml />', 'domainEnabled' => true]);
3858
3959// Network
40- $vf->server(69)->addIpv4(['10.0.0.1']);
41- $vf->server(69)->removeIpv4(['10.0.0.1']);
60+ $vf->server(69)->addIpv4(['ips' => [' 10.0.0.1'] ]);
61+ $vf->server(69)->removeIpv4(['ips' => [' 10.0.0.1'] ]);
4262$vf->server(69)->addIpv4Quantity(['quantity' => 1]);
43- $vf->server(69)->addToWhitelist(['1.2.3.4']);
44- $vf->server(69)->removeFromWhitelist(['1.2.3.4']);
63+ $vf->server(69)->addToWhitelist(['ips' => [' 1.2.3.4'] ]);
64+ $vf->server(69)->removeFromWhitelist(['ips' => [' 1.2.3.4'] ]);
4565$vf->server(69)->modifyTraffic(['limit' => 1000]);
4666
4767// Firewall (sub-builder)
48- $vf->server(69)->firewall('primary')->get();
68+ $vf->server(69)->firewall('primary')->get(); // FirewallConfig
4969$vf->server(69)->firewall('primary')->enable();
5070$vf->server(69)->firewall('primary')->disable();
5171$vf->server(69)->firewall('primary')->applyRules([1, 2, 5]);
5272
5373// Traffic blocks (sub-builder)
54- $vf->server(69)->trafficBlocks()->list();
74+ $vf->server(69)->trafficBlocks()->list(); // TrafficBlock[]
5575$vf->server(69)->trafficBlocks()->add(['ip' => '1.2.3.4']);
5676$vf->server(69)->trafficBlocks()->remove(42);
5777
58- // Hypervisor groups
78+ // List servers
79+ $vf->listServers();
80+ $vf->listServersByUser(1);
81+ $vf->createServer(['packageId' => 1, 'name' => 'web1']);
82+
83+ // Hypervisors
84+ $vf->hypervisors()->list();
85+ $vf->hypervisors()->get(1); // Hypervisor DTO
5986$vf->hypervisorGroups()->list();
6087$vf->hypervisorGroups()->group(3)->get();
6188$vf->hypervisorGroups()->group(3)->resources();
6289
63- // Create server
64- $vf->createServer(['packageId' => 1, 'name' => 'web1']);
90+ // Packages
91+ $vf->packages()->list(); // Package[]
92+ $vf->packages()->get(1); // Package DTO
93+
94+ // Users
95+ $vf->users()->create(['name' => 'John', 'email' => 'john@example.com']);
96+ $vf->users()->getByExtRelation('100'); // User DTO
97+ $vf->users()->updateByExtRelation('100', ['name' => 'Jane']);
98+ $vf->users()->deleteByExtRelation('100');
99+ $vf->users()->resetPasswordByExtRelation('100');
100+ $vf->users()->authenticationTokens('100');
101+ $vf->users()->serverAuthenticationTokens('100', 69);
102+
103+ // SSH Keys
104+ $vf->sshKeys()->create(1, 'my-key', 'ssh-rsa AAAA...');
105+ $vf->sshKeys()->get(1); // SshKey DTO
106+ $vf->sshKeys()->listByUser(1); // SshKey[]
107+ $vf->sshKeys()->delete(1);
108+
109+ // IP Blocks
110+ $vf->ipBlocks()->list(); // PaginatedResponse
111+ $vf->ipBlocks()->get(1); // IpBlock DTO
112+ $vf->ipBlocks()->addIpv4Range(1, '10.0.0.10', '10.0.0.20');
113+
114+ // Backups
115+ $vf->backups()->listByServer(69); // Backup[]
116+
117+ // DNS
118+ $vf->dns()->getService(1);
119+
120+ // Media
121+ $vf->media()->getIso(1);
122+ $vf->media()->templatesFromPackageSpec(5);
123+
124+ // Queue
125+ $vf->queue()->get(42);
126+
127+ // Self Service
128+ $vf->selfService()->addCredit('100', 50.0);
129+ $vf->selfService()->deleteCredit(1);
130+ $vf->selfService()->currencies();
131+ $vf->selfService()->createResourcePack('100', 5);
132+ $vf->selfService()->getResourcePack(5, withServers: true);
133+ $vf->selfService()->usage('100');
134+ $vf->selfService()->report('100');
135+ $vf->selfService()->hourlyStats('100');
65136```
66137
67138## Error Handling
@@ -82,6 +153,10 @@ try {
82153}
83154```
84155
156+ ## API Reference
157+
158+ See [ API_REFERENCE.md] ( API_REFERENCE.md ) for the complete VirtFusion API specification.
159+
85160## License
86161
87162MIT — see [ LICENSE] ( ../LICENSE ) .
0 commit comments