mirror of
https://github.com/OVERLORD7F/SVMU.git
synced 2025-10-01 21:52:47 +03:00
Complete menus overhaul
This commit is contained in:
@@ -2,15 +2,18 @@ import os
|
||||
import requests
|
||||
from domain_api import *
|
||||
from rich.prompt import Prompt
|
||||
from rich.console import Console , Align
|
||||
|
||||
def disk_edit_mode(base_url , api_key , data_pool_uuid , vm_uuids):
|
||||
print("\033[H\033[2J", end="")
|
||||
print("### DISK EDIT MODE ###\n")
|
||||
print("1) Delete vDisk by UUID")
|
||||
print("2) Delete ALL vDisks on selected Virtual Machine")
|
||||
print("3) Create Disk")
|
||||
print("4) Prepare VMs for Courses™")
|
||||
print("\nENTER - return to Utility Main Menu ")
|
||||
def disk_edit_mode(base_url , api_key , data_pool_uuid , vm_uuids):
|
||||
os.system('cls' if os.name=='nt' else 'clear')
|
||||
diks_edit_menu_options="[gold bold][1] [grey53 italic]Delete vDisk by UUID\n[/grey53 italic] \
|
||||
\n[gold bold][2] [grey53 italic]Delete ALL vDisks on selected Virtual Machine[/grey53 italic]\n \
|
||||
\n[gold bold][3] [grey53 italic]Create Disk[/grey53 italic]\n \
|
||||
\n[gold bold][4] [grey53 italic]Prepare VMs for Courses™[/grey53 italic]\n \
|
||||
\n\n[green_yellow bold]ENTER - return to Main Menu"
|
||||
diks_edit_menu_options = Align.center(diks_edit_menu_options, vertical="middle")
|
||||
console = Console()
|
||||
console.print(Panel(diks_edit_menu_options, title="[bold red]Disk Edit Mode" , border_style="magenta" , width=150 , padding = 2))
|
||||
sub_choice=str(input("\n>>> "))
|
||||
if sub_choice == "1":
|
||||
read_input=input("Input vDisk uuid to delete: ")
|
||||
@@ -25,7 +28,7 @@ def disk_edit_mode(base_url , api_key , data_pool_uuid , vm_uuids):
|
||||
disk_uuids = get_disk_uuids(base_url , api_key , domain_all_content)
|
||||
for x in disk_uuids:
|
||||
delete_disk(base_url , api_key , x)
|
||||
print("All attached vDisks has been deleted!")
|
||||
console.print("[bold red]All attached vDisks has been deleted!")
|
||||
|
||||
if sub_choice == "3":
|
||||
vdisk_size=str(input("Enter disk size (GB): "))
|
||||
@@ -35,7 +38,8 @@ def disk_edit_mode(base_url , api_key , data_pool_uuid , vm_uuids):
|
||||
create_and_attach_disk(base_url , api_key , vm_uuids[select_uuids] , data_pool_uuid , vdisk_size , "falloc")
|
||||
|
||||
if sub_choice == "4":
|
||||
print("#" * 5 , "Preparing VMs for Courses" , "#" * 5)
|
||||
os.system('cls' if os.name=='nt' else 'clear')
|
||||
console.rule(title="[bold magenta]Preparing VMs for Courses" , align="center" , style="grey53" , characters = "=")
|
||||
for y in vm_uuids: #power-on check
|
||||
domain_uuid = y.strip('\n')
|
||||
vm_check_power(base_url , api_key , domain_uuid)
|
||||
@@ -48,15 +52,16 @@ def disk_edit_mode(base_url , api_key , data_pool_uuid , vm_uuids):
|
||||
disk_uuids = get_disk_uuids(base_url , api_key , domain_all_content)
|
||||
for y in disk_uuids:
|
||||
delete_disk(base_url , api_key , y)
|
||||
print("All attached vDisks has been deleted!")
|
||||
console.print("[bold red]All attached vDisks has been deleted!")
|
||||
for z in vm_uuids: # only for creating disks
|
||||
domain_uuid = z.strip('\n')
|
||||
print(f"\nCreating and attaching disk to VM {domain_uuid}")
|
||||
console.print(f"\n[bold underline yellow]Creating and attaching disk to VM {domain_uuid}")
|
||||
domain_info = get_domain_info(base_url , api_key , domain_uuid)
|
||||
domain_all_content = get_domain_all_content(base_url , api_key , domain_uuid)
|
||||
if domain_info:
|
||||
create_and_attach_disk(base_url , api_key , domain_uuid , data_pool_uuid, 10, "falloc")
|
||||
create_and_attach_disk(base_url , api_key , domain_uuid , data_pool_uuid, 20, "falloc")
|
||||
create_and_attach_disk(base_url , api_key , domain_uuid , data_pool_uuid, 20, "falloc")
|
||||
print("Done. Happy virtualization :D")
|
||||
Prompt.ask("[green_yellow bold]Press ENTER to proceed.. :right_arrow_curving_down:")
|
||||
console.print("[bold green]\nDone. Happy virtualization :thumbs_up::thumbs_up:")
|
||||
Prompt.ask("[green_yellow bold]ENTER - return to Main Menu.. :right_arrow_curving_down:")
|
||||
os.system('cls' if os.name=='nt' else 'clear')
|
Reference in New Issue
Block a user