Compare commits

..

1 Commits

Author SHA1 Message Date
Nick Chambers 562df63895 Implement a partial billing command 2022-08-21 18:37:10 -05:00
8 changed files with 21 additions and 29 deletions

View File

@ -1,4 +1,5 @@
import vultron.cmd
import vultron.display
class Account(vultron.cmd.Command):
"""Query for account information."""

View File

@ -1,8 +1,6 @@
import vultron.cmd
class Application(vultron.cmd.Command):
"""Query for information on Vultr applications."""
def init(self):
self.needs_api_key = False

View File

@ -1,8 +1,6 @@
import vultron.cmd
class Backup(vultron.cmd.Command):
"""Query for information on instance backups."""
def vultron_list(self):
"""Display all stored snapshots."""

15
vultron/cmds/billing.py Normal file
View File

@ -0,0 +1,15 @@
import vultron.cmd
class Billing(vultron.cmd.Command):
def vultron_list(self): # == billing history list (lists all payments and voices)
"""Display all billing history."""
billing = self.api.get("billing", "history")
return billing["billing_history"]
def vultron_invoices(self): # == billing invoice list
invoices = self.api.get("billing", "invoices")
return invoices["billing_invoices"]
# billing invoice get <id> is a specific entry from vultron_invoices
# billing invoice items <id> gets all entries of the invoice

View File

@ -1,32 +1,9 @@
import os
import vultron.cmd
import vultron.display
class Help(vultron.cmd.Command):
"""This help message."""
def init(self):
self.needs_api_key = False
def vultron_help(self):
"""This help message."""
prog = os.path.basename(self.prog)
cmds = vultron.cmd.Command.__subclasses__()
print(f"usage: {prog} [options] <cmd>")
print()
print("About:")
print("High-vultage API client for the vultrtual cloud.")
print()
# FIXME: print global options here
print("Commands:")
for cmd in cmds:
name = cmd.__name__.lower()
if cmd.__doc__ is None:
print(f"\t{name}")
else:
print(f"\t{name} - {cmd.__doc__}")
print("stub help message here")

View File

@ -1,4 +1,5 @@
import vultron.cmd
import vultron.display
class Region(vultron.cmd.Command):
"""Query for information on Vultr regions."""

View File

@ -1,4 +1,5 @@
import vultron.cmd
import vultron.display
class Vpc(vultron.cmd.Command):
"""Query for information on VPCs."""

View File

@ -2,6 +2,7 @@ import click
import os
import sys
import vultron.cmd
import vultron.display
import vultron.err
from vultron.cmds import *