Hetzner Cloud Storage
Volumes (Block Storage)
Create a Volume
hcloud volume create [options] --name <name> --size <size>
Flags:
--name <name>- Volume name (required)--size <gb>- Size in GB (required)--server <server>- Server ID or name to attach to--location <location>- Location ID or name--automount- Automount Volume after attach (server must be provided)--format <ext4|xfs>- Format Volume after creation--label <key=value>- User-defined labels (can be specified multiple times)--enable-protection <delete>- Enable protection (value: delete)-o, --output json|yaml- Output format
List Volumes
hcloud volume list [options]
Columns: id, name, size, server, location, status, linux_device, age, created, labels, protection
Flags:
-l, --selector <label>- Filter by label selector-s, --sort <field>- Sort results-o, --output noheader|columns=...|json|yaml- Output options
Describe a Volume
hcloud volume describe [options] <volume>
Flags:
-o, --output json|yaml|format- Output format
Delete Volumes
hcloud volume delete <volume>...
Accepts one or more volume IDs or names.
Update a Volume
hcloud volume update [options] <volume>
Flags:
--name <name>- New volume name
Attach a Volume to a Server
hcloud volume attach [--automount] --server <server> <volume>
Flags:
--server <server>- Server ID or name (required)--automount- Automount Volume after attach
Detach a Volume
hcloud volume detach <volume>
Resize a Volume
hcloud volume resize --size <size> <volume>
Flags:
--size <gb>- New size in GB (required)
Labels and Protection
Add Label
hcloud volume add-label [--overwrite] <volume> <label>...
Labels use key=value format.
Flags:
-o, --overwrite- Overwrite if label key already exists
Remove Label
hcloud volume remove-label <volume> (--all | <label>...)
Flags:
-a, --all- Remove all labels
Enable Protection
hcloud volume enable-protection <volume> delete
Disable Protection
hcloud volume disable-protection <volume> delete
Storage Boxes
Create a Storage Box
hcloud storage-box create [options] --name <name> --type <type> --location <location> --password <password>
Flags:
--name <name>- Storage Box name (required)--type <type>- Storage Box Type ID or name (required)--location <location>- Location ID or name (required)--password <password>- Password for the Storage Box (required)--enable-samba- Enable Samba subsystem--enable-ssh- Enable SSH subsystem--enable-webdav- Enable WebDAV subsystem--enable-zfs- Enable ZFS Snapshot folder visibility--reachable-externally- Allow access from outside the Hetzner network--ssh-key <key>- SSH public key in OpenSSH format or SSH key ID/name (can be specified multiple times)--label <key=value>- User-defined labels (can be specified multiple times)--enable-protection <delete>- Enable protection (value: delete)-o, --output json|yaml- Output format
List Storage Boxes
hcloud storage-box list [options]
Columns: id, name, size, location, status, system, type, username, server, age, created, labels
Flags:
-l, --selector <label>- Filter by label selector-s, --sort <field>- Sort results-o, --output noheader|columns=...|json|yaml- Output options
Describe a Storage Box
hcloud storage-box describe [options] <storage-box>
Flags:
-o, --output json|yaml|format- Output format
Delete Storage Boxes
hcloud storage-box delete <storage-box>...
Accepts one or more Storage Box IDs or names.
Update a Storage Box
hcloud storage-box update [options] <storage-box>
Flags:
--name <name>- New Storage Box name
Change Storage Box Type
hcloud storage-box change-type <storage-box> <storage-box-type>
Upgrades or downgrades to another Storage Box Type. Cannot downgrade to a type with less disk space than currently used.
Update Access Settings
hcloud storage-box update-access-settings [options] <storage-box>
Flags:
--enable-samba- Enable or disable Samba subsystem (true, false)--enable-ssh- Enable or disable SSH subsystem (true, false)--enable-webdav- Enable or disable WebDAV subsystem (true, false)--enable-zfs- Enable or disable ZFS Snapshot folder visibility (true, false)--reachable-externally- Allow or disallow access from outside the Hetzner network (true, false)
Reset Password
hcloud storage-box reset-password --password <password> <storage-box>
Flags:
--password <password>- New password for the Storage Box
List Folders
hcloud storage-box folders <storage-box>
Flags:
--path <path>- Relative path for which the listing is to be made-o, --output json|yaml- Output format
Automatic Snapshot Plan
Enable Snapshot Plan
hcloud storage-box enable-snapshot-plan [options] <storage-box>
Flags:
--hour <hour>- Hour the plan executes (UTC)--minute <minute>- Minute the plan executes (UTC)--day-of-week <day>- Day of the week (Sun-Sat, 0-7)--day-of-month <day>- Day of the month--max-snapshots <count>- Maximum snapshots to retain
Disable Snapshot Plan
hcloud storage-box disable-snapshot-plan <storage-box>
Labels and Protection
Add Label
hcloud storage-box add-label [--overwrite] <storage-box> <label>...
Labels use key=value format.
Flags:
-o, --overwrite- Overwrite if label key already exists
Remove Label
hcloud storage-box remove-label <storage-box> (--all | <label>...)
Flags:
-a, --all- Remove all labels
Enable Protection
hcloud storage-box enable-protection <storage-box> delete
Disable Protection
hcloud storage-box disable-protection <storage-box> delete
Storage Box Subaccounts
Create a Subaccount
hcloud storage-box subaccount create [options] --password <password> --home-directory <home-directory> <storage-box>
Flags:
--password <password>- Subaccount password (required)--home-directory <dir>- Home directory for the Subaccount (required)--name <name>- Subaccount name--description <text>- Subaccount description--enable-samba- Enable Samba subsystem--enable-ssh- Enable SSH subsystem--enable-webdav- Enable WebDAV subsystem--reachable-externally- Allow access from outside the Hetzner network--readonly- Make the Subaccount read-only--label <key=value>- User-defined labels (can be specified multiple times)-o, --output json|yaml- Output format
List Subaccounts
hcloud storage-box subaccount list [options] <storage-box>
Columns: id, name, username, description, home_directory, server, age, created, labels
Flags:
-l, --selector <label>- Filter by label selector-s, --sort <field>- Sort results-o, --output noheader|columns=...|json|yaml- Output options
Describe a Subaccount
hcloud storage-box subaccount describe [options] <storage-box> <subaccount>
Flags:
-o, --output json|yaml|format- Output format
Delete Subaccounts
hcloud storage-box subaccount delete <storage-box> <subaccount>...
Accepts one or more subaccount IDs or names.
Update a Subaccount
hcloud storage-box subaccount update [options] <storage-box> <subaccount>
Flags:
--name <name>- New subaccount name--description <text>- New subaccount description
Update Subaccount Access Settings
hcloud storage-box subaccount update-access-settings [options] <storage-box> <subaccount>
Flags:
--enable-samba- Enable or disable Samba subsystem (true, false)--enable-ssh- Enable or disable SSH subsystem (true, false)--enable-webdav- Enable or disable WebDAV subsystem (true, false)--reachable-externally- Allow or disallow access from outside the Hetzner network (true, false)--readonly- Make the Subaccount read-only or writable (true, false)
Change Subaccount Home Directory
hcloud storage-box subaccount change-home-directory --home-directory <home-directory> <storage-box> <subaccount>
Flags:
--home-directory <dir>- New home directory (will be created if it does not exist)
Reset Subaccount Password
hcloud storage-box subaccount reset-password --password <password> <storage-box> <subaccount>
Flags:
--password <password>- New password for the Subaccount
Storage Box Snapshots
Create a Snapshot
hcloud storage-box snapshot create [options] <storage-box>
Flags:
--description <text>- Snapshot description--label <key=value>- User-defined labels (can be specified multiple times)-o, --output json|yaml- Output format
List Snapshots
hcloud storage-box snapshot list [options] <storage-box>
Columns: id, name, description, size, size_filesystem, is_automatic, age, created, labels
Flags:
--automatic- Only show automatic snapshots (true, false)-l, --selector <label>- Filter by label selector-s, --sort <field>- Sort results-o, --output noheader|columns=...|json|yaml- Output options
Describe a Snapshot
hcloud storage-box snapshot describe [options] <storage-box> <snapshot>
Flags:
-o, --output json|yaml|format- Output format
Delete Snapshots
hcloud storage-box snapshot delete <storage-box> <snapshot>...
Accepts one or more snapshot IDs or names.
Update a Snapshot
hcloud storage-box snapshot update [options] <storage-box> <snapshot>
Flags:
--description <text>- New snapshot description
Rollback to a Snapshot
hcloud storage-box rollback-snapshot --snapshot <snapshot> <storage-box>
Rolls back the Storage Box to the given Snapshot.
Flags:
--snapshot <snapshot>- The name or ID of the snapshot to roll back to (required)
Snapshot Labels
Add Label
hcloud storage-box snapshot add-label [--overwrite] <storage-box> <snapshot> <label>...
Labels use key=value format.
Flags:
-o, --overwrite- Overwrite if label key already exists
Remove Label
hcloud storage-box snapshot remove-label <storage-box> <snapshot> (--all | <label>...)
Flags:
-a, --all- Remove all labels
Storage Box Types (Read-Only)
List Storage Box Types
hcloud storage-box-type list [options]
Columns: id, name, description, size, snapshot_limit, subaccounts_limit, automatic_snapshot_limit, deprecated
Flags:
-l, --selector <label>- Filter by label selector-s, --sort <field>- Sort results-o, --output noheader|columns=...|json|yaml- Output options
Describe a Storage Box Type
hcloud storage-box-type describe [options] <storage-box-type>
Flags:
-o, --output json|yaml|format- Output format