← Back to catalog

Infrastructure

Hetzner Cloud

auto-generated
swirls add hetzner
actionPOSTv1.0.0

Add a route to a Network

Adds a route entry to a Network. Note: if the Network object changes during the request, the response will be a “conflict” error.

Source
actionPOSTv1.0.0

Add a Server to a Placement Group

Adds a Server to a Placement Group. Server must be powered off for this command to succeed. #### Call specific error codes | Code | Description | |-------------------------------|----------------------------------------------------------------------| | `server_not_stopped` | The action requires a stopped server |

Source
actionPOSTv1.0.0

Add a subnet to a Network

Adds a new subnet object to the Network. If you do not specify an `ip_range` for the subnet we will automatically pick the first available /24 range for you if possible. Note: if the parent Network object changes during the request, the response will be a “conflict” error.

Source
actionPOSTv1.0.0

Add Service

Adds a service to a Load Balancer. #### Call specific error codes | Code | Description | |----------------------------|---------------------------------------------------------| | `source_port_already_used` | The source port you are trying to add is already in use |

Source
actionPOSTv1.0.0

Add Target

Adds a target to a Load Balancer. #### Call specific error codes | Code | Description | |-----------------------------------------|-------------------------------------------------------------------------------------------------------| | `cloud_resource_ip_not_allowed` | The IP you are trying to add as a target belongs to a Hetzner Cloud resource | | `ip_not_owned` | The IP you are trying to add as a target is not owned by the Project owner | | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network | | `robot_unavailable` | Robot was not available. The caller may retry the operation after a short delay. | | `server_not_attached_to_network` | The server you are trying to add as a target is not attached to the same network as the Load Balancer | | `target_already_defined` | The Load Balancer target you are trying to define is already defined |

Source
actionPOSTv1.0.0

Apply to Resources

Applies one Firewall to multiple resources. Currently servers (public network interface) and label selectors are supported. #### Call specific error codes | Code | Description | |-------------------------------|---------------------------------------------------------------| | `firewall_already_applied` | Firewall was already applied on resource | | `incompatible_network_type` | The Network type is incompatible for the given resource | | `firewall_resource_not_found` | The resource the Firewall should be attached to was not found |

Source
actionPOSTv1.0.0

Assign a Primary IP to a resource

Assigns a Primary IP to a Server. A Server can only have one Primary IP of type `ipv4` and one of type `ipv6` assigned. If you need more IPs use Floating IPs. The Server must be powered off (status `off`) in order for this operation to succeed. #### Call specific error codes | Code | Description | |------------------------------ |-------------------------------------------------------------- | | `server_not_stopped` | The server is running, but needs to be powered off | | `primary_ip_already_assigned` | Primary ip is already assigned to a different server | | `server_has_ipv4` | The server already has an ipv4 address | | `server_has_ipv6` | The server already has an ipv6 address |

Source
actionPOSTv1.0.0

Attach a Load Balancer to a Network

Attach a Load Balancer to a Network. **Call specific error codes** | Code | Description | |----------------------------------|-----------------------------------------------------------------------| | `load_balancer_already_attached` | The Load Balancer is already attached to a network | | `ip_not_available` | The provided Network IP is not available | | `no_subnet_available` | No Subnet or IP is available for the Load Balancer within the network |

Source
actionPOSTv1.0.0

Attach a Server to a Network

Attaches a Server to a network. This will complement the fixed public Server interface by adding an additional ethernet interface to the Server which is connected to the specified network. The Server will get an IP auto assigned from a subnet of type `server` in the same `network_zone`. Using the `alias_ips` attribute you can also define one or more additional IPs to the Servers. Please note that you will have to configure these IPs by hand on your Server since only the primary IP will be given out by DHCP. **Call specific error codes** | Code | Description | |----------------------------------|-----------------------------------------------------------------------| | `server_already_attached` | The server is already attached to the network | | `ip_not_available` | The provided Network IP is not available | | `no_subnet_available` | No Subnet or IP is available for the Server within the network | | `networks_overlap` | The network IP range overlaps with one of the server networks |

Source
actionPOSTv1.0.0

Attach an ISO to a Server

Attaches an ISO to a Server. The Server will immediately see it as a new disk. An already attached ISO will automatically be detached before the new ISO is attached. Servers with attached ISOs have a modified boot order: They will try to boot from the ISO first before falling back to hard disk.

Source
actionPOSTv1.0.0

Change Algorithm

Change the algorithm that determines to which target new requests are sent.

Source
actionPOSTv1.0.0

Change alias IPs of a Network

Changes the alias IPs of an already attached Network. Note that the existing aliases for the specified Network will be replaced with these provided in the request body. So if you want to add an alias IP, you have to provide the existing ones from the Network plus the new alias IP in the request body.

Source
actionPOSTv1.0.0

Change Image Protection

Changes the protection configuration of the Image. Can only be used on snapshots.

Source
actionPOSTv1.0.0

Change IP range of a Network

Changes the IP range of a Network. IP ranges can only be extended and never shrunk. You can only add IPs at the end of an existing IP range. This means that the IP part of your existing range must stay the same and you can only change its netmask. For example if you have a range `10.0.0.0/16` you want to extend then your new range must also start with the IP `10.0.0.0`. Your CIDR netmask `/16` may change to a number that is smaller than `16` thereby increasing the IP range. So valid entries would be `10.0.0.0/15`, `10.0.0.0/14`, `10.0.0.0/13` and so on. After changing the IP range you will have to adjust the routes on your connected Servers by either rebooting them or manually changing the routes to your private Network interface. Note: if the Network object changes during the request, the response will be a “conflict” error.

Source
actionPOSTv1.0.0

Change Network Protection

Changes the protection configuration of a Network. Note: if the Network object changes during the request, the response will be a “conflict” error.

Source
actionPOSTv1.0.0

Change Primary IP Protection

Changes the protection configuration of a Primary IP. A Primary IP can only be delete protected if its `auto_delete` property is set to `false`.

Source
actionPOSTv1.0.0

Change reverse DNS entry for this Load Balancer

Changes the hostname that will appear when getting the hostname belonging to the public IPs (IPv4 and IPv6) of this Load Balancer. Floating IPs assigned to the Server are not affected by this.

Source
actionPOSTv1.0.0

Change reverse DNS entry for this Server

Changes the hostname that will appear when getting the hostname belonging to the primary IPs (IPv4 and IPv6) of this Server. Floating IPs assigned to the Server are not affected by this.

Source
actionPOSTv1.0.0

Change Server Protection

Changes the protection configuration of the Server.

Source
actionPOSTv1.0.0

Change the Type of a Load Balancer

Changes the type (Max Services, Max Targets and Max Connections) of a Load Balancer. **Call specific error codes** | Code | Description | |------------------------------|-----------------------------------------------------------------| | `invalid_load_balancer_type` | The Load Balancer type does not fit for the given Load Balancer |

Source
actionPOSTv1.0.0

Change the Type of a Server

Changes the type (Cores, RAM and disk sizes) of a Server. Server must be powered off for this command to succeed. This copies the content of its disk, and starts it again. You can only migrate to Server types with the same `storage_type` and equal or bigger disks. Shrinking disks is not possible as it might destroy data. If the disk gets upgraded, the Server type can not be downgraded any more. If you plan to downgrade the Server type, set `upgrade_disk` to `false`. #### Call specific error codes | Code | Description | |-------------------------------|----------------------------------------------------------------------| | `invalid_server_type` | The server type does not fit for the given server or is deprecated | | `server_not_stopped` | The action requires a stopped server |

Source
actionPOSTv1.0.0

Create a Certificate

Creates a new Certificate. The default type **uploaded** allows for uploading your existing `certificate` and `private_key` in PEM format. You have to monitor its expiration date and handle renewal yourself. In contrast, type **managed** requests a new Certificate from *Let's Encrypt* for the specified `domain_names`. Only domains managed by *Hetzner DNS* are supported. We handle renewal and timely alert the project owner via email if problems occur. For type `managed` Certificates the `action` key of the response contains the Action that allows for tracking the issuance process. For type `uploaded` Certificates the `action` is always null.

Source
actionPOSTv1.0.0

Create a Firewall

Creates a new Firewall. #### Call specific error codes | Code | Description | |------------------------------ |-------------------------------------------------------------- | | `server_already_added` | Server added more than one time to resource | | `incompatible_network_type` | The Network type is incompatible for the given resource | | `firewall_resource_not_found` | The resource the Firewall should be attached to was not found |

Source
actionPOSTv1.0.0

Create a Floating IP

Creates a new Floating IP assigned to a Server. If you want to create a Floating IP that is not bound to a Server, you need to provide the `home_location` key instead of `server`. This can be either the ID or the name of the Location this IP shall be created in. Note that a Floating IP can be assigned to a Server in any Location later on. For optimal routing it is advised to use the Floating IP in the same Location it was created in.

Source
actionPOSTv1.0.0

Create a Load Balancer

Creates a Load Balancer. #### Call specific error codes | Code | Description | |-----------------------------------------|-------------------------------------------------------------------------------------------------------| | `cloud_resource_ip_not_allowed` | The IP you are trying to add as a target belongs to a Hetzner Cloud resource | | `ip_not_owned` | The IP is not owned by the owner of the project of the Load Balancer | | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network | | `robot_unavailable` | Robot was not available. The caller may retry the operation after a short delay. | | `server_not_attached_to_network` | The server you are trying to add as a target is not attached to the same network as the Load Balancer | | `source_port_already_used` | The source port you are trying to add is already in use | | `target_already_defined` | The Load Balancer target you are trying to define is already defined |

Source
actionPOSTv1.0.0

Create a Network

Creates a network with the specified `ip_range`. You may specify one or more `subnets`. You can also add more Subnets later by using the [add subnet action](https://docs.hetzner.cloud/#network-actions-add-a-subnet-to-a-network). If you do not specify an `ip_range` in the subnet we will automatically pick the first available /24 range for you. You may specify one or more routes in `routes`. You can also add more routes later by using the [add route action](https://docs.hetzner.cloud/#network-actions-add-a-route-to-a-network).

Source
actionPOSTv1.0.0

Create a Primary IP

Creates a new Primary IP, optionally assigned to a Server. If you want to create a Primary IP that is not assigned to a Server, you need to provide the `datacenter` key instead of `assignee_id`. This can be either the ID or the name of the Datacenter this Primary IP shall be created in. Note that a Primary IP can only be assigned to a Server in the same Datacenter later on. #### Call specific error codes | Code | Description | |------------------------------ |-------------------------------------------------------------- | | `server_not_stopped` | The specified server is running, but needs to be powered off | | `server_has_ipv4` | The server already has an ipv4 address | | `server_has_ipv6` | The server already has an ipv6 address |

Source
actionPOSTv1.0.0

Create a Server

Creates a new Server. Returns preliminary information about the Server as well as an Action that covers progress of creation.

Source
actionPOSTv1.0.0

Create Image from a Server

Creates an Image (snapshot) from a Server by copying the contents of its disks. This creates a snapshot of the current state of the disk and copies it into an Image. If the Server is currently running you must make sure that its disk content is consistent. Otherwise, the created Image may not be readable. To make sure disk content is consistent, we recommend to shut down the Server prior to creating an Image. You can either create a `backup` Image that is bound to the Server and therefore will be deleted when the Server is deleted, or you can create an `snapshot` Image which is completely independent of the Server it was created from and will survive Server deletion. Backup Images are only available when the backup option is enabled for the Server. Snapshot Images are billed on a per GB basis.

Source
actionPOSTv1.0.0

Detach a Server from a Network

Detaches a Server from a network. The interface for this network will vanish.

Source
actionPOSTv1.0.0

Detach an ISO from a Server

Detaches an ISO from a Server. In case no ISO Image is attached to the Server, the status of the returned Action is immediately set to `success`

Source
actionPOSTv1.0.0

Disable Backups for a Server

Disables the automatic backup option and deletes all existing Backups for a Server. No more additional charges for backups will be made. Caution: This immediately removes all existing backups for the Server!

Source
actionPOSTv1.0.0

Disable Rescue Mode for a Server

Disables the Hetzner Rescue System for a Server. This makes a Server start from its disks on next reboot. Rescue Mode is automatically disabled when you first boot into it or if you do not use it for 60 minutes. Disabling rescue mode will not reboot your Server — you will have to do this yourself.

Source
actionPOSTv1.0.0

Disable the public interface of a Load Balancer

Disable the public interface of a Load Balancer. The Load Balancer will be not accessible from the internet via its public IPs. #### Call specific error codes | Code | Description | |-------------------------------------------|--------------------------------------------------------------------------------| | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network | | `targets_without_use_private_ip` | The Load Balancer has targets that use the public IP instead of the private IP |

Source
actionPOSTv1.0.0

Enable the public interface of a Load Balancer

Enable the public interface of a Load Balancer. The Load Balancer will be accessible from the internet via its public IPs.

Source
actionGETv1.0.0

Get a Datacenter

Returns a specific Datacenter object.

Source
actionGETv1.0.0

Get a Firewall

Gets a specific Firewall object.

Source
actionGETv1.0.0

Get a Location

Returns a specific Location object.

Source
actionGETv1.0.0

Get a Network

Gets a specific network object.

Source
actionGETv1.0.0

Get a Primary IP

Returns a specific Primary IP object.

Source
actionGETv1.0.0

Get a Server

Returns a specific Server object. The Server must exist inside the Project

Source
actionGETv1.0.0

Get a SSH key

Returns a specific SSH key object.

Source
actionGETv1.0.0

Get a Volume

Gets a specific Volume object.

Source
actionGETv1.0.0

Get all Actions

Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for a Certificate

Returns all Action objects for a Certificate. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter. Only type `managed` Certificates can have Actions. For type `uploaded` Certificates the `actions` key will always contain an empty array.

Source
actionGETv1.0.0

Get all Actions for a Firewall

Returns all Action objects for a Firewall. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for a Floating IP

Returns all Action objects for a Floating IP. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for a Load Balancer

Returns all Action objects for a Load Balancer. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for a Network

Returns all Action objects for a Network. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for a Server

Returns all Action objects for a Server. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for a Volume

Returns all Action objects for a Volume. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Actions for an Image

Returns all Action objects for an Image. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Source
actionGETv1.0.0

Get all Images

Returns all Image objects. You can select specific Image types only and sort the results by using URI parameters.

Source
actionGETv1.0.0

Get all ISOs

Returns all available ISO objects.

Source
actionGETv1.0.0

Get all Networks

Gets all existing networks that you have available.

Source
actionGETv1.0.0

Get all prices

Returns prices for all resources available on the platform. VAT and currency of the Project owner are used for calculations. Both net and gross prices are included in the response.

Source
actionGETv1.0.0

Get all Volumes

Gets all existing Volumes that you have available.

Source
actionGETv1.0.0

Get an Action

Returns a specific Action object.

Source
actionGETv1.0.0

Get an Action for a Certificate

Returns a specific Action for a Certificate. Only type `managed` Certificates have Actions.

Source
actionGETv1.0.0

Get an Image

Returns a specific Image object.

Source
actionGETv1.0.0

Get an ISO

Returns a specific ISO object.

Source
actionGETv1.0.0

Get Metrics for a LoadBalancer

You must specify the type of metric to get: `open_connections`, `connections_per_second`, `requests_per_second` or `bandwidth`. You can also specify more than one type by comma separation, e.g. `requests_per_second,bandwidth`. Depending on the type you will get different time series data: |Type | Timeseries | Unit | Description | |---- |------------|------|-------------| | open_connections | open_connections | number | Open connections | | connections_per_second | connections_per_second | connections/s | Connections per second | | requests_per_second | requests_per_second | requests/s | Requests per second | | bandwidth | bandwidth.in | bytes/s | Ingress bandwidth | || bandwidth.out | bytes/s | Egress bandwidth | Metrics are available for the last 30 days only. If you do not provide the step argument we will automatically adjust it so that 200 samples are returned. We limit the number of samples to a maximum of 500 and will adjust the step parameter accordingly.

Source
actionGETv1.0.0

Get Metrics for a Server

Get Metrics for specified Server. You must specify the type of metric to get: cpu, disk or network. You can also specify more than one type by comma separation, e.g. cpu,disk. Depending on the type you will get different time series data | Type | Timeseries | Unit | Description | |---------|-------------------------|-----------|------------------------------------------------------| | cpu | cpu | percent | Percent CPU usage | | disk | disk.0.iops.read | iop/s | Number of read IO operations per second | | | disk.0.iops.write | iop/s | Number of write IO operations per second | | | disk.0.bandwidth.read | bytes/s | Bytes read per second | | | disk.0.bandwidth.write | bytes/s | Bytes written per second | | network | network.0.pps.in | packets/s | Public Network interface packets per second received | | | network.0.pps.out | packets/s | Public Network interface packets per second sent | | | network.0.bandwidth.in | bytes/s | Public Network interface bytes/s received | | | network.0.bandwidth.out | bytes/s | Public Network interface bytes/s sent | Metrics are available for the last 30 days only. If you do not provide the step argument we will automatically adjust it so that a maximum of 200 samples are returned. We limit the number of samples returned to a maximum of 500 and will adjust the step parameter accordingly.

Source
actionPOSTv1.0.0

Retry Issuance or Renewal

Retry a failed Certificate issuance or renewal. Only applicable if the type of the Certificate is `managed` and the issuance or renewal status is `failed`. #### Call specific error codes | Code | Description | |---------------------------------------------------------|---------------------------------------------------------------------------| | `caa_record_does_not_allow_ca` | CAA record does not allow certificate authority | | `ca_dns_validation_failed` | Certificate Authority: DNS validation failed | | `ca_too_many_authorizations_failed_recently` | Certificate Authority: Too many authorizations failed recently | | `ca_too_many_certificates_issued_for_registered_domain` | Certificate Authority: Too many certificates issued for registered domain | | `ca_too_many_duplicate_certificates` | Certificate Authority: Too many duplicate certificates | | `could_not_verify_domain_delegated_to_zone` | Could not verify domain delegated to zone | | `dns_zone_not_found` | DNS zone not found | | `dns_zone_is_secondary_zone` | DNS zone is a secondary zone |

Source
actionPOSTv1.0.0

Set Rules

Sets the rules of a Firewall. All existing rules will be overwritten. Pass an empty `rules` array to remove all rules. The maximum amount of rules that can be defined is 50. #### Call specific error codes | Code | Description | |-------------------------------|---------------------------------------------------------------| | `firewall_resource_not_found` | The resource the Firewall should be attached to was not found |

Source
actionPOSTv1.0.0

Unassign a Floating IP

Unassigns a Floating IP, resulting in it being unreachable. You may assign it to a Server again at a later time.

Source
actionPOSTv1.0.0

Unassign a Primary IP from a resource

Unassigns a Primary IP from a Server. The Server must be powered off (status `off`) in order for this operation to succeed. Note that only Servers that have at least one network interface (public or private) attached can be powered on. #### Call specific error codes | Code | Description | |---------------------------------- |-------------------------------------------------------------- | | `server_not_stopped` | The server is running, but needs to be powered off | | `server_is_load_balancer_target` | The server ipv4 address is a loadbalancer target |

Source
actionPOSTv1.0.0

Update Service

Updates a Load Balancer Service. #### Call specific error codes | Code | Description | |----------------------------|---------------------------------------------------------| | `source_port_already_used` | The source port you are trying to add is already in use |

Source
Beyond the catalog

Any provider, on request.

01

Request it

Tell us which provider you need, and we will ship it in the registry.

02

Generate it

Point swirls add at an OpenAPI or GraphQL spec. Typed actions for any API you hold credentials for, today.

acme · integrations
terminal
~/acme $swirls add linear
✓ 12 typed actions · scopes and schemas included
 
~/acme $swirls add https://api.acme.dev/openapi.json
◆ Fetched spec · 38 operations
✓ 6 typed actions · generated from spec