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 .

Update

# From PyPI
pip install --upgrade netcupctl

# Or from source
git pull
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 | ensure - OAuth2 authentication
  • netcupctl servers list | get | status | start | stop | poweroff | reboot | gpu-driver <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 | configure | reapply | restore | cleanup <server-id> <mac> - Firewall rules
  • netcupctl firewall-policies list | get | create | update | upsert | 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 | me - 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

netcupctl-0.6.0.tar.gz (37.9 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.6.0-py3-none-any.whl (53.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for netcupctl-0.6.0.tar.gz
Algorithm Hash digest
SHA256 22e582882a4be67413eb60ceef7c8078a3006168573207db28a89066abebf609
MD5 5c3d3d35dfd6740bb16487da2e3d71cf
BLAKE2b-256 19bc82af821a46adca4ef71781be9d5f3b2600491bb052f120cae354696e8c49

See more details on using hashes here.

Provenance

The following attestation bundles were made for netcupctl-0.6.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.6.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for netcupctl-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a8579a3db708b649bb2aa48ecb8e03c619730b4803f1df170e4324f08c8309a
MD5 16ce7bad2071353a83b1a2b45f4258bb
BLAKE2b-256 0b17bdc5964d820af908f65eba4474bd9ace2442a5de723916703c1f83676729

See more details on using hashes here.

Provenance

The following attestation bundles were made for netcupctl-0.6.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