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

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 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'

# 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.5.0.tar.gz (31.6 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.5.0-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

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

Hashes for netcupctl-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1c692110c07fe0b26b836033f33a52b9dece31e7a68aa56a3f3b71a464cf783f
MD5 8abae18a3c23e7ce60bf7e339c8f7d10
BLAKE2b-256 ceec4d0674259ac42f6aee555ca62156f0f060457fbde6e17c7914aa97a3a967

See more details on using hashes here.

Provenance

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

Hashes for netcupctl-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2641f6c3283e07071a23e91d24ed6fac980da1254f2eaa1a8e22613315bf7eb3
MD5 07b5b75eedb50db44fffd03500331b38
BLAKE2b-256 f80b332d106593412f2a903dcc24a3a077e99dd0be26be2b0534d62374c5d027

See more details on using hashes here.

Provenance

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