Skip to main content

CLI client for netcup Server Control Panel REST API

Project description

netcupctl

Python 3.8+ License: MIT

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

Use netcupctl <command> --help to see all available options and flags.

Overview

Authentication & Server Management

  • netcupctl auth login | logout | status - OAuth2 authentication
  • netcupctl servers list | get | status | start | stop | poweroff | reboot <server-id> - Server control
  • netcupctl ping - API health check
  • netcupctl maintenance - Maintenance status

Storage & Snapshots

  • netcupctl disks list | get | drivers | set-driver | format <server-id> [disk] - Disk management
  • netcupctl snapshots list | get | create | delete | revert | export | dryrun <server-id> [name] - Snapshot operations
  • netcupctl storage show | optimize <server-id> - Storage optimization

Network & Firewall

  • netcupctl interfaces list | get | create | update | delete <server-id> [mac] - Network interfaces
  • netcupctl vlans list | get | update <vlan-id> - VLAN management
  • netcupctl rdns get | set | delete <server-id> <ip> - Reverse DNS
  • netcupctl failover-ips list | get | update <id> - Failover IP management
  • netcupctl firewall show | set | reapply | restore <server-id> - Firewall rules
  • netcupctl firewall-policies list | get | create | update | delete [id] - Firewall policies

Monitoring & Logs

  • netcupctl logs <server-id> - Server logs
  • netcupctl metrics cpu | disk | network | network-packets <server-id> - Resource metrics
  • netcupctl tasks list | get | cancel [task-id] - Task management
  • netcupctl user-logs - User activity logs

Images & ISOs

  • netcupctl images list | show | install | install-custom <server-id> - OS image management
  • netcupctl custom-images list | get | upload | delete [key] - Custom image upload
  • netcupctl iso images | show | mount | unmount <server-id> - ISO mounting
  • netcupctl custom-isos list | get | upload | delete [key] - Custom ISO upload

Security & Access

  • netcupctl ssh-keys list | add | delete [key-id] - SSH key management
  • netcupctl rescue show | enable | disable <server-id> - Rescue system
  • netcupctl guest-agent show | enable | disable <server-id> - Guest agent control
  • netcupctl 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'

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

netcupctl-0.2.0.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netcupctl-0.2.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file netcupctl-0.2.0.tar.gz.

File metadata

  • Download URL: netcupctl-0.2.0.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netcupctl-0.2.0.tar.gz
Algorithm Hash digest
SHA256 89b1055364d08abe51a5c3c88c405561518f10340274db4cfa4e1276cb6f65b3
MD5 a8c11fd599f93d4fa2a0133a510f9664
BLAKE2b-256 34a38b020aaa47acc960e28b0d7da67a57c10080b1e097f24d63cd7ad02f15c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for netcupctl-0.2.0.tar.gz:

Publisher: publish.yml on DS09AT/netcupctl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netcupctl-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: netcupctl-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netcupctl-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dac0b5e0ec7d87d8da4174caaa969cec3f64ac7f0612a051a2b3e8900b99a34e
MD5 5a304d2f7a0e6e992476b838a76af9ff
BLAKE2b-256 16340fbca237d7f78ff81b6651c13aafd69bb57989bd9eb12d701d0a3fe5daa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for netcupctl-0.2.0-py3-none-any.whl:

Publisher: publish.yml on DS09AT/netcupctl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page