@swamp/hetzner-cloud
v2026.04.23.4
Hetzner Cloud infrastructure models
Repository
https://github.com/systeminit/swamp-extensions
Labels
hetznercloudinfrastructure
Contents
Quality score
Verified by SwampHow well-documented and verifiable this extension is.
Grade A
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types1/1earned
- Has description1/1earned
- At least one platform tag (or universal)1/1earned
- Two or more platform tags (or universal)1/1earned
- License declared1/1earned
- Verified public repository2/2earned
Install
$ swamp extension pull @swamp/hetzner-cloud@swamp/hetzner-cloud/certificatesv2026.04.23.4certificates.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the Certificate. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| type? | enum | Choose between uploading a Certificate in PEM format or requesting a managed *Let's Encrypt* Certificate. |
| certificate? | string | Certificate and chain in PEM format, in order so that each record directly certifies the one preceding. Required for type `uploaded` Certificates. |
| private_key? | string | Certificate key in PEM format. Required for type `uploaded` Certificates. |
| domain_names? | array | Domains and subdomains that should be contained in the Certificate issued by *Let's Encrypt*. Required for type `managed` Certificates. |
createCreate a certificate
getGet a certificate
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the certificate |
updateUpdate certificate attributes
deleteDelete the certificate
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the certificate |
syncSync certificate state from Hetzner
Resources
state(infinite)— Certificate resource state
@swamp/hetzner-cloud/firewallsv2026.04.23.4firewalls.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the [Firewall](#tag/firewalls).\n\nLimited to a maximum of 128 characters.\n\nMust be unique per Project.\n |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| rules? | array | Array of rules.\n\nRules are limited to 50 entries per [Firewall](#tag/firewalls) and [500 effective rules](https://docs.hetzner.com/cloud/firewalls/overview#limits).\n |
| apply_to? | array | Resources to apply the [Firewall](#tag/firewalls) to.\n\nResources added directly are taking precedence over those added via a [Label Selector](#description/label-selector).\n |
createCreate a firewall
getGet a firewall
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the firewall |
updateUpdate firewall attributes
deleteDelete the firewall
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the firewall |
syncSync firewall state from Hetzner
Resources
state(infinite)— Firewall resource state
@swamp/hetzner-cloud/floating-ipsv2026.04.23.4floating_ips.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| description? | string | Description of the Resource. |
| name? | string | Name of the Resource. Must be unique per Project. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| type | enum | The Floating IP type. |
| server? | number | [Server](#tag/servers) the [Floating IP](#tag/floating-ips) is assigned to.\n\n`null` if not assigned.\n |
| home_location? | string | Home [Location](#tag/locations) for the [Floating IP](#tag/floating-ips).\n\nEither the ID or the name of the [Location](#tag/locations).\n\nOnly optional if no [Server](#tag/servers) is provided. Routing is optimized for this [Locations](#tag/locations).\n |
createCreate a floating ip
getGet a floating ip
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the floating ip |
updateUpdate floating ip attributes
deleteDelete the floating ip
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the floating ip |
syncSync floating ip state from Hetzner
Resources
state(infinite)— Floating ip resource state
@swamp/hetzner-cloud/load-balancersv2026.04.23.4load_balancers.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the Load Balancer. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| load_balancer_type | string | ID or name of the Load Balancer type this Load Balancer should be created with. |
| algorithm? | object | Algorithm of the Load Balancer. |
| services? | array | Array of services. |
| targets? | array | Array of targets. |
| public_interface? | boolean | Enable or disable the public interface of the Load Balancer. |
| network? | number | ID of the network the Load Balancer should be attached to on creation. |
| network_zone? | string | Name of network zone. |
| location? | string | ID or name of Location to create Load Balancer in. |
createCreate a load balancer
getGet a load balancer
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the load balancer |
updateUpdate load balancer attributes
deleteDelete the load balancer
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the load balancer |
syncSync load balancer state from Hetzner
Resources
state(infinite)— Load balancer resource state
@swamp/hetzner-cloud/networksv2026.04.23.4networks.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the [Network](#tag/networks). |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| expose_routes_to_vswitch? | boolean | Toggle to expose routes to the [Networks](#tag/networks) vSwitch.\n\nIndicates if the routes from this [Network](#tag/networks) should be exposed to the vSwitch in this [Network](#tag/networks). Only takes effect if a [vSwitch is setup](https://docs.hetzner.com/cloud/networks/connect-dedi-vswitch) in this [Network](#tag/networks).\n |
| ip_range | string | IP range of the [Network](#tag/networks).\n\nUses CIDR notation.\n\nMust span all included subnets. Must be one of the private IPv4 ranges of RFC1918.\n\nMinimum network size is /24. We highly recommend that you pick a larger [Network](#tag/networks) with a /16 netmask.\n |
| subnets? | array | Array of subnets to allocate. |
| routes? | array | Array of routes set in this [Network](#tag/networks). |
createCreate a network
getGet a network
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the network |
updateUpdate network attributes
deleteDelete the network
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the network |
syncSync network state from Hetzner
Resources
state(infinite)— Network resource state
@swamp/hetzner-cloud/placement-groupsv2026.04.23.4placement_groups.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the Placement Group. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| type | enum | Define the Placement Group Type. |
createCreate a placement group
getGet a placement group
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the placement group |
updateUpdate placement group attributes
deleteDelete the placement group
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the placement group |
syncSync placement group state from Hetzner
Resources
state(infinite)— Placement group resource state
@swamp/hetzner-cloud/primary-ipsv2026.04.23.4primary_ips.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the Resource. Must be unique per Project. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| auto_delete? | boolean | Auto deletion state.\n\nIf enabled the [Primary IP](#tag/primary-ips) will be deleted once the assigned resource gets deleted.\n |
| type | enum | [Primary IP](#tag/primary-ips) type. |
| datacenter? | string | **Deprecated**: This property is deprecated and will be removed after 1 July 2026.\nUse the `location` key instead.\n\n[Data Center](#tag/data-centers) ID or name.\n\nThe [Primary IP](#tag/primary-ips) will be bound to this [Data Center](#tag/data-centers).\nOmit if `assignee_id`/`assignee_type` or `location` are provided.\n |
| location? | string | [Location](#tag/locations) ID or name the [Primary IP](#tag/primary-ips) will be bound to.\n\nOmit if `assignee_id`/`assignee_type` or `datacenter` are provided.\n |
| assignee_type | enum | Type of resource the [Primary IP](#tag/primary-ips) can get assigned to.\n\nCurrently [Primary IPs](#tag/primary-ips) can only be assigned to [Servers](#tag/servers),\ntherefore this field must be set to `server`.\n |
| assignee_id? | number | ID of resource to assign the [Primary IP](#tag/primary-ips) to.\n\nOmitted if the [Primary IP](#tag/primary-ips) should not get assigned.\n |
createCreate a primary ip
getGet a primary ip
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the primary ip |
updateUpdate primary ip attributes
deleteDelete the primary ip
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the primary ip |
syncSync primary ip state from Hetzner
Resources
state(infinite)— Primary ip resource state
@swamp/hetzner-cloud/serversv2026.04.23.4servers.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the Server to create (must be unique per Project and a valid hostname as per RFC 1123). |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| location? | string | ID or name of the Location to create the Server in (must not be used together with `datacenter`). |
| datacenter? | string | **Deprecated**: This property is deprecated and will be removed after the 1 July 2026.\nUse the `location` property instead.\n\nID or name of the Data Center to create Server in (must not be used together with `location`).\n |
| server_type | string | ID or name of the Server type this Server should be created with. |
| start_after_create? | boolean | This automatically triggers a [Power on a Server-Server Action](#tag/server-actions/poweron_server) after the creation is finished and is returned in the `next_actions` response object. |
| image | string | ID or name of the Image the Server is created from. |
| placement_group? | number | ID of the Placement Group the Server should be in. |
| ssh_keys? | array | SSH key IDs (`integer`) or names (`string`) which should be injected into the Server at creation time. |
| volumes? | array | Volume IDs which should be attached to the Server at the creation time. Volumes must be in the same Location. |
| networks? | array | Network IDs which should be attached to the Server private network interface at the creation time. |
| firewalls? | array | Firewalls which should be applied on the Server's public network interface at creation time. |
| user_data? | string | Cloud-Init user data to use during Server creation. This field is limited to 32KiB. |
| automount? | boolean | Auto-mount Volumes after attach. |
| public_net? | object | Public Network options. |
createCreate a server
getGet a server
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the server |
updateUpdate server attributes
deleteDelete the server
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the server |
syncSync server state from Hetzner
Resources
state(infinite)— Server resource state
@swamp/hetzner-cloud/ssh-keysv2026.04.23.4ssh_keys.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the SSH key. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| public_key | string | Public key. |
createCreate a ssh key
getGet a ssh key
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the ssh key |
updateUpdate ssh key attributes
deleteDelete the ssh key
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the ssh key |
syncSync ssh key state from Hetzner
Resources
state(infinite)— Ssh key resource state
@swamp/hetzner-cloud/volumesv2026.04.23.4volumes.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Name of the volume. |
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| size | number | Size of the Volume in GB. |
| automount? | boolean | Auto-mount Volume after attach. `server` must be provided. |
| format? | string | Format Volume after creation. One of: `xfs`, `ext4`. |
| location? | string | Location to create the Volume in (can be omitted if Server is specified). |
| server? | number | Server to which to attach the Volume once it's created (Volume will be created in the same Location as the server). |
createCreate a volume
getGet a volume
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the volume |
updateUpdate volume attributes
deleteDelete the volume
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the volume |
syncSync volume state from Hetzner
Resources
state(infinite)— Volume resource state
@swamp/hetzner-cloud/zonesv2026.04.23.4zones.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| labels? | record | User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see "[Labels](#description/labels)".\n |
| name | string | Name of the [Zone](#tag/zones).\n\nAll names with [well-known public suffixes](https://publicsuffix.org/) (e.g. `.de`,\n`.com`, `.co.uk`) are supported. Subdomains are not supported.\n\nThe name must be in lower case and must not end with a dot.\n[Internationalized domain\nnames](https://en.wikipedia.org/wiki/Internationalized_domain_name) must be\ntranscribed to [Punycode](https://wikipedia.org/wiki/Punycode) representation with\nACE prefix, e.g. `xn--mnchen-3ya.de` (`münchen.de`).\n |
| mode | enum | Mode of the [Zone](#tag/zones).\n\nFor more information, see [Zone Modes](#tag/zones/zone-modes).\n |
| ttl? | number | Default Time To Live (TTL) of the [Zone](#tag/zones).\n\nMust be in between 60s and 2147483647s.\n\nThis TTL is used for [RRSets](#tag/zone-rrsets) that do not explicitly define a TTL.\n |
| primary_nameservers? | array | Primary nameservers of the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in secondary mode.\nIgnored for [Zones](#tag/zones) in primary mode.\n |
| rrsets? | array | [RRSets](#tag/zone-rrsets) to be added to the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\nIgnored for [Zones](#tag/zones) in secondary mode.\n |
| zonefile? | string | Zone file to import.\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\nIgnored for [Zones](#tag/zones) in secondary mode.\n\nIf provided, `rrsets` must be empty.\n\nSee [Zone file import](#tag/zones/zone-file-import) for more details.\n |
createCreate a zone
getGet a zone
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the zone |
updateUpdate zone attributes
deleteDelete the zone
| Argument | Type | Description |
|---|---|---|
| id | number | The ID of the zone |
syncSync zone state from Hetzner
Resources
state(infinite)— Zone resource state
2026.04.23.220.5 KBApr 23, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.04.22.120.4 KBApr 22, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.04.03.220.3 KBApr 3, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.04.02.122.2 KBApr 2, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: servers
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.23.122.1 KBMar 23, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.16.121.8 KBMar 16, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.10.521.6 KBMar 10, 2026
Hetzner Cloud infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.10.421.4 KBMar 10, 2026
Hetzner Cloud infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.10.321.3 KBMar 10, 2026
Hetzner Cloud infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.08.220.6 KBMar 8, 2026
Hetzner Cloud infrastructure models
Release Notes
- Updated: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.08.119.7 KBMar 8, 2026
Hetzner Cloud infrastructure models
Release Notes
- Added: certificates, firewalls, floating_ips, load_balancers, networks, placement_groups, primary_ips, servers, ssh_keys, volumes, zones
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure
2026.03.07.119.8 KBMar 7, 2026
Hetzner Cloud infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
hetznercloudinfrastructure