Compare commits

..

2 Commits

Author SHA1 Message Date
a08e62e619 Implemented vds-goto 2022-04-22 18:54:37 +03:00
8bb993c59d Help and Dbaas.get() function 2022-04-22 18:39:34 +03:00

View File

@ -29,6 +29,7 @@ servers_app.add_typer(backups_app, name='backup', help='Create/Delete backup')
snapshot_app = typer.Typer()
servers_app.add_typer(snapshot_app, name='snap', help='Create/Rollback/Delete snapshot')
class Dbaas:
"""
DataBases As A Service
@ -43,6 +44,15 @@ class Dbaas:
return None
return result.json()
def get(db_id):
url = 'https://public-api.timeweb.com/api/v1/dbs/{db_id}'
result = requests.get(
url=url.format(db_id=db_id),
headers=reqHeader
)
if not result.ok:
return None
return result.json()
class Server:
@ -375,8 +385,8 @@ def get_balance():
@dbs_app.command("list")
def list_dbs():
"""
Show list of VDSes
ID, State, Name, IP, CPUs, Ram, Disk
Show list of DBs
ID, State, Name, IP, local IP, Password, Type
"""
list_of_dbaas = Dbaas.list()
x = PrettyTable()
@ -411,6 +421,21 @@ def list_dbs():
print(x)
@servers_app.command("goto")
def vds_goto(vds_id: Optional[int] = typer.Argument(None),
port: int = typer.Option(22, help="Specify non standart SSH port.")):
"""
Connect via SSH to VDS
"""
if vds_id is None:
vds_list()
vds_id = input("Enter VDS ID: ")
vds = Server.get_vds(vds_id)
ip = vds['server']['ip']
os.system('ssh -p {port} root@{ip}'.format(port=port, ip=ip))
@servers_app.command("start")
def vds_start(vds_id: Optional[int] = typer.Argument(None)):