@small-tech/hetzner-cloud-openapi-client
v1.0.0
Published
Hetzner Cloud OpenAPI Client generated from the official specification using Massimo.
Downloads
41
Maintainers
Readme
Hetzner Cloud OpenAPI Client
This is an OpenAPI client for Node.js generated from the official Hetzner Cloud OpenAPI specification using Massimo.
This module aims to stay current with the latest version of the specification (see Updates).
The client should match the Hetzner Cloud API Documentation.
For the latest technical announcements about the platform, see the Hetzner Cloud Changelog.
Usage
Here’s a simple example showing you how to get started by building a simple command-line application that lists the provisioned servers in your account.
1. Initialise npm for your project and install the node module
# Initialise an ESM project with a free software license.
npm init --init-type=module --init-license=AGPL-3.0-only -y
# Install this module.
npm install @small-tech/hetzner-cloud-openapi-client2. Import default export, initialise client, and carry out a call.
e.g., Save this in a file called servers.js.
import configureClient from '@small-tech/hetzner-cloud-openapi-client'
const api = await configureClient({
url: 'https://api.hetzner.cloud/v1/',
getHeaders: () => {
return { Authorization: `Bearer ${process.env.TOKEN}` }
}
})
const servers = (await api.listServers()).body?.servers
if (servers) {
console.info('Servers:\n')
servers.forEach(server => console.info(
`• ${server.name} (${server.status}) – ${server.server_type.description} (${server.server_type.architecture}, ${server.server_type.cores} cores, ${server.server_type.memory}GB RAM, ${server.server_type.disk}GB storage)`
))
}3. Run the app, passing it your secret Hetzner Cloud API token.
TOKEN=<your secret Hetzner Cloud API token> node servers.jsSmall web example
For a more real-world example, see the Kitten-based web app in the example folder. It shows you how you can enter and persist your Hetzner API token and carry out the call to list your servers using a web interface.
Updates
To update the client to reflect the latest version of the spec, just run Massimo again from the root directory of the project:
npx massimo-cli https://docs.hetzner.cloud/cloud.spec.json --name hetzner-cloud --folder=. --types-onlyThe client published in this module aims to reflect the latest version of the spec at all times. If you notice it falling behind, please open an issue and request an update.
Like this? Fund us!
Small Technology Foundation is a tiny, independent not-for-profit.
We exist in part thanks to patronage by people like you. If you share our vision and want to support our work, please become a patron or donate to us today and help us continue to exist.
Questions?
Contact Aral on the fediverse.
