CLI client for netcup Server Control Panel REST API
Project description
netcupctl
Manage your netcup vServers and root servers from the command line with automatic OAuth2 authentication and intuitive commands.
Disclaimer: This is an unofficial, community-developed tool and is not affiliated with, endorsed by, or supported by netcup GmbH. Use at your own risk.
Installation
Requirements
- Python 3.8 or higher
- A netcup customer account with vServer or root server products
Install
# From PyPI
pip install netcupctl
# Or from source
git clone https://github.com/DS09AT/netcupctl.git
cd netcupctl
pip install .
Quick Start
1. Login
First, authenticate with your netcup account:
netcupctl auth login
This will open your browser for authentication. After successful login, tokens are stored locally.
2. List Your Servers
netcupctl servers list
3. Get Server Details
netcupctl servers get <server-id>
4. Manage Server State
# Check server status
netcupctl servers status <server-id>
# Start a server
netcupctl servers start <server-id>
# Stop a server (graceful shutdown)
netcupctl servers stop <server-id>
# Force power off (hard shutdown)
netcupctl servers poweroff <server-id>
# Reboot a server
netcupctl servers reboot <server-id>
Available Commands
All commands support --help to show usage details and available options:
netcupctl --help # Show all commands
netcupctl servers --help # Show server commands
netcupctl servers start --help # Show command details
Overview
Authentication & Server Management
netcupctl auth login | logout | status- OAuth2 authenticationnetcupctl servers list | get | status | start | stop | poweroff | reboot <server-id>- Server controlnetcupctl ping- API health checknetcupctl maintenance- Maintenance status
Storage & Snapshots
netcupctl disks list | get | drivers | set-driver | format <server-id> [disk]- Disk managementnetcupctl snapshots list | get | create | delete | revert | export | dryrun <server-id> [name]- Snapshot operationsnetcupctl storage show | optimize <server-id>- Storage optimization
Network & Firewall
netcupctl interfaces list | get | create | update | delete <server-id> [mac]- Network interfacesnetcupctl vlans list | get | update <vlan-id>- VLAN managementnetcupctl rdns get | set | delete <server-id> <ip>- Reverse DNSnetcupctl failover-ips list | get | update <id>- Failover IP managementnetcupctl firewall show | set | reapply | restore <server-id>- Firewall rulesnetcupctl firewall-policies list | get | create | update | delete [id]- Firewall policies
Monitoring & Logs
netcupctl logs <server-id>- Server logsnetcupctl metrics cpu | disk | network | network-packets <server-id>- Resource metricsnetcupctl tasks list | get | cancel [task-id]- Task managementnetcupctl user-logs- User activity logs
Images & ISOs
netcupctl images list | show | install | install-custom <server-id>- OS image managementnetcupctl custom-images list | get | upload | delete [key]- Custom image uploadnetcupctl iso images | show | mount | unmount <server-id>- ISO mountingnetcupctl custom-isos list | get | upload | delete [key]- Custom ISO upload
Security & Access
netcupctl ssh-keys list | add | delete [key-id]- SSH key managementnetcupctl rescue show | enable | disable <server-id>- Rescue systemnetcupctl guest-agent show | enable | disable <server-id>- Guest agent controlnetcupctl users get | update- User profile management
Utilities
netcupctl spec update | show- OpenAPI specification management
Output Formats
Use --format to control output. Default is list.
# List format (default) - human-readable key-value
netcupctl servers list
# Table format - columnar layout
netcupctl --format table servers list
# JSON format - for scripting
netcupctl --format json servers list | jq '.[] | .hostname'
# YAML format - for configuration management
netcupctl --format yaml servers list
API Documentation
License
MIT License. See LICENSE.md for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netcupctl-0.5.0.tar.gz.
File metadata
- Download URL: netcupctl-0.5.0.tar.gz
- Upload date:
- Size: 31.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c692110c07fe0b26b836033f33a52b9dece31e7a68aa56a3f3b71a464cf783f
|
|
| MD5 |
8abae18a3c23e7ce60bf7e339c8f7d10
|
|
| BLAKE2b-256 |
ceec4d0674259ac42f6aee555ca62156f0f060457fbde6e17c7914aa97a3a967
|
Provenance
The following attestation bundles were made for netcupctl-0.5.0.tar.gz:
Publisher:
publish.yml on DS09AT/netcupctl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netcupctl-0.5.0.tar.gz -
Subject digest:
1c692110c07fe0b26b836033f33a52b9dece31e7a68aa56a3f3b71a464cf783f - Sigstore transparency entry: 815416955
- Sigstore integration time:
-
Permalink:
DS09AT/netcupctl@0272fbbe29a8d5a9621a22d266be13e082f2b804 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/DS09AT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0272fbbe29a8d5a9621a22d266be13e082f2b804 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netcupctl-0.5.0-py3-none-any.whl.
File metadata
- Download URL: netcupctl-0.5.0-py3-none-any.whl
- Upload date:
- Size: 46.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2641f6c3283e07071a23e91d24ed6fac980da1254f2eaa1a8e22613315bf7eb3
|
|
| MD5 |
07b5b75eedb50db44fffd03500331b38
|
|
| BLAKE2b-256 |
f80b332d106593412f2a903dcc24a3a077e99dd0be26be2b0534d62374c5d027
|
Provenance
The following attestation bundles were made for netcupctl-0.5.0-py3-none-any.whl:
Publisher:
publish.yml on DS09AT/netcupctl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netcupctl-0.5.0-py3-none-any.whl -
Subject digest:
2641f6c3283e07071a23e91d24ed6fac980da1254f2eaa1a8e22613315bf7eb3 - Sigstore transparency entry: 815416962
- Sigstore integration time:
-
Permalink:
DS09AT/netcupctl@0272fbbe29a8d5a9621a22d266be13e082f2b804 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/DS09AT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0272fbbe29a8d5a9621a22d266be13e082f2b804 -
Trigger Event:
push
-
Statement type: