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.1.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.1-py3-none-any.whl (53.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netcupctl-0.6.1.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.1.tar.gz
Algorithm Hash digest
SHA256 2a3e5369083cc192bd8c5d64e4a21855180470641bf95c424b8b000c004eb3e5
MD5 d9edb0b3655f5d891ea4b24af7db1734
BLAKE2b-256 109506233db2c0a2b7351296532ee6a9a73f3170bc82e9774e35feacf03889c1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: netcupctl-0.6.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8301ae19bccf7deaf8eee316e87753887d0625d874ce9dd86dc7b8a43999ba6f
MD5 285c7824aec7188a47f78905f8e63be5
BLAKE2b-256 f467e350dbec63bb3ec2a8523fd87de34138a2ea0a99bba29c509866f9715575

See more details on using hashes here.

Provenance

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