laravel-hetzner-cloud

PHP MIT

Production-ready Laravel SDK for the Hetzner Cloud API with support for servers, volumes, networks, firewalls, load balancers, SSH keys, floating IPs, and more.

Stars
17
Forks
0
Downloads
1,742
Open Issues
0

Hetzner Cloud API Endpoints to SDK Methods Mapping

This document maps every endpoint in the Hetzner Cloud API to its corresponding SDK manager method.

Actions

HTTP Method API Endpoint SDK Method
GET /actions Hetzner::actions()->all()
GET /actions/{id} Hetzner::actions()->find($id)

Servers

HTTP Method API Endpoint SDK Method
GET /servers Hetzner::servers()->all()
POST /servers Hetzner::servers()->create($data)
GET /servers/{id} Hetzner::servers()->find($id)
PUT /servers/{id} Hetzner::servers()->update($id, $data)
DELETE /servers/{id} Hetzner::servers()->delete($id)
GET /servers/{id}/metrics Hetzner::servers()->metrics($id, $params)
GET /servers/{id}/actions Hetzner::servers()->actions($id)
POST /servers/{id}/actions/poweron Hetzner::servers()->powerOn($id)
POST /servers/{id}/actions/poweroff Hetzner::servers()->powerOff($id)
POST /servers/{id}/actions/shutdown Hetzner::servers()->shutdown($id)
POST /servers/{id}/actions/reboot Hetzner::servers()->reboot($id)
POST /servers/{id}/actions/reset Hetzner::servers()->reset($id)
POST /servers/{id}/actions/rebuild Hetzner::servers()->rebuild($id, $image)
POST /servers/{id}/actions/enable_rescue Hetzner::servers()->enableRescue($id, $params)
POST /servers/{id}/actions/disable_rescue Hetzner::servers()->disableRescue($id)
POST /servers/{id}/actions/enable_backup Hetzner::servers()->enableBackup($id)
POST /servers/{id}/actions/disable_backup Hetzner::servers()->disableBackup($id)
POST /servers/{id}/actions/attach_iso Hetzner::servers()->attachIso($id, $iso)
POST /servers/{id}/actions/detach_iso Hetzner::servers()->detachIso($id)
POST /servers/{id}/actions/attach_to_network Hetzner::servers()->attachToNetwork($id, $network)
POST /servers/{id}/actions/detach_from_network Hetzner::servers()->detachFromNetwork($id, $network)
POST /servers/{id}/actions/add_to_firewall Hetzner::servers()->addToFirewall($id, $firewall)
POST /servers/{id}/actions/remove_from_firewall Hetzner::servers()->removeFromFirewall($id, $firewall)

Volumes

HTTP Method API Endpoint SDK Method
GET /volumes Hetzner::volumes()->all()
POST /volumes Hetzner::volumes()->create($data)
GET /volumes/{id} Hetzner::volumes()->find($id)
PUT /volumes/{id} Hetzner::volumes()->update($id, $data)
DELETE /volumes/{id} Hetzner::volumes()->delete($id)
POST /volumes/{id}/actions/attach Hetzner::volumes()->attach($volume, $server)
POST /volumes/{id}/actions/detach Hetzner::volumes()->detach($volume)
POST /volumes/{id}/actions/resize Hetzner::volumes()->resize($volume, $size)
POST /volumes/{id}/actions/change_dns_ptr Hetzner::volumes()->changeDnsPtr($volume, $params)

Networks

HTTP Method API Endpoint SDK Method
GET /networks Hetzner::networks()->all()
POST /networks Hetzner::networks()->create($data)
GET /networks/{id} Hetzner::networks()->find($id)
PUT /networks/{id} Hetzner::networks()->update($id, $data)
DELETE /networks/{id} Hetzner::networks()->delete($id)
POST /networks/{id}/actions/add_subnet Hetzner::networks()->addSubnet($id, $subnet)
POST /networks/{id}/actions/delete_subnet Hetzner::networks()->deleteSubnet($id, $subnet)
POST /networks/{id}/actions/add_route Hetzner::networks()->addRoute($id, $route)
POST /networks/{id}/actions/delete_route Hetzner::networks()->deleteRoute($id, $route)
POST /networks/{id}/actions/change_ip_range Hetzner::networks()->changeIpRange($id, $ipRange)

Firewalls

HTTP Method API Endpoint SDK Method
GET /firewalls Hetzner::firewalls()->all()
POST /firewalls Hetzner::firewalls()->create($data)
GET /firewalls/{id} Hetzner::firewalls()->find($id)
PUT /firewalls/{id} Hetzner::firewalls()->update($id, $data)
DELETE /firewalls/{id} Hetzner::firewalls()->delete($id)
POST /firewalls/{id}/actions/apply_to_resources Hetzner::firewalls()->apply($firewall, $server)
POST /firewalls/{id}/actions/remove_from_resources Hetzner::firewalls()->remove($firewall, $server)
POST /firewalls/{id}/actions/set_rules Hetzner::firewalls()->setRules($firewall, $rules)

Floating IPs

HTTP Method API Endpoint SDK Method
GET /floating_ips Hetzner::floatingIps()->all()
POST /floating_ips Hetzner::floatingIps()->create($data)
GET /floating_ips/{id} Hetzner::floatingIps()->find($id)
PUT /floating_ips/{id} Hetzner::floatingIps()->update($id, $data)
DELETE /floating_ips/{id} Hetzner::floatingIps()->delete($id)
POST /floating_ips/{id}/actions/assign Hetzner::floatingIps()->assign($ip, $server)
POST /floating_ips/{id}/actions/unassign Hetzner::floatingIps()->unassign($ip)
POST /floating_ips/{id}/actions/change_dns_ptr Hetzner::floatingIps()->changeDnsPtr($ip, $params)

Primary IPs

HTTP Method API Endpoint SDK Method
GET /primary_ips Hetzner::primaryIps()->all()
POST /primary_ips Hetzner::primaryIps()->create($data)
GET /primary_ips/{id} Hetzner::primaryIps()->find($id)
PUT /primary_ips/{id} Hetzner::primaryIps()->update($id, $data)
DELETE /primary_ips/{id} Hetzner::primaryIps()->delete($id)
POST /primary_ips/{id}/actions/assign Hetzner::primaryIps()->assign($ip, $server)
POST /primary_ips/{id}/actions/unassign Hetzner::primaryIps()->unassign($ip)
POST /primary_ips/{id}/actions/change_dns_ptr Hetzner::primaryIps()->changeDnsPtr($ip, $params)

Load Balancers

HTTP Method API Endpoint SDK Method
GET /load_balancers Hetzner::loadBalancers()->all()
POST /load_balancers Hetzner::loadBalancers()->create($data)
GET /load_balancers/{id} Hetzner::loadBalancers()->find($id)
PUT /load_balancers/{id} Hetzner::loadBalancers()->update($id, $data)
DELETE /load_balancers/{id} Hetzner::loadBalancers()->delete($id)
POST /load_balancers/{id}/actions/add_target Hetzner::loadBalancers()->addTarget($id, $target)
POST /load_balancers/{id}/actions/remove_target Hetzner::loadBalancers()->removeTarget($id, $target)
POST /load_balancers/{id}/actions/add_service Hetzner::loadBalancers()->addService($id, $service)
POST /load_balancers/{id}/actions/update_service Hetzner::loadBalancers()->updateService($id, $listenPort, $service)
POST /load_balancers/{id}/actions/delete_service Hetzner::loadBalancers()->deleteService($id, $listenPort)
POST /load_balancers/{id}/actions/change_algorithm Hetzner::loadBalancers()->changeAlgorithm($id, $algorithm)
POST /load_balancers/{id}/actions/change_type Hetzner::loadBalancers()->changeType($id, $type)
POST /load_balancers/{id}/actions/change_ip_support Hetzner::loadBalancers()->changeIpSupport($id, $ipSupport)
POST /load_balancers/{id}/actions/enable_public_interface Hetzner::loadBalancers()->enablePublicInterface($id)
POST /load_balancers/{id}/actions/disable_public_interface Hetzner::loadBalancers()->disablePublicInterface($id)
POST /load_balancers/{id}/actions/attach_to_network Hetzner::loadBalancers()->attachToNetwork($id, $network)
POST /load_balancers/{id}/actions/detach_from_network Hetzner::loadBalancers()->detachFromNetwork($id, $network)
POST /load_balancers/{id}/actions/change_dns_ptr Hetzner::loadBalancers()->changeDnsPtr($id, $params)
GET /load_balancers/{id}/metrics Hetzner::loadBalancers()->metrics($id)

SSH Keys

HTTP Method API Endpoint SDK Method
GET /ssh_keys Hetzner::sshKeys()->all()
POST /ssh_keys Hetzner::sshKeys()->create($data)
GET /ssh_keys/{id} Hetzner::sshKeys()->find($id)
PUT /ssh_keys/{id} Hetzner::sshKeys()->update($id, $data)
DELETE /ssh_keys/{id} Hetzner::sshKeys()->delete($id)

Images

HTTP Method API Endpoint SDK Method
GET /images Hetzner::images()->all()
GET /images/{id} Hetzner::images()->find($id)
PUT /images/{id} Hetzner::images()->update($id, $data)
DELETE /images/{id} Hetzner::images()->delete($id)
POST /images/{id}/actions/change_protection Hetzner::images()->changeProtection($id, $params)

Certificates

HTTP Method API Endpoint SDK Method
GET /certificates Hetzner::certificates()->all()
POST /certificates Hetzner::certificates()->create($data)
GET /certificates/{id} Hetzner::certificates()->find($id)
PUT /certificates/{id} Hetzner::certificates()->update($id, $data)
DELETE /certificates/{id} Hetzner::certificates()->delete($id)
POST /certificates/{id}/actions/retry Hetzner::certificates()->retry($id)

Placement Groups

HTTP Method API Endpoint SDK Method
GET /placement_groups Hetzner::placementGroups()->all()
POST /placement_groups Hetzner::placementGroups()->create($data)
GET /placement_groups/{id} Hetzner::placementGroups()->find($id)
PUT /placement_groups/{id} Hetzner::placementGroups()->update($id, $data)
DELETE /placement_groups/{id} Hetzner::placementGroups()->delete($id)

Locations

HTTP Method API Endpoint SDK Method
GET /locations Hetzner::locations()->all()
GET /locations/{id} Hetzner::locations()->find($id)

Datacenters

HTTP Method API Endpoint SDK Method
GET /datacenters Hetzner::datacenters()->all()
GET /datacenters/{id} Hetzner::datacenters()->find($id)

ISOs

HTTP Method API Endpoint SDK Method
GET /isos Hetzner::isos()->all()
GET /isos/{id} Hetzner::isos()->find($id)

Pricing

HTTP Method API Endpoint SDK Method
GET /pricing Hetzner::pricing()->all()

Server Types

HTTP Method API Endpoint SDK Method
GET /server_types Hetzner::serverTypes()->all()
GET /server_types/{id} Hetzner::serverTypes()->find($id)

Load Balancer Types

HTTP Method API Endpoint SDK Method
GET /load_balancer_types Hetzner::loadBalancerTypes()->all()
GET /load_balancer_types/{id} Hetzner::loadBalancerTypes()->find($id)