diff --git a/test/cosmos.py b/test/cosmos.py index 774ce824ac9bd0450fd0cf7130c3b6b2069de332..43a724cf6b06403beef4d0ae3807093b15202c84 100755 --- a/test/cosmos.py +++ b/test/cosmos.py @@ -6,6 +6,7 @@ import os import re import requests import socket +from tabulate import tabulate from time import sleep @@ -113,15 +114,38 @@ def get_droplet(id: int): return response['droplet'] +def list_domain_records(domain: str, verbose: bool = False): + """List domain records for given domain.""" + records = get_domain_records(domain) + + if verbose: + print(json.dumps(records, sort_keys=True, indent=2)) + + table_records = [] + for record in records: + table_records.append([ + record['id'], + record['name'], + record['type'], + record['data']]) + print(tabulate(table_records, headers=['ID', 'Name', 'Type', 'Data'])) + + def list_droplets(verbose: bool = False): """List all droplets by their ID, Name, IP and state.""" droplets = get_droplets() + if verbose: print(json.dumps(droplets, sort_keys=True, indent=2)) + + table_records = [] for droplet in droplets: - print(droplet['id'], ' ', droplet['name'], ' ', - droplet['networks']['v4'][0]['ip_address'], - ' ', droplet['status']) + table_records.append([ + droplet['id'], + droplet['name'], + droplet['networks']['v4'][0]['ip_address'], + droplet['status']]) + print(tabulate(table_records, headers=['ID', 'Name', 'IPv4', 'Status'])) def shutdown_droplet(id: int):