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

# Start a server
netcupctl servers start <server-id>

# Stop a server
netcupctl servers stop <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 | start | stop | 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.1.0.tar.gz (27.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.1.0-py3-none-any.whl (41.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netcupctl-0.1.0.tar.gz
  • Upload date:
  • Size: 27.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.1.0.tar.gz
Algorithm Hash digest
SHA256 faa9de750c3b0dad3c7154ebcb94536a60f5d9b446c58d336d4f26958109833d
MD5 fbb441fa211e8103567ff7d2af35ba43
BLAKE2b-256 e13afc700049f72f968d5eefea8a7f13b3a5c95c4e350285fc80bc7abbc68b27

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: netcupctl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 41.7 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de398b7873faf277e329c1af45f7cc6a5a900adc7fa3ad502c0ec3535fb1c61e
MD5 ba918a01346bbf9233f3f4b1146457f9
BLAKE2b-256 ddc39b14526141af885f4266398b6487748d0e55bd2ef4efab44fd28fe6b2f1d

See more details on using hashes here.

Provenance

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