A lightweight Python wrapper for the SolusVM client API.
Project description
A lightweight Python wrapper for the SolusVM client API.
Features
Query a host’s memory, bandwidth, IP addresses and storage usage.
Configurable to work with any SolusVM provider.
Demo
import beam
# get a list of hosts using above 90% of their memory
hosts = [host for host in beam.hosts()
if host.memory.used_percentage > .9]
# get a list of hosts with less than 10 GiB of storage left
hosts = [host for host in beam.hosts()
if host.storage.free_bytes < 1024 ** 3 * 10]
Setup
Run pip install beam to download the module.
Create your .beam.ini inventory file.
Inventory
The inventory file holds information about your hosting provider(s) and host(s), so beam knows how to contact the relevant API endpoints and what credentials to use. Here’s a sample file:
[special:vendors]
ramnode = https://vpscp.ramnode.com
fliphost = https://solus.fliphost.net
default = ramnode
[nyc-1]
key = nyc-1_host_key
hash = nyc-1_host_hash
[ams-1]
key = ams-1_host_key
hash = ams-1_host_hash
vendor = fliphost
This file defines two hosts, nyc-1, hosted with RamNode, and ams-1, hosted with FlipHost. At the top are the vendor names in a special vendors section (all other sections are assumed to represent hosts). The format maps a vendor name to their base endpoint for the SolusVM API. The default directive indicates the implicit vendor of every host, and must be specified if more than one vendor is defined.
Each host has its own section. The correct key and hash values can be optained from the SolusVM control panel used by your vendor. If a host is not provided by the default vendor, a vendor directive specifies the correct one.
Roadmap
Implement .boot(), .reboot() and .shutdown() for hosts.
Generate documentation.
Etymology
Although “solus” means alone, that’s a tad depressing. Solus also conjures up images of the sun for me. The sun beams down - and the name was available on PyPI - so beam it was.
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
File details
Details for the file beam-0.2.0.tar.gz
.
File metadata
- Download URL: beam-0.2.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fbe52239d08f893247cad4b023d1a341fff43d8e769ad005adaba5928afb5c6 |
|
MD5 | 620ecb784b2ff63dbf73a60b98942791 |
|
BLAKE2b-256 | 607d92b8cf01e80dbeafebb83055c170f8f22cca31974c1a0b5370b5da030b9b |