
Hetzner Deploy
- 44 installs
- 946 repo stars
- Updated August 2, 2026
- fcakyon/claude-codex-settings
Helps with devops & ci/cd tasks.
About
hetzner-deploy is a Claude Code skill for devops & ci/cd. It helps solo builders move faster with AI-assisted coding.
- hetzner-deploy
- DevOps & CI/CD
- AI-coding skill
Hetzner Deploy by the numbers
- 44 all-time installs (skills.sh)
- Ranked #774 of 1,438 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/fcakyon/claude-codex-settings --skill hetzner-deployAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 44 |
|---|---|
| repo stars | ★ 946 |
| Last updated | August 2, 2026 |
| Repository | fcakyon/claude-codex-settings ↗ |
What it does
Helps with devops & ci/cd tasks.
Files
Hetzner Cloud CLI Skill
Skill for provisioning and managing infrastructure on Hetzner Cloud using the hcloud CLI. Use the decision trees below to find the right command group, then load detailed references.
Your knowledge of Hetzner Cloud pricing, server types, locations, and API behavior may be outdated. Prefer retrieval over pre-training when citing specific numbers, available types, or configuration options. The reference files alongside this skill are starting points extracted from the official CLI docs.
Authentication
The CLI authenticates via API token. Set the HCLOUD_TOKEN environment variable or create a named context:
# Stateless (CI, scripting, agent use)
export HCLOUD_TOKEN="your-api-token"
# Named context (interactive use)
hcloud context create my-projectGenerate tokens at https://console.hetzner.cloud under your project's Security > API Tokens.
Installation
# macOS / Linux (Homebrew)
brew install hcloud
# Linux (binary)
curl -sSLO https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-amd64.tar.gz
sudo tar -C /usr/local/bin --no-same-owner -xzf hcloud-linux-amd64.tar.gz hcloud
# Docker
docker run --rm -e HCLOUD_TOKEN="$HCLOUD_TOKEN" hetznercloud/cli:latest <command>Quick Decision Trees
"I need compute"
Need a server?
├─ Create a new server → hcloud server create --name <n> --type <t> --image <img>
├─ With cloud-init user data → add --user-data-from-file <path>
├─ With firewall + network → add --firewall <fw> --network <net>
├─ List available types → hcloud server-type list
├─ List available images → hcloud image list
├─ SSH into server → hcloud server ssh <name>
├─ Create snapshot → hcloud server create-image --type snapshot <name>
├─ Rescue mode → hcloud server enable-rescue <name>
└─ Delete server → hcloud server delete <name>"I need networking"
Need networking?
├─ Private network (VPC) → hcloud network create --name <n> --ip-range <cidr>
│ ├─ Add subnet → hcloud network add-subnet --network <n> --type cloud --network-zone <z> --ip-range <cidr>
│ └─ Attach server → hcloud server attach-to-network --network <n> --server <s>
├─ Firewall → hcloud firewall create --name <n> --rules-file <json>
│ ├─ Apply to server → hcloud firewall apply-to-resource --firewall <n> --type server --server <s>
│ └─ Replace rules → hcloud firewall replace-rules --rules-file <json> <name>
├─ Load balancer → hcloud load-balancer create --name <n> --type <t> --location <loc>
│ ├─ Add target → hcloud load-balancer add-target --server <s> <lb>
│ └─ Add service → hcloud load-balancer add-service --protocol <p> --listen-port <port> <lb>
├─ Floating IP → hcloud floating-ip create --type ipv4 --home-location <loc>
│ └─ Assign → hcloud floating-ip assign <ip> --server <s>
└─ Primary IP → hcloud primary-ip create --name <n> --type ipv4 --datacenter <dc>"I need storage"
Need storage?
├─ Block volume → hcloud volume create --name <n> --size <gb> --server <s> --automount --format ext4
│ ├─ Resize → hcloud volume resize --size <gb> <name>
│ └─ Detach → hcloud volume detach <name>
└─ Storage Box (managed NFS/CIFS/SCP) → hcloud storage-box create --name <n> --type <t> --location <loc>
├─ Subaccounts → hcloud storage-box subaccount create <box>
└─ Snapshots → hcloud storage-box snapshot create <box>"I need DNS"
Need DNS?
├─ Create zone → hcloud zone create --name <domain>
├─ Add records → hcloud zone add-records --zone <z> --type A --name <n> --value <ip>
├─ Set full record set → hcloud zone set-records --zone <z> --type A --name <n> --value <ip1> --value <ip2>
├─ Import zone file → hcloud zone import-zonefile --zone <z> <file>
├─ Export zone file → hcloud zone export-zonefile <zone>
└─ Manage individual RRSets → hcloud zone rrset list <zone>"I need info"
Need reference data?
├─ Server types + pricing → hcloud server-type list / describe <type>
├─ Locations → hcloud location list / describe <loc>
├─ Datacenters → hcloud datacenter list / describe <dc>
├─ Available images → hcloud image list
├─ ISO images → hcloud iso list
├─ Load balancer types → hcloud load-balancer-type list
└─ Storage box types → hcloud storage-box-type list"I need to configure the CLI"
Need CLI config?
├─ Create context → hcloud context create <name>
├─ Switch context → hcloud context use <name>
├─ Set default SSH key → hcloud config set default-ssh-keys <key>
├─ View config → hcloud config list
└─ Shell completion → hcloud completion bash/zsh/fishCommon Workflows
Quick server deploy
# Upload SSH key, create server, connect
hcloud ssh-key create --name deploy-key --public-key-from-file ~/.ssh/id_ed25519.pub
hcloud server create --name web-1 --type cpx21 --image ubuntu-24.04 --ssh-key deploy-key --location fsn1
hcloud server ssh web-1Full stack with network + firewall
# Network
hcloud network create --name prod-net --ip-range 10.0.0.0/16
hcloud network add-subnet --network prod-net --type cloud --network-zone eu-central --ip-range 10.0.1.0/24
# Firewall (allow SSH + HTTP/S)
cat > rules.json << 'EOF'
[
{"direction":"in","protocol":"tcp","port":"22","source_ips":["0.0.0.0/0","::/0"]},
{"direction":"in","protocol":"tcp","port":"80","source_ips":["0.0.0.0/0","::/0"]},
{"direction":"in","protocol":"tcp","port":"443","source_ips":["0.0.0.0/0","::/0"]}
]
EOF
hcloud firewall create --name web-fw --rules-file rules.json
# Server with network + firewall
hcloud server create --name app-1 --type cpx21 --image ubuntu-24.04 \
--ssh-key deploy-key --network prod-net --firewall web-fw --location fsn1
# Load balancer
hcloud load-balancer create --name web-lb --type lb11 --location fsn1
hcloud load-balancer attach-to-network --network prod-net web-lb
hcloud load-balancer add-target --server app-1 web-lb
hcloud load-balancer add-service --protocol tcp --listen-port 80 --destination-port 80 web-lbOutput Formats
All describe, list, and create commands support structured output for scripting and agent use:
hcloud server list --output json # JSON array
hcloud server describe my-srv --output yaml # YAML
hcloud server describe my-srv --output format='{{.ServerType.Cores}}' # Go template
hcloud server list --output columns=id,name,status # Custom table columnsResource Index
Compute
| Resource | Reference |
|---|---|
| Server | references/server/ |
| Server Types | references/info/ |
Networking
| Resource | Reference |
|---|---|
| Network (VPC) | references/network/ |
| Firewall | references/firewall/ |
| Load Balancer | references/load-balancer/ |
| Floating IP | references/floating-ip/ |
| Primary IP | references/primary-ip/ |
Storage
| Resource | Reference |
|---|---|
| Volume | references/volume/ |
| Storage Box | references/storage-box/ |
DNS
| Resource | Reference |
|---|---|
| Zone & Records | references/dns/ |
Security & Access
| Resource | Reference |
|---|---|
| SSH Key | references/ssh-key/ |
| Certificate | references/certificate/ |
| Image | references/image/ |
| Placement Group | references/placement-group/ |
Reference Data
| Resource | Reference |
|---|---|
| Server Types, LB Types, Storage Box Types, Datacenters, Locations, ISOs | references/info/ |
CLI Configuration
| Resource | Reference |
|---|---|
| Config, Context, Completion | references/config/ |
| All Resources | references/all/ |
Getting Started
| Resource | Reference |
|---|---|
| Setup, Server Tutorial, Output Options, Configuration | references/getting-started/ |
hcloud all list
List all resources in the project
Synopsis
List all resources in the project. This does not include static/public resources like Locations, public ISOs, etc.
Listed resources are:
- Servers
- Images
- Placement Groups
- Primary IPs
- ISOs
- Volumes
- Load Balancer
- Floating IPs
- Networks
- Firewalls
- Certificates
- SSH Keys
- Storage Boxes
- Zones
hcloud all list [options]Options
-h, --help help for list
-o, --output stringArray output options: json|yaml
--paid Only list resources that cost money (true, false)
-l, --selector string Selector to filter by labelsOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud all - Commands that apply to all resources
hcloud all
Commands that apply to all resources
Options
-h, --help help for allOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud all list - List all resources in the project
hcloud certificate add-label
Add a label to a Certificate
hcloud certificate add-label [--overwrite] <certificate> <label>...Options
-h, --help help for add-label
-o, --overwrite Overwrite label if it exists already (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate create
Create or upload a Certificate
hcloud certificate create [options] --name <name> (--type managed --domain <domain> | --type uploaded --cert-file <file> --key-file <file>)Options
--cert-file string File containing the PEM encoded certificate (required if type is uploaded)
--domain strings One or more domains the Certificate is valid for.
-h, --help help for create
--key-file string File containing the PEM encoded private key for the certificate (required if type is uploaded)
--label stringToString User-defined labels ('key=value') (can be specified multiple times) (default [])
--name string Certificate name (required)
-o, --output stringArray output options: json|yaml
-t, --type string Type of Certificate to create. Valid choices: uploaded, managed (default "uploaded")Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate delete
Delete a Certificate
hcloud certificate delete <certificate>...Options
-h, --help help for deleteOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate describe
Describe a Certificate
hcloud certificate describe [options] <certificate>Options
-h, --help help for describe
-o, --output stringArray output options: json|yaml|formatOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate list
List Certificates
Synopsis
Displays a list of Certificates.
Output can be controlled with the -o flag. Use -o noheader to suppress the table header. Displayed columns and their order can be set with -o columns=age,created (see available columns below).
Columns:
- age
- created
- domain_names
- fingerprint
- id
- issuance_status
- labels
- name
- not_valid_after
- not_valid_before
- renewal_status
- type
hcloud certificate list [options]Options
-h, --help help for list
-o, --output stringArray output options: noheader|columns=...|json|yaml
-l, --selector string Selector to filter by labels
-s, --sort strings Determine the sorting of the resultOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate remove-label
Remove a label from a Certificate
hcloud certificate remove-label <certificate> (--all | <label>...)Options
-a, --all Remove all labels
-h, --help help for remove-labelOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate retry
Retry a managed Certificate's issuance
hcloud certificate retry <certificate>Options
-h, --help help for retryOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
---
hcloud certificate update
Update a Certificate
hcloud certificate update [options] <certificate>Options
-h, --help help for update
--name string Certificate NameOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud certificate - Manage Certificates
hcloud certificate
Manage Certificates
Options
-h, --help help for certificateOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud certificate add-label - Add a label to a Certificate
- hcloud certificate create - Create or upload a Certificate
- hcloud certificate delete - Delete a Certificate
- hcloud certificate describe - Describe a Certificate
- hcloud certificate list - List Certificates
- hcloud certificate remove-label - Remove a label from a Certificate
- hcloud certificate retry - Retry a managed Certificate's issuance
- hcloud certificate update - Update a Certificate
hcloud config add
Add values to a list
Synopsis
Add values to a list. For a list of all available configuration options, run 'hcloud help config'.
hcloud config add <key> <value>...Options
--global Set the value globally (for all contexts) (true, false)
-h, --help help for addOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud config - Manage configuration
---
hcloud config get
Get a configuration value
Synopsis
Get a configuration value. For a list of all available configuration options, run 'hcloud help config'.
hcloud config get <key>Options
--allow-sensitive Allow showing sensitive values (true, false)
--global Get the value globally (true, false)
-h, --help help for getOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud config - Manage configuration
---
hcloud config list
List configuration values
hcloud config listOptions
-a, --all Also show default values (true, false)
--allow-sensitive Allow showing sensitive values (true, false)
-g, --global Only show global values (true, false)
-h, --help help for list
-o, --output stringArray output options: noheader|columns=...|json|yamlOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud config - Manage configuration
---
hcloud config remove
Remove values from a list
Synopsis
Remove values from a list. For a list of all available configuration options, run 'hcloud help config'.
hcloud config remove <key> <value>...Options
--global Remove the value(s) globally (for all contexts) (true, false)
-h, --help help for removeOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud config - Manage configuration
---
hcloud config set
Set a configuration value
Synopsis
Set a configuration value. For a list of all available configuration options, run 'hcloud help config'.
hcloud config set <key> <value>...Options
--global Set the value globally (for all contexts) (true, false)
-h, --help help for setOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud config - Manage configuration
---
hcloud config unset
Unset a configuration value
Synopsis
Unset a configuration value. For a list of all available configuration options, run 'hcloud help config'.
hcloud config unset <key>Options
--global Unset the value globally (for all contexts) (true, false)
-h, --help help for unsetOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud config - Manage configuration
---
hcloud context active
Show active context
hcloud context activeOptions
-h, --help help for activeOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
---
hcloud context create
Create a new context
hcloud context create [--token-from-env] <name>Options
-h, --help help for create
--token-from-env If true, the HCLOUD_TOKEN from the environment will be used without askingOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
---
hcloud context delete
Delete a context
hcloud context delete <context>Options
-h, --help help for deleteOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
---
hcloud context list
List contexts
Synopsis
Displays a list of contexts.
Output can be controlled with the -o flag. Use -o noheader to suppress the table header. Displayed columns and their order can be set with -o columns=active,name (see available columns below).
Columns:
- active
- name
hcloud context list [options]Options
--allow-sensitive Allow showing sensitive values in JSON/YAML output (true, false)
-h, --help help for list
-o, --output stringArray output options: noheader|columns=...|json|yamlOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
---
hcloud context rename
Rename a context
hcloud context rename <context> <name>Options
-h, --help help for renameOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
---
hcloud context unset
Unset used context
hcloud context unsetOptions
-h, --help help for unsetOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
---
hcloud context use
Use a context
hcloud context use <context>Options
-h, --help help for useOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud context - Manage contexts
hcloud version
Print version information
hcloud versionOptions
-h, --help help for version
--long Print more version information (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
hcloud zone add-label
Add a label to a Zone
hcloud zone add-label [--overwrite] <zone> <label>...Options
-h, --help help for add-label
-o, --overwrite Overwrite label if it exists already (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone add-records
Add records to a Zone RRSet
Synopsis
Add records to a Zone RRSet.
If the Zone RRSet doesn't exist, it will automatically be created.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone add-records (--record <value>... | --records-file <file>) <zone> <name> <type>Options
-h, --help help for add-records
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)
--ttl int Time To Live (TTL) of the Zone RRSetOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone change-primary-nameservers
Changes the primary nameservers of a secondary Zone
Synopsis
Changes the primary nameservers of a secondary Zone.
Input file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-actions-change-a-zones-primary-nameservers
Example file content:
[ { "address": "203.0.113.10" }, { "address": "203.0.113.11", "port": 5353 }, { "address": "203.0.113.12", "tsig_algorithm": "hmac-sha256", "tsig_key": "example-key" } ]
hcloud zone change-primary-nameservers --primary-nameservers-file <file> <zone>Options
-h, --help help for change-primary-nameservers
--primary-nameservers-file string JSON file containing the new primary nameservers. (use - to read from stdin)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone change-ttl
Changes the default Time To Live (TTL) of a Zone
hcloud zone change-ttl --ttl <ttl> <zone>Options
-h, --help help for change-ttl
--ttl int Default Time To Live (TTL) of the Zone (required) (default 3600)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone create
Create a Zone
hcloud zone create [options] --name <name> [--mode secondary --primary-nameservers <file>]Options
--enable-protection strings Enable protection (delete) (default: none)
-h, --help help for create
--label stringToString User-defined labels ('key=value') (can be specified multiple times) (default [])
--mode string Mode of the Zone (primary, secondary) (default "primary")
--name string Zone name (required)
-o, --output stringArray output options: json|yaml
--primary-nameservers-file string JSON file containing the new primary nameservers. (See 'hcloud zone change-primary-nameservers -h' for help)
--ttl int Default Time To Live (TTL) of the Zone
--zonefile string Zone file in BIND (RFC 1034/1035) format (use - to read from stdin)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone delete
Delete a Zone
hcloud zone delete <zone>...Options
-h, --help help for deleteOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone describe
Describe a Zone
hcloud zone describe [options] <zone>Options
-h, --help help for describe
-o, --output stringArray output options: json|yaml|formatOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone disable-protection
Disable resource protection for a Zone
hcloud zone disable-protection <zone> deleteOptions
-h, --help help for disable-protectionOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone enable-protection
Enable resource protection for a Zone
hcloud zone enable-protection <zone> deleteOptions
-h, --help help for enable-protectionOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone export-zonefile
Returns a generated Zone file in BIND (RFC 1034/1035) format
hcloud zone export-zonefile [options] <zone>Options
-h, --help help for export-zonefile
-o, --output stringArray output options: json|yamlOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone import-zonefile
Imports a zone file, replacing all Zone RRSets
hcloud zone import-zonefile --zonefile <file> <zone>Options
-h, --help help for import-zonefile
-o, --output stringArray output options: json|yaml
--zonefile string Zone file in BIND (RFC 1034/1035) format (use - to read from stdin)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone list
List Zones
Synopsis
Displays a list of Zones.
Output can be controlled with the -o flag. Use -o noheader to suppress the table header. Displayed columns and their order can be set with -o columns=age,authoritative_nameservers (see available columns below).
Columns:
- age
- authoritative_nameservers
- created
- id
- labels
- mode
- name
- name_idna
- primary_nameservers
- protection
- record_count
- registrar
- status
- ttl
hcloud zone list [options]Options
-h, --help help for list
--mode string Only Zones with this mode are displayed
-o, --output stringArray output options: noheader|columns=...|json|yaml
-l, --selector string Selector to filter by labels
-s, --sort strings Determine the sorting of the resultOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone remove-label
Remove a label from a Zone
hcloud zone remove-label <zone> (--all | <label>...)Options
-a, --all Remove all labels
-h, --help help for remove-labelOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone remove-records
Remove records from a Zone RRSet.
Synopsis
Remove records from a Zone RRSet.
If the Zone RRSet doesn't contain any records, it will automatically be deleted.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone remove-records (--record <value>... | --records-file <file>) <zone> <name> <type>Options
-h, --help help for remove-records
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
---
hcloud zone rrset
Manage Zone RRSets (records)
Synopsis
For more details, see the documentation for Zones https://docs.hetzner.cloud/reference/cloud#zones or Zone RRSets https://docs.hetzner.cloud/reference/cloud#zone-rrsets.
TXT records format must consist of one or many quoted strings of 255 characters. If the user provider TXT records are not quoted, they will be formatted for you.
Options
-h, --help help for rrsetOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
- hcloud zone rrset add-label - Add a label to a Zone RRSet
- hcloud zone rrset add-records - Add records to a Zone RRSet
- hcloud zone rrset change-ttl - Changes the Time To Live (TTL) of a Zone RRSet
- hcloud zone rrset create - Create a Zone RRSet
- hcloud zone rrset delete - Delete a Zone RRSet
- hcloud zone rrset describe - Describe a Zone RRSet
- hcloud zone rrset disable-protection - Disable resource protection for a Zone RRSet
- hcloud zone rrset enable-protection - Enable resource protection for a Zone RRSet
- hcloud zone rrset list - List Zone RRSets
- hcloud zone rrset remove-label - Remove a label from a Zone RRSet
- hcloud zone rrset remove-records - Remove records from a Zone RRSet.
- hcloud zone rrset set-records - Set the records of a Zone RRSet
---
hcloud zone rrset add-label
Add a label to a Zone RRSet
hcloud zone rrset add-label [--overwrite] <zone> <name> <type> <label>...Options
-h, --help help for add-label
-o, --overwrite Overwrite label if it exists already (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset add-records
Add records to a Zone RRSet
Synopsis
Add records to a Zone RRSet.
If the Zone RRSet doesn't exist, it will automatically be created.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone rrset add-records (--record <value>... | --records-file <file>) <zone> <name> <type>Options
-h, --help help for add-records
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)
--ttl int Time To Live (TTL) of the Zone RRSetOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset change-ttl
Changes the Time To Live (TTL) of a Zone RRSet
hcloud zone rrset change-ttl (--ttl <ttl> | --unset) <zone> <name> <type>Options
-h, --help help for change-ttl
--ttl int Time To Live (TTL) of the Zone RRSet (required)
--unset Unset the Time To Live of Zone RRSet (use the Zone default TTL instead)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset create
Create a Zone RRSet
Synopsis
Create a Zone RRSet.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone rrset create [options] --name <name> --type <A|AAAA|CAA|CNAME|DS|HINFO|HTTPS|MX|NS|PTR|RP|SOA|SRV|SVCB|TLSA|TXT> (--record <record>... | --records-file <file>) <zone>Options
-h, --help help for create
--label stringToString User-defined labels ('key=value') (can be specified multiple times) (default [])
--name string Name of the Zone RRSet (required)
-o, --output stringArray output options: json|yaml
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)
--ttl int Time To Live (TTL) of the RRSet
--type string Type of the Zone RRSet (required)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset delete
Delete a Zone RRSet
hcloud zone rrset delete <zone> <name> <type>Options
-h, --help help for deleteOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset describe
Describe a Zone RRSet
hcloud zone rrset describe [options] <zone> <name> <type>Options
-h, --help help for describe
-o, --output stringArray output options: json|yaml|formatOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset disable-protection
Disable resource protection for a Zone RRSet
hcloud zone rrset disable-protection <zone> <name> <type> changeOptions
-h, --help help for disable-protectionOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset enable-protection
Enable resource protection for a Zone RRSet
hcloud zone rrset enable-protection <zone> <name> <type> changeOptions
-h, --help help for enable-protectionOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset list
List Zone RRSets
Synopsis
Displays a list of Zone RRSets.
Output can be controlled with the -o flag. Use -o noheader to suppress the table header. Displayed columns and their order can be set with -o columns=id,labels (see available columns below).
Columns:
- id
- labels
- name
- protection
- records
- ttl
- type
hcloud zone rrset list [options] <zone>Options
-h, --help help for list
-o, --output stringArray output options: noheader|columns=...|json|yaml
-l, --selector string Selector to filter by labels
-s, --sort strings Determine the sorting of the result
--type strings Only Zone RRSets with one of these types are displayedOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset remove-label
Remove a label from a Zone RRSet
hcloud zone rrset remove-label <zone> <name> <type> (--all | <label>...)Options
-a, --all Remove all labels
-h, --help help for remove-labelOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset remove-records
Remove records from a Zone RRSet.
Synopsis
Remove records from a Zone RRSet.
If the Zone RRSet doesn't contain any records, it will automatically be deleted.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone rrset remove-records (--record <value>... | --records-file <file>) <zone> <name> <type>Options
-h, --help help for remove-records
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone rrset set-records
Set the records of a Zone RRSet
Synopsis
Set the records of a Zone RRSet.
- If the Zone RRSet doesn't exist, it will be created.
- If the Zone RRSet already exists, its records will be replaced.
- If the provided records are empty, the Zone RRSet will be deleted.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone rrset set-records (--record <value>... | --records-file <file>) <zone> <name> <type>Options
-h, --help help for set-records
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone rrset - Manage Zone RRSets (records)
---
hcloud zone set-records
Set the records of a Zone RRSet
Synopsis
Set the records of a Zone RRSet.
- If the Zone RRSet doesn't exist, it will be created.
- If the Zone RRSet already exists, its records will be replaced.
- If the provided records are empty, the Zone RRSet will be deleted.
The optional records file has to be in JSON format. You can find the schema at https://docs.hetzner.cloud/reference/cloud#zone-rrset-actions-set-records-of-an-rrset
Example file content:
[ { "value": "198.51.100.1", "comment": "My web server at Hetzner Cloud." }, { "value": "198.51.100.2", "comment": "My other server at Hetzner Cloud." } ]
hcloud zone set-records (--record <value>... | --records-file <file>) <zone> <name> <type>Options
-h, --help help for set-records
--record stringArray List of records (can be specified multiple times, conflicts with --records-file)
--records-file string JSON file containing the records (conflicts with --record)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud zone - Manage DNS Zones and Zone RRSets (records)
hcloud zone
Manage DNS Zones and Zone RRSets (records)
Synopsis
For more details, see the documentation for Zones https://docs.hetzner.cloud/reference/cloud#zones or Zone RRSets https://docs.hetzner.cloud/reference/cloud#zone-rrsets.
Options
-h, --help help for zoneOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud zone add-label - Add a label to a Zone
- hcloud zone add-records - Add records to a Zone RRSet
- hcloud zone change-primary-nameservers - Changes the primary nameservers of a secondary Zone
- hcloud zone change-ttl - Changes the default Time To Live (TTL) of a Zone
- hcloud zone create - Create a Zone
- hcloud zone delete - Delete a Zone
- hcloud zone describe - Describe a Zone
- hcloud zone disable-protection - Disable resource protection for a Zone
- hcloud zone enable-protection - Enable resource protection for a Zone
- hcloud zone export-zonefile - Returns a generated Zone file in BIND (RFC 1034/1035) format
- hcloud zone import-zonefile - Imports a zone file, replacing all Zone RRSets
- hcloud zone list - List Zones
- hcloud zone remove-label - Remove a label from a Zone
- hcloud zone remove-records - Remove records from a Zone RRSet.
- hcloud zone rrset - Manage Zone RRSets (records)
- hcloud zone set-records - Set the records of a Zone RRSet
hcloud firewall add-label
Add a label to a Firewall
hcloud firewall add-label [--overwrite] <firewall> <label>...Options
-h, --help help for add-label
-o, --overwrite Overwrite label if it exists already (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall add-rule
Add a single rule to a firewall
hcloud firewall add-rule [options] (--direction in --source-ips <ips> | --direction out --destination-ips <ips>) (--protocol <tcp|udp> --port <port> | --protocol <icmp|esp|gre>) <firewall>Options
--description string Description of the Firewall rule
--destination-ips strings Destination IPs (CIDR Notation) (required when direction is out)
--direction string Direction (in, out) (required)
-h, --help help for add-rule
--port string Port to which traffic will be allowed, only applicable for protocols TCP and UDP, you can specify port ranges, sample: 80-85
--protocol string Protocol (icmp, esp, gre, udp or tcp) (required)
--source-ips strings Source IPs (CIDR Notation) (required when direction is in)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall apply-to-resource
Applies a Firewall to a single resource
hcloud firewall apply-to-resource (--type server --server <server> | --type label_selector --label-selector <label-selector>) <firewall>Options
-h, --help help for apply-to-resource
-l, --label-selector string Label Selector
--server string Server name of ID (required when type is server)
--type string Resource Type (server, label_selector) (required)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall create
Create a Firewall
hcloud firewall create [options] --name <name>Options
-h, --help help for create
--label stringToString User-defined labels ('key=value') (can be specified multiple times) (default [])
--name string Name
-o, --output stringArray output options: json|yaml
--rules-file string JSON file containing your routes (use - to read from stdin). The structure of the file needs to be the same as within the API: https://docs.hetzner.cloud/reference/cloud#firewalls-get-a-firewall Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall delete-rule
Delete a single rule from a Firewall
hcloud firewall delete-rule [options] (--direction in --source-ips <ips> | --direction out --destination-ips <ips>) (--protocol <tcp|udp> --port <port> | --protocol <icmp|esp|gre>) <firewall>Options
--description string Description of the Firewall rule
--destination-ips strings Destination IPs (CIDR Notation) (required when direction is out)
--direction string Direction (in, out) (required)
-h, --help help for delete-rule
--port string Port to which traffic will be allowed, only applicable for protocols TCP and UDP
--protocol string Protocol (icmp, esp, gre, udp or tcp) (required)
--source-ips strings Source IPs (CIDR Notation) (required when direction is in)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall delete
Delete a Firewall
hcloud firewall delete <firewall>...Options
-h, --help help for deleteOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall describe
Describe a Firewall
hcloud firewall describe [options] <firewall>Options
-h, --help help for describe
-o, --output stringArray output options: json|yaml|formatOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall list
List Firewalls
Synopsis
Displays a list of Firewalls.
Output can be controlled with the -o flag. Use -o noheader to suppress the table header. Displayed columns and their order can be set with -o columns=age,applied_to_count (see available columns below).
Columns:
- age
- applied_to_count
- created
- id
- labels
- name
- rules_count
hcloud firewall list [options]Options
-h, --help help for list
-o, --output stringArray output options: noheader|columns=...|json|yaml
-l, --selector string Selector to filter by labels
-s, --sort strings Determine the sorting of the resultOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall remove-from-resource
Removes a Firewall from a single resource
hcloud firewall remove-from-resource (--type server --server <server> | --type label_selector --label-selector <label-selector>) <firewall>Options
-h, --help help for remove-from-resource
-l, --label-selector string Label Selector
--server string Server name of ID (required when type is server)
--type string Resource Type (server) (required)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall remove-label
Remove a label from a Firewall
hcloud firewall remove-label <firewall> (--all | <label>...)Options
-a, --all Remove all labels
-h, --help help for remove-labelOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall replace-rules
Replaces all rules from a Firewall from a file
hcloud firewall replace-rules --rules-file <file> <firewall>Options
-h, --help help for replace-rules
--rules-file string JSON file containing your routes (use - to read from stdin). The structure of the file needs to be the same as within the API: https://docs.hetzner.cloud/reference/cloud#firewalls-get-a-firewallOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
---
hcloud firewall update
Update a Firewall
hcloud firewall update [options] <firewall>Options
-h, --help help for update
--name string Firewall nameOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud firewall - Manage Firewalls
hcloud firewall
Manage Firewalls
Options
-h, --help help for firewallOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud firewall add-label - Add a label to a Firewall
- hcloud firewall add-rule - Add a single rule to a firewall
- hcloud firewall apply-to-resource - Applies a Firewall to a single resource
- hcloud firewall create - Create a Firewall
- hcloud firewall delete - Delete a Firewall
- hcloud firewall delete-rule - Delete a single rule from a Firewall
- hcloud firewall describe - Describe a Firewall
- hcloud firewall list - List Firewalls
- hcloud firewall remove-from-resource - Removes a Firewall from a single resource
- hcloud firewall remove-label - Remove a label from a Firewall
- hcloud firewall replace-rules - Replaces all rules from a Firewall from a file
- hcloud firewall update - Update a Firewall
hcloud floating-ip add-label
Add a label to a Floating IP
hcloud floating-ip add-label [--overwrite] <floating-ip> <label>...Options
-h, --help help for add-label
-o, --overwrite Overwrite label if it exists already (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip assign
Assign a Floating IP to a server
hcloud floating-ip assign <floating-ip> <server>Options
-h, --help help for assignOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip create
Create a Floating IP
hcloud floating-ip create [options] --type <ipv4|ipv6> (--home-location <location> | --server <server>)Options
--description string Description
--enable-protection strings Enable protection (delete) (default: none)
-h, --help help for create
--home-location string Home Location
--label stringToString User-defined labels ('key=value') (can be specified multiple times) (default [])
--name string Name
-o, --output stringArray output options: json|yaml
--server string Server to assign Floating IP to
--type string Type (ipv4 or ipv6) (required)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip delete
Delete a Floating IP
hcloud floating-ip delete <floating-ip>...Options
-h, --help help for deleteOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip describe
Describe a Floating IP
hcloud floating-ip describe [options] <floating-ip>Options
-h, --help help for describe
-o, --output stringArray output options: json|yaml|formatOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip disable-protection
Disable resource protection for a Floating IP
hcloud floating-ip disable-protection <floating-ip> deleteOptions
-h, --help help for disable-protectionOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip enable-protection
Enable resource protection for a Floating IP
hcloud floating-ip enable-protection <floating-ip> deleteOptions
-h, --help help for enable-protectionOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip list
List Floating IPs
Synopsis
Displays a list of Floating IPs.
Output can be controlled with the -o flag. Use -o noheader to suppress the table header. Displayed columns and their order can be set with -o columns=age,blocked (see available columns below).
Columns:
- age
- blocked
- created
- description
- dns
- home
- id
- ip
- labels
- name
- protection
- server
- type
hcloud floating-ip list [options]Options
-h, --help help for list
-o, --output stringArray output options: noheader|columns=...|json|yaml
-l, --selector string Selector to filter by labels
-s, --sort strings Determine the sorting of the resultOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip remove-label
Remove a label from a Floating IP
hcloud floating-ip remove-label <floating-ip> (--all | <label>...)Options
-a, --all Remove all labels
-h, --help help for remove-labelOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip set-rdns
Change reverse DNS of a Floating IP
hcloud floating-ip set-rdns [--ip <ip>] (--hostname <hostname> | --reset) <floating-ip>Options
-h, --help help for set-rdns
-r, --hostname string Hostname to set as a reverse DNS PTR entry
-i, --ip ip IP address for which the reverse DNS entry should be set
--reset Reset the reverse DNS entry to the default value (true, false)Options inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip unassign
Unassign a Floating IP
hcloud floating-ip unassign <floating-ip>Options
-h, --help help for unassignOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
---
hcloud floating-ip update
Update a Floating IP
hcloud floating-ip update [options] <floating-ip>Options
--description string Floating IP description
-h, --help help for update
--name string Floating IP nameOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud floating-ip - Manage Floating IPs
hcloud floating-ip
Manage Floating IPs
Options
-h, --help help for floating-ipOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud floating-ip add-label - Add a label to a Floating IP
- hcloud floating-ip assign - Assign a Floating IP to a server
- hcloud floating-ip create - Create a Floating IP
- hcloud floating-ip delete - Delete a Floating IP
- hcloud floating-ip describe - Describe a Floating IP
- hcloud floating-ip disable-protection - Disable resource protection for a Floating IP
- hcloud floating-ip enable-protection - Enable resource protection for a Floating IP
- hcloud floating-ip list - List Floating IPs
- hcloud floating-ip remove-label - Remove a label from a Floating IP
- hcloud floating-ip set-rdns - Change reverse DNS of a Floating IP
- hcloud floating-ip unassign - Unassign a Floating IP
- hcloud floating-ip update - Update a Floating IP
Configuring hcloud
The hcloud CLI tool can be configured using following methods: 1. Configuration file 2. Environment variables 3. Command line flags
A higher number means a higher priority. For example, a command line flag will always override an environment variable.
The configuration file is located at ~/.config/hcloud/cli.toml by default (On Windows: %APPDATA%\hcloud\cli.toml). You can change the location by setting the HCLOUD_CONFIG environment variable or the --config flag. The configuration file stores global preferences, the currently active context, all contexts and context-specific preferences. Contexts always store a token and can optionally have additional preferences which take precedence over the globally set preferences.
However, a config file is not required. If no config file is found, the CLI will use the default configuration. Overriding options using environment variables allows the hcloud CLI to function in a stateless way. For example, setting HCLOUD_TOKEN is already enough in many cases.
You can use the hcloud config command to manage your configuration, for example to get, list, set and unset configuration options and preferences. You can view a list of all available options and preferences here.
Creating a server
This tutorial covers the process of creating a server using the Hetzner Cloud CLI. It includes creating an SSH Key, uploading it, creating a Server and then connecting to it via SSH.
Prerequisites
- A functioning installation of the hcloud CLI, with a valid active context.
1. Create an SSH Key
1.1 Generate an SSH Key
While an SSH key is not strictly required to create a server, it is highly recommended for secure access. If you don't have an SSH key yet, you can generate one using the following command:
ssh-keygen -t ed25519 -f ~/.ssh/hcloudYour private key will now be located at ~/.ssh/hcloud. Do not share your private key with anyone!
1.2 Upload the SSH Key
You can upload your SSH key to Hetzner Cloud using the following command:
hcloud ssh-key create --name my-ssh-key --public-key-from-file ~/.ssh/hcloud.pub[!TIP]
You can set this SSH key as the default SSH key for your context using the following command:
```bash
hcloud config set default-ssh-keys my-ssh-key
```
2. Create a Server
2.1 Pick a Server Type
Before creating a server, you need to choose a server type. You can list all available server types using the following command:
hcloud server-type listFor this example we will use the cpx22 server type. You can view the details of this server type using the following command:
hcloud server-type describe cpx222.2 Pick an Image
You need to choose an image for your server. You can list all available images using the following command:
hcloud image listThere are many images available, including various Linux distributions and pre-configured app images. For this example we will use the ubuntu-24.04 image.
2.3 Pick a Location (Optional)
You can choose a location for your server. You can list all available locations using the following command:
hcloud location listIf you don't specify a location, one will be chosen for you. This is what we will do in this example.
2.4 Create the Server
Now you can create the server using the following command:
hcloud server create --name my-server --type cpx22 --image ubuntu-24.04 --ssh-key my-ssh-keyIf you set the SSH key as the default SSH key for your context, you can omit the --ssh-key flag. After the server was created, you will see information about the server, including its IP address.
3. Connect to the Server
You can connect to the server using SSH. The CLI contains a built-in utility to do this:
hcloud server ssh my-server -i ~/.ssh/hcloudThis command will open an SSH connection to the server using the private key you generated earlier.
4. Clean Up
After you are done with the server, you can delete it using the following command:
hcloud server delete my-serverYou can also delete the SSH key using the following command:
hcloud ssh-key delete my-ssh-keyUsing output options
The CLI allows you to customize the output format of some commands using the --output flag. This guide shows you how to use this feature and use it in combination with other tools.
JSON
describe, list and create commands support JSON output format. To use it, simply add the --output json flag to your command.
For example, to get the details of a location in JSON format, you can use the following command:
$ hcloud location describe fsn1 --output json
{
"id": 1,
"name": "fsn1",
"description": "Falkenstein DC Park 1",
"country": "DE",
"city": "Falkenstein",
"latitude": 50.47612,
"longitude": 12.370071,
"network_zone": "eu-central"
}You can combine this with other tools to process the output. For example, you can use jq to filter the output:
$ hcloud location describe fsn1 --output json | jq '.name'
"fsn1"$ hcloud location describe fsn1 --output json | jq '{id, name}'
{
"id": 1,
"name": "fsn1"
}list commands return a list of objects in JSON format. For example, to get a list of all locations in JSON format, you can use the following command:
$ hcloud location list --output json
[
{
"id": 1,
"name": "fsn1",
"description": "Falkenstein DC Park 1",
"country": "DE",
"city": "Falkenstein",
"latitude": 50.47612,
"longitude": 12.370071,
"network_zone": "eu-central"
},
{
"id": 2,
"name": "nbg1",
"description": "Nuremberg DC Park 1",
"country": "DE",
"city": "Nuremberg",
"latitude": 49.452102,
"longitude": 11.076665,
"network_zone": "eu-central"
},
...
]Once again, you can use jq to filter the output. Following example shows how to get the names of all locations of which the network zone is eu-central:
$ hcloud location list --output json | jq '[.[] | select(.network_zone == "eu-central") | .name]'
[
"fsn1",
"nbg1",
"hel1"
]YAML
describe, list and create commands support YAML output format as well.
$ hcloud location describe fsn1 --output yaml
id: 1
name: fsn1
description: Falkenstein DC Park 1
country: DE
city: Falkenstein
latitude: 50.47612
longitude: 12.370071
network_zone: eu-centralFor YAML, you can use yq instead of jq.
$ hcloud location list --output yaml | yq '.[] | [{"id": .id, "name": .name}]'
- id: 1
name: fsn1
- id: 2
name: nbg1
- id: 3
name: hel1
- id: 4
name: ash
- id: 5
name: hil
- id: 6
name: sinGo Template Format
describe commands support the Go string template format as well. You can read up on the syntax in the Go documentation. The data structures passed to the template are defined by our API and can be found in hcloud-go.
For example, you could obtain the number of cores of a server using the following command:
$ hcloud server describe my-server --output format='{{.ServerType.Cores}}'
2Table options
list commands support table options as well. These options allow you to customize the output format of the output table, if not using JSON or YAML.
[!NOTE]
You can also combine both of the below options to use them at once: `--output noheader --output columns=id,name,network_zone`noheader
This option removes the header from the output table.
$ hcloud location list --output noheader
1 fsn1 Falkenstein DC Park 1 eu-central DE Falkenstein
2 nbg1 Nuremberg DC Park 1 eu-central DE Nuremberg
3 hel1 Helsinki DC Park 1 eu-central FI Helsinki
4 ash Ashburn, VA us-east US Ashburn, VA
5 hil Hillsboro, OR us-west US Hillsboro, OR
6 sin Singapore ap-southeast SG Singapore columns
This option allows you to filter by columns.
$ hcloud location list --output columns=id,name,network_zone
ID NAME NETWORK ZONE
1 fsn1 eu-central
2 nbg1 eu-central
3 hel1 eu-central
4 ash us-east
5 hil us-west
6 sin ap-southeastUsing the `--help` flag will show you a list of all available columns for this command. Note that these might include more than the default columns.
hcloud image
Manage Images
Options
-h, --help help for imageOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud image add-label - Add a label to an Image
- hcloud image delete - Delete an Image
- hcloud image describe - Describe an Image
- hcloud image disable-protection - Disable resource protection for an Image
- hcloud image enable-protection - Enable resource protection for an Image
- hcloud image list - List Images
- hcloud image remove-label - Remove a label from an Image
- hcloud image update - Update an Image
hcloud storage-box-type
View Storage Box Types
Options
-h, --help help for storage-box-typeOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud storage-box-type describe - Describe a Storage Box Type
- hcloud storage-box-type list - List Storage Box Types
hcloud network
Manage Networks
Options
-h, --help help for networkOptions inherited from parent commands
--config string Config file path (default "~/.config/hcloud/cli.toml")
--context string Currently active context
--debug Enable debug output
--debug-file string File to write debug output to
--endpoint string Hetzner Cloud API endpoint (default "https://api.hetzner.cloud/v1")
--hetzner-endpoint string Hetzner API endpoint (default "https://api.hetzner.com/v1")
--no-experimental-warnings If true, experimental warnings are not shown
--poll-interval duration Interval at which to poll information, for example action progress (default 500ms)
--quiet If true, only print error messagesSEE ALSO
- hcloud - Hetzner Cloud CLI
- hcloud network add-label - Add a label to a Network
- hcloud network add-route - Add a route to a Network
- hcloud network add-subnet - Add a subnet to a Network
- hcloud network change-ip-range - Change the IP range of a Network
- hcloud network create - Create a Network
- hcloud network delete - Delete a network
- hcloud network describe - Describe a Network
- hcloud network disable-protection - Disable resource protection for a Network
- hcloud network enable-protection - Enable resource protection for a Network
- hcloud network expose-routes-to-vswitch - Expose routes to connected vSwitch
- hcloud network list - List Networks
- hcloud network remove-label - Remove a label from a Network
- hcloud network remove-route - Remove a route from a Network
- hcloud network remove-subnet - Remove a subnet from a Network
- hcloud network update - Update a Network.
To enable or disable exposing routes to the vSwitch connection you can use the subcommand "hcloud network expose-routes-to-vswitch".