From a96829bd8083f36602fdce1bce9ea5e7343f6a6f Mon Sep 17 00:00:00 2001 From: konsthol Date: Tue, 28 Mar 2023 19:00:50 +0300 Subject: [PATCH] hey, what's that over there?! --- README.md | 3 +- .../images/demo/aws-instance-terminated.png | Bin 0 -> 244113 bytes assets/pages/demo/demo.md | 6 + requirements.txt | 1 + secdep.py | 340 ++++++++++-------- 5 files changed, 198 insertions(+), 152 deletions(-) create mode 100644 assets/images/demo/aws-instance-terminated.png diff --git a/README.md b/README.md index 7dd9413..4012303 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ For AWS you firstly need an [account](https://aws.amazon.com/account/) and then # Dependencies 📦 -We would have 4 external dependecies but due to missing functionality in libcloud when it comes to Azure management we need 7. +We would have 3 core external dependecies but due to missing functionality in libcloud when it comes to Azure management we need 6 of them. The rest are just quality of life dependecies 🏖️ 1. [libcloud](https://github.com/apache/libcloud) which is the main dependency to connect to the cloud providers 2. [python-dotenv](https://github.com/theskumar/python-dotenv) which is used to read the `.env` file @@ -70,6 +70,7 @@ We would have 4 external dependecies but due to missing functionality in libclou 2. [azure-mgmt-resource](https://pypi.org/project/azure-mgmt-resource/) to manage Azure resources 3. [azure-mgmt-network](https://pypi.org/project/azure-mgmt-network/) to manage Azure networks 5. [shtab](https://github.com/iterative/shtab) which is used to generate bash and zsh completion scripts +6. [rich](https://github.com/Textualize/rich) which is used to make the output more colorful and easier to read # Installation 🛠️ diff --git a/assets/images/demo/aws-instance-terminated.png b/assets/images/demo/aws-instance-terminated.png new file mode 100644 index 0000000000000000000000000000000000000000..badf5d4092ae3b896fbe9218c3033a1972fff92a GIT binary patch literal 244113 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≥zUJphYQj~U+(2h|Y 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

EE6%zkZK_oPgaS7{+e|b6> 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

    nsNK)DeSmgTl!=u;Fa$I5t6WAoX%3a|& zzk%#_aBpH^Do2L^$gwZ;E|q3edJ>Z8zT>9i;8=1r_)C__yPrjeie#mDe*cc9ADREg zv`E$}EC+O#kN#^yII%esFwtisCKrKhe}nLY00s5xyuBa9y8LBiWum5`g?^S}MgW5K0yW0si;4lc3sltKc$l4W-92!27ejZnlkJk)Jx!QkK}&M zCaC&Be0pWPl}!xb>5}~_RSJo9W!G=AT8!~d1uGlcDIA#2J67khGDBV&IfCF9OZKM* z3yFBakISK%OPbd&`$i0t(R06Q96J=roY(RNy+ul##&AGBH0^bB1Kn4~dXxkgUpQwt zVSp+wvUXQ1!0?xnwk68FxqAF2n7n$CtkMY^T#P$rA3j6jGbdH3(%0A5wPOXkTkq!V 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 literal 0 HcmV?d00001 diff --git a/assets/pages/demo/demo.md b/assets/pages/demo/demo.md index 68be8ac..6149727 100644 --- a/assets/pages/demo/demo.md +++ b/assets/pages/demo/demo.md @@ -1,5 +1,11 @@ # Examples and output +### Actual outputs are more polished than the ones shown here (e.g. colors, better formatting, etc.) + +One example of the modern output is shown bellow: + +![Modern Output](../../images/demo/aws-instance-terminated.png) + ## Instance listing 🪧 `python3 secdep.py -l` diff --git a/requirements.txt b/requirements.txt index 94f96a6..ec57e21 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,4 @@ azure-mgmt-resource==22.0.0 paramiko==2.11.1 python-dotenv==1.0.0 shtab==1.5.8 +rich==13.3.3 diff --git a/secdep.py b/secdep.py index 546e866..e2a9a66 100755 --- a/secdep.py +++ b/secdep.py @@ -25,6 +25,12 @@ import shtab import time import paramiko import socket +from rich import pretty +from rich.console import Console +from rich.prompt import Prompt +from rich.prompt import Confirm +from rich.progress import track +from rich.status import Status from dotenv import load_dotenv from libcloud.compute.types import Provider from libcloud.compute.providers import get_driver @@ -34,6 +40,9 @@ from azure.identity import ClientSecretCredential from azure.mgmt.resource import ResourceManagementClient from azure.mgmt.network import NetworkManagementClient from azure.mgmt.network.v2022_07_01.models import SecurityRule +console = Console() # Better and more flexible print +prompt = Prompt() # Better and more flexible input +pretty.install() # Declare the ENV_FILE variable as such to always reside in the same directory as the script # We use os.path.join to make sure the path is correct for every OS @@ -79,7 +88,15 @@ parser.add_argument('-init', '--init', help='Initialize a specific provider\'s v args = parser.parse_args() def show_version(): - print("SecDep - Automated secure docker services deployment\nVersion: v1.0.0\nRepo: https://git.konsthol.eu/konsthol/SecDep") + console.print(''' + ____ ____ +/ ___| ___ ___| _ \ ___ _ __ +\___ \ / _ \/ __| | | |/ _ \ '_ \ + ___) | __/ (__| |_| | __/ |_) | +|____/ \___|\___|____/ \___| .__/ + |_| + ''',style="bold cyan") + console.print("[bold cyan]SecDep[/bold cyan] - Automated secure docker services deployment\n[bold cyan]Version[/bold cyan]: v1.0.0\n[bold cyan]Repo[/bold cyan]: [u]https://git.konsthol.eu/konsthol/SecDep[/u]", style="bold blue") if args.version: show_version() @@ -151,12 +168,12 @@ if os.stat(ENV_FILE).st_size == 0: f.write('SECDEP_AZURE_APP_ID=\n') f.write('SECDEP_AZURE_PASSWORD=\n') case _: - print("Invalid provider") + console.print("Invalid provider", style="bold red") else: - print('You will be asked for each needed value\nIf you want to skip a provider press enter on each of their values because they are all needed for authentication\nIf at some point you delete the provider\'s value entry you will once again be asked to enter it\nIf you pressed enter by mistake or inserted an incorrect value just edit the file directly or delete the corresponding line\nThere is also the choice of using the -e option to have that done interactively') + console.print('[bold white]You will be asked for each needed value\nIf you want to skip a provider press enter on each of their values because they are all needed for authentication\nIf at some point you delete the provider\'s value entry you will once again be asked to enter it\nIf you pressed enter by mistake or inserted an incorrect value just edit the file directly or delete the corresponding line\nThere is also the choice of using the [u]-e[/u] option to have that done interactively[/bold white]') if os.stat(ENV_FILE).st_size != 0 and args.init: - print("The init flag was only meant to be optionally run once and only in the first run if you knew you were going to be using only one provider. If you need to change or populate a provider\'s needed values use the --edit or -e flag instead") + console.print("[bold red]The init flag was only meant to be optionally run once and only in the first run if you knew you were going to be using only one provider.[/bold red] [bold white]If you need to change or populate a provider\'s needed values use the [u]--edit[/u] or [u]-e[/u] flag instead[/bold white]") exit(0) # We search for these values in the ENV_FILE and for each not found, we prompt the user to enter it @@ -166,39 +183,39 @@ if os.stat(ENV_FILE).st_size != 0 and args.init: with open(ENV_FILE, 'r') as f: env_file_content = f.read() if 'SECDEP_GCE_CLIENT_ID' not in env_file_content: - SECDEP_GCE_CLIENT_ID = input("Enter your GCE_CLIENT_ID: ") + SECDEP_GCE_CLIENT_ID = prompt.ask("[bold white]Enter your [u]GCE_CLIENT_ID[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_GCE_CLIENT_ID={}\n'.format(SECDEP_GCE_CLIENT_ID)) if 'SECDEP_GCE_CLIENT_SECRET' not in env_file_content: - SECDEP_GCE_CLIENT_SECRET = input("Enter your GCE_CLIENT_SECRET: ") + SECDEP_GCE_CLIENT_SECRET = prompt.ask("[bold white]Enter your [u]GCE_CLIENT_SECRET[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_GCE_CLIENT_SECRET={}\n'.format(SECDEP_GCE_CLIENT_SECRET)) if 'SECDEP_GCE_PROJECT_ID' not in env_file_content: - SECDEP_GCE_PROJECT_ID = input("Enter your GCE_PROJECT_ID: ") + SECDEP_GCE_PROJECT_ID = prompt.ask("[bold white]Enter your [u]GCE_PROJECT_ID[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_GCE_PROJECT_ID={}\n'.format(SECDEP_GCE_PROJECT_ID)) if 'SECDEP_AZURE_TENANT_ID' not in env_file_content: - SECDEP_AZURE_TENANT_ID = input("Enter your AZURE_TENANT_ID: ") + SECDEP_AZURE_TENANT_ID = prompt.ask("[bold white]Enter your [u]AZURE_TENANT_ID[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_AZURE_TENANT_ID={}\n'.format(SECDEP_AZURE_TENANT_ID)) if 'SECDEP_AZURE_SUB_ID' not in env_file_content: - SECDEP_AZURE_SUB_ID = input("Enter your AZURE_SUB_ID: ") + SECDEP_AZURE_SUB_ID = prompt.ask("[bold white]Enter your [u]AZURE_SUB_ID[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_AZURE_SUB_ID={}\n'.format(SECDEP_AZURE_SUB_ID)) if 'SECDEP_AZURE_APP_ID' not in env_file_content: - SECDEP_AZURE_APP_ID = input("Enter your AZURE_APP_ID: ") + SECDEP_AZURE_APP_ID = prompt.ask("[bold white]Enter your [u]AZURE_APP_ID[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_AZURE_APP_ID={}\n'.format(SECDEP_AZURE_APP_ID)) if 'SECDEP_AZURE_PASSWORD' not in env_file_content: - SECDEP_AZURE_PASSWORD = input("Enter your AZURE_PASSWORD: ") + SECDEP_AZURE_PASSWORD = prompt.ask("[bold white]Enter your [u]AZURE_PASSWORD[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_AZURE_PASSWORD={}\n'.format(SECDEP_AZURE_PASSWORD)) if 'SECDEP_AWS_ACCESS_KEY' not in env_file_content: - SECDEP_AWS_ACCESS_KEY = input("Enter your AWS_ACCESS_KEY: ") + SECDEP_AWS_ACCESS_KEY = prompt.ask("[bold white]Enter your [u]AWS_ACCESS_KEY[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_AWS_ACCESS_KEY={}\n'.format(SECDEP_AWS_ACCESS_KEY)) if 'SECDEP_AWS_SECRET_KEY' not in env_file_content: - SECDEP_AWS_SECRET_KEY = input("Enter your AWS_SECRET_KEY: ") + SECDEP_AWS_SECRET_KEY = prompt.ask("[bold white]Enter your [u]AWS_SECRET_KEY[/u] [/bold white]") with open(ENV_FILE, 'a') as f: f.write('SECDEP_AWS_SECRET_KEY={}\n'.format(SECDEP_AWS_SECRET_KEY)) @@ -257,9 +274,9 @@ def update_env_file(): for line in file_entries: count += 1 print("{}) {}".format(count, line)) - print("Choosing 0 will exit the function") - print("You will be asked to enter the new value until it is valid or you enter 0") - choice = input("Choose the entry you want to update: ") + console.print("Choosing [u]0[/u] will exit the function", style="bold white") + console.print("You will be asked to enter the new value [u]until it is valid[/u] or you enter [u]0[/u]", style="bold white") + choice = prompt.ask("[bold white]Choose the entry you want to update [/bold white]") try: choice = int(choice) if choice > count or choice < 0: @@ -275,11 +292,11 @@ def update_env_file(): entry_value = entry.split('=')[1] if entry_value == '': entry_value = 'None' - print("The current value for {} is {}".format(entry_name, entry_value)) - new_value = input("Enter the new value: ") + console.print("[bold white]The current value for {} is {}[/bold white]".format(entry_name, entry_value)) + new_value = prompt.ask("[bold white]Enter the new value [/bold white]") with open(ENV_FILE, 'w') as f: f.write(env_file_content.replace(entry, "{}={}".format(entry_name, new_value))) - print("The value for {} was updated successfully".format(entry_name)) + console.print("[bold white]The value for {} was updated successfully[/bold white]".format(entry_name)) update_env_file() # Reload the environment variables # That was setup this way because the initial thought was exiting manually but it will stay that way just in case we do end up making it like so @@ -574,21 +591,27 @@ global providers_quantity def get_gce_driver(): if SECDEP_GCE_CLIENT_SECRET !="" and SECDEP_GCE_PROJECT_ID !="" and SECDEP_GCE_CLIENT_ID !="": driver = get_driver(Provider.GCE) - print("Trying to authenticate with google...\n") + console.print("Trying to authenticate with google...\n", style="bold white") + for step in track(range(1)): + pass return driver(SECDEP_GCE_CLIENT_ID, SECDEP_GCE_CLIENT_SECRET, project=SECDEP_GCE_PROJECT_ID) # Get Azure driver def get_azure_driver(): if SECDEP_AZURE_TENANT_ID !="" and SECDEP_AZURE_SUB_ID !="" and SECDEP_AZURE_APP_ID !="" and SECDEP_AZURE_PASSWORD !="": driver = get_driver(Provider.AZURE_ARM) - print("Trying to authenticate with azure...\n") + console.print("Trying to authenticate with azure...\n", style="bold white") + for step in track(range(1)): + pass return driver(tenant_id=SECDEP_AZURE_TENANT_ID, subscription_id=SECDEP_AZURE_SUB_ID, key=SECDEP_AZURE_APP_ID, secret=SECDEP_AZURE_PASSWORD) # Get AWS driver def get_aws_driver(): if SECDEP_AWS_ACCESS_KEY !="" and SECDEP_AWS_SECRET_KEY !="": driver = get_driver(Provider.EC2) - print("Trying to authenticate with amazon...\n") + console.print("Trying to authenticate with amazon...\n", style="bold white") + for step in track(range(1)): + pass return driver(SECDEP_AWS_ACCESS_KEY, SECDEP_AWS_SECRET_KEY) # We need to know the quantity to print the loading percentage when getting the list of all the nodes @@ -619,13 +642,13 @@ def get_corresponding_driver(provider): case "aws": driver = aws_driver case _: - print("Invalid provider") + console.print("Invalid provider", style="bold red") assert driver is not None, "You need to set all {} environment variables first".format(provider.upper()) return driver # This function takes a provider arguement and lists all the available sizes def list_provider_sizes(provider): - print("Getting "+provider+" sizes...") + console.print("Getting "+provider+" sizes...", style="bold white") driver = get_corresponding_driver(provider) if provider == "aws" or provider == "gce": sizes = driver.list_sizes(location=None) @@ -635,30 +658,31 @@ def list_provider_sizes(provider): sizes = driver.list_sizes(location=azlocation) sizes = [size for size in sizes if size.ram < 16384] count = 0 - print("Available "+provider+" sizes") + console.print("Available "+provider+" sizes", style="bold white") if provider == "aws": for size in sizes: count += 1 - print("{}) {}\n\nRam: {}\nDisk: {}\nBandwidth: {}\nPrice: {}\n".format(count, size.name, size.ram, size.disk, size.bandwidth, size.price)) + console.print("[bold white]{}) {}\n\n[/bold white][bold blue]Ram: {}[/bold blue]\n[bold cyan]Disk: {}[/bold cyan]\n[bold magenta]Bandwidth: {}[/bold magenta]\n[bold yellow]Price: {}[/bold yellow]\n".format(count, size.name, size.ram, size.disk, size.bandwidth, size.price)) elif provider == "gce": for size in sizes: count += 1 - print("{}) {}\n\n{}\nPrice: {}\n".format(count, size.name, size.extra['description'], size.price)) + console.print("[bold white]{}) {}\n\n[/bold white][italic white]{}[/italic white]\n[bold yellow]Price: {}[/bold yellow]\n".format(count, size.name, size.extra['description'], size.price)) else: for size in sizes: count += 1 - print("{}) {}\n\nRam: {}\nDisk: {}\nPrice: {}\n".format(count, size.name, size.ram, size.disk, size.price)) + console.print("[bold white]{}) {}\n\n[/bold white][bold blue]Ram: {}[/bold blue]\n[bold cyan]Disk: {}[/bold cyan]\n[bold yellow]Price: {}[/bold yellow]\n".format(count, size.name, size.ram, size.disk, size.price)) return sizes # This function takes a provider arguement and lists all the available locations def list_provider_locations(provider): - print("Getting "+provider+" locations...") + console.print("Getting "+provider+" locations...", style="bold white") driver = get_corresponding_driver(provider) locations = driver.list_locations() count = 0 - print("Available "+provider+" locations") + console.print("Available "+provider+" locations", style="bold white") if provider == "aws": - print("Still loading...") + status = Status("[bold white]Still loading...[/bold white]", spinner="dots") + status.start() locations = [] awsLocations = ["ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "eu-central-1", "eu-north-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"] for region in awsLocations: @@ -666,45 +690,49 @@ def list_provider_locations(provider): specificAwsLocations = awsdr.list_locations() for item in specificAwsLocations: locations.append(item) + status.stop() for location in locations: count += 1 - print("{}) {}\n\nRegion name: {}\nCountry: {}\n".format(count, location.name, location.availability_zone.region_name, location.country)) + console.print("[bold white]{}) {}\n\n[/bold white][bold cyan]Region name: {}[/bold cyan]\n[bold blue]Country: {}[/bold blue]\n".format(count, location.name, location.availability_zone.region_name, location.country)) else: for location in locations: count += 1 - print("{}) {}\n\nCountry: {}\n".format(count, location.name, location.country)) + console.print("[bold white]{}) {}\n\n[/bold white][bold blue]Country: {}\n[/bold blue]".format(count, location.name, location.country)) return locations def listAWSregions(list): count = 0 - print("Available aws regions:") + console.print("Available aws regions:", style="bold white") for item in list: count += 1 - print("{}) {}".format(count, item)) + console.print("[bold white]{}) {}[/bold white]".format(count, item)) return list # This function lists all available images from the providers. def list_provider_images(provider,images=None): driver = get_corresponding_driver(provider) - print("Getting images from " +provider+"...") + console.print("Getting images from " +provider+"...", style="bold white") if provider == "azure": images = AZURE_images elif provider == "aws": images = AWS_images else: + status = Status("[bold white]Still loading...[/bold white]", spinner="dots") + status.start() images = driver.list_images() + status.stop() # We filter out the images we do not care about images = list(filter(lambda x: 'windows' not in x.name.lower() and 'cos' not in x.name.lower() and 'arm64' not in x.name.lower() and 'byos' not in x.name.lower() and 'sap' not in x.name.lower(), images)) count = 0 - print("Available "+provider+" images") + console.print("Available "+provider+" images", style="bold white") if provider == "azure" or provider == "aws": for image in images: count += 1 - print("{}) {}".format(count, image)) + console.print("[bold white]{}) {}[/bold white]".format(count, image)) else: for image in images: count += 1 - print("{}) {}\n\n{}\n".format(count, image.name, image.extra['description'])) + console.print("[bold white]{}) {}\n\n[/bold white][italic white]{}[/italic white]\n".format(count, image.name, image.extra['description'])) return images # This function gets called in every get function to create a menu for selection @@ -715,33 +743,33 @@ def choose_from_list(listFromlistFunction,listName): print("No items") exit(0) if listName == "awsLocation": - printFormat = "{}) {}\n\nRegion name: {}\nCountry: {}\n" - printstring = "print(printFormat.format(count, item.name, item.availability_zone.region_name, item.country))" + printFormat = "[bold white]{}) {}\n\n[/bold white][bold cyan]Region name: {}[/bold cyan]\n[bold blue]Country: {}[/bold blue]\n" + printstring = "console.print(printFormat.format(count, item.name, item.availability_zone.region_name, item.country))" elif listName == "azureLocation" or listName == "gceLocation": - printFormat = "{}) {}\n\nCountry: {}\n" - printstring = "print(printFormat.format(count, item.name, item.country))" + printFormat = "[bold white]{}) {}\n\n[/bold white][bold blue]Country: {}\n[/bold blue]" + printstring = "console.print(printFormat.format(count, item.name, item.country))" elif listName == "awsSize": - printFormat = "{}) {}\n\nRam: {}\nDisk: {}\nBandwidth: {}\nPrice: {}\n" - printstring = "print(printFormat.format(count, item.name, item.ram, item.disk, item.bandwidth, item.price))" + printFormat = "[bold white]{}) {}\n\n[/bold white][bold blue]Ram: {}[/bold blue]\n[bold cyan]Disk: {}[/bold cyan]\n[bold magenta]Bandwidth: {}[/bold magenta]\n[bold yellow]Price: {}[/bold yellow]\n" + printstring = "console.print(printFormat.format(count, item.name, item.ram, item.disk, item.bandwidth, item.price))" elif listName == "gceSize": - printFormat = "{}) {}\n\n{}\nPrice: {}\n" - printstring = "print(printFormat.format(count, item.name, item.extra['description'], item.price))" + printFormat = "[bold white]{}) {}\n\n[/bold white][italic white]{}[/italic white]\n[bold yellow]Price: {}[/bold yellow]\n" + printstring = "console.print(printFormat.format(count, item.name, item.extra['description'], item.price))" elif listName == "azureSize": - printFormat = "{}) {}\n\nRam: {}\nDisk: {}\nPrice: {}\n" - printstring = "print(printFormat.format(count, item.name, item.ram, item.disk, item.price))" + printFormat = "[bold white]{}) {}\n\n[/bold white][bold blue]Ram: {}[/bold blue]\n[bold cyan]Disk: {}[/bold cyan]\n[bold yellow]Price: {}[/bold yellow]\n" + printstring = "console.print(printFormat.format(count, item.name, item.ram, item.disk, item.price))" elif listName == "awsImage" or listName == "azureImage" or listName == "awsRegion" or listName == "aws_region": - printFormat = "{}) {}" - printstring = "print(printFormat.format(count, item))" + printFormat = "[bold white]{}) {}[/bold white]" + printstring = "console.print(printFormat.format(count, item))" elif listName == "gceImage": - printFormat = "{}) {}\n\n{}\n" - printstring = "print(printFormat.format(count, item.name, item.extra['description']))" + printFormat = "[bold white]{}) {}\n\n[/bold white][italic white]{}[/italic white]\n" + printstring = "console.print(printFormat.format(count, item.name, item.extra['description']))" elif listName == "node": - printFormat = "{}) {}\n\nState: {}\nPublic IPs: {}\nPrivate IPs: {}\nDriver: {}\nSize: {}\nImage: {}\nCreation Date: {}\nExtra: {}\n" - printstring = "print(printFormat.format(count, item.name, item.state, item.public_ips, item.private_ips, item.driver, item.size, item.image, item.created_at, item.extra))" + printFormat = "[bold white]{}) {}[/bold white]\n\n[bold cyan]State: {}[/bold cyan]\n[bold magenta]Public IPs: {}[/bold magenta]\n[bold blue]Private IPs: {}[/bold blue]\n[bold white]Driver: {}[/bold white]\n[bold cyan]Size: {}[/bold cyan]\n[bold magenta]Image: {}[/bold magenta]\n[bold blue]Creation Date: {}[/bold blue]\n[bold white]Extra: [/bold white]{}\n" + printstring = "console.print(printFormat.format(count, item.name, item.state, item.public_ips, item.private_ips, item.driver, item.size, item.image, item.created_at, item.extra))" compiled_code = compile(printstring,"","exec") - print("Choosing 0 will exit") - choice = input("Choose the "+listName+" you want to use: ") + console.print("Choosing 0 will exit", style="bold white") + choice = prompt.ask("[bold white]Choose the "+listName+" you want to use [/bold white]") while True: try: choice = int(choice) @@ -769,9 +797,9 @@ def choose_from_list(listFromlistFunction,listName): for item in listFromlistFunction: count += 1 exec(compiled_code) - print("Invalid choice") - print("Choosing 0 will exit") - choice = input("Choose the "+listName+" you want to use: ") + console.print("[u]Invalid[/u] choice", style="bold red") + console.print("Choosing 0 will exit", style="bold white") + choice = prompt.ask("[bold white]Choose the "+listName+" you want to use [/bold white]") # This function gets a provider location and returns it def get_provider_location(provider): @@ -839,7 +867,7 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi auth = NodeAuthSSHKey(pubkey) # Check if name was given and if not prompt the user to give one if name is None: - name = input("Enter the name of the node: ") + name = prompt.ask("[bold white]Enter the name of the node [/bold white]") assert name != "", "Name is empty" name = provider+"-"+name else: @@ -868,7 +896,7 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi locationName.append(loc.id) # If it was not found prompt the user for selection if location not in locationName: - print("Invalid Location") + console.print("[u]Invalid Location[/u]", style="bold red") location = get_provider_location(provider) assert location is not None, "Location is None" else: @@ -886,7 +914,7 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi for siz in sizes: sizeName.append(siz.name) if size not in sizeName: - print("Invalid Size") + console.print("[u]Invalid[/u] Size", style="bold red") size = get_provider_size(provider) assert size is not None, "Size is None" else: @@ -925,10 +953,11 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi for ami in amis: imageName.append(ami) if image not in imageName: - print("Invalid Image") + console.print("[u]Invalid[/u] Image", style="bold red") image = get_provider_image(provider) # If the image given was not in the list of valid values we must get the actual image and the region from the ami to get the correct driver if provider == "aws": + assert image is not None, "Image is None" ami = image.id region = getAWSRegionFromAmi(ami) dr = get_corresponding_driver(provider) @@ -963,23 +992,23 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi driver = get_driver(Provider.EC2)(SECDEP_AWS_ACCESS_KEY, SECDEP_AWS_SECRET_KEY, region=region) # If the user did not input the -y or --yes flag then we output the current choices for a second though if confirm is False: - print("\nName: %s\n" % (name)) + console.print("[bold white]\nName: %s\n[/bold white]" % (name)) # There is a differentiation between aws and the other providers in region and location if provider == "aws": - print("\nLocation: %s\n" % (region)) + console.print("[bold white]\nLocation: %s\n[/bold white]" % (region)) else: - print("\nLocation: %s\n" % (location)) - print("\nSize: %s\n" % (size)) - print("\nImage: %s\n" % (image)) - print("Type yes if you want to confirm your choices") - confirm = input("Continue? ") + console.print("[bold white]\nLocation: %s\n[/bold white]" % (location)) + console.print("[bold white]\nSize: [/bold white]%s\n" % (size)) + console.print("[bold white]\nImage: [/bold white]%s\n" % (image)) + console.print("Type yes if you want to confirm your choices", style="bold white") + confirm = Confirm.ask("[bold white]Continue? [/bold white]") # Any input other than yes does not continue the node creation - assert confirm == "yes", "User did not confirm" + assert confirm, "User did not confirm" if provider == "gce": gceNodes = driver.list_nodes() for gceNode in gceNodes: if gceNode.name == name: - print("A node with that name already exists under this project, please choose another one") + console.print("A node with that name already exists under this project, please choose [u]another[/u] one", style="bold red") exit(0) existIn = False firewalls = driver.ex_list_firewalls() @@ -992,17 +1021,17 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi if args.deploy: actualDeployScript = ScriptFileDeployment(script_file=SECDEP_DEPLOY_SCRIPT, args=args.deploy, name="harden", delete=True) node = driver.deploy_node(name=name, image=image, size=size, location=location, ex_service_accounts=sa_scopes, ex_metadata=metadata, deploy=actualDeployScript, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_username="secdep") - print('harden stdout: %s' % (actualDeployScript.stdout)) - print('harden stderr: %s' % (actualDeployScript.stderr)) - print('harden exit_code: %s' % (actualDeployScript.exit_status)) + console.print('[bold white]harden stdout: %s[/bold white]' % (actualDeployScript.stdout)) + console.print('[bold red]harden stderr: %s[/bold red]' % (actualDeployScript.stderr)) + console. print('[bold white]harden exit_code: %s[/bold white]' % (actualDeployScript.exit_status)) else: node = driver.create_node(name=name, image=image, size=size, location=location, ex_service_accounts=sa_scopes, ex_metadata=metadata) elif provider == "azure": - print("Keep in mind azure node creation may take a while because we need to create all the needed resources first") + console.print("Keep in mind azure node creation may take a while because we need to create all the needed resources first", style="bold white") res_groups = driver.ex_list_resource_groups() for res_group in res_groups: if res_group.name == name+"-res_group": - print("A resource group with that name already exists, please try a different virtual machine name to differentiate the resource group name") + console.print("A resource group with that name already exists, please try a [u]different[/u] virtual machine name to differentiate the resource group name", style="bold red") exit(0) credential = ClientSecretCredential(client_id=SECDEP_AZURE_APP_ID, client_secret=SECDEP_AZURE_PASSWORD, tenant_id=SECDEP_AZURE_TENANT_ID) subscription_id = SECDEP_AZURE_SUB_ID @@ -1025,7 +1054,7 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi ex_network = network break else: - print("Could not find the virtual network. Maybe it was not created correctly?") + console.print("Could not find the virtual network. Maybe it was not created correctly?", style="bold red") # Get Virtual Network's default subnet we created subnet = driver.ex_list_subnets(network=ex_network)[0] # Create public ip @@ -1047,9 +1076,9 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi if args.deploy: actualDeployScript = ScriptFileDeployment(script_file=SECDEP_DEPLOY_SCRIPT, args=args.deploy, name="harden", delete=True) node = driver.deploy_node(name=name, size=size, image=image, location=location, auth=auth, ex_user_name="secdep", ex_resource_group=res_group.name, ex_use_managed_disks=True, ex_nic=newnic, ex_os_disk_delete=True, deploy=actualDeployScript, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_username="secdep") - print('harden stdout: %s' % (actualDeployScript.stdout)) - print('harden stderr: %s' % (actualDeployScript.stderr)) - print('harden exit_code: %s' % (actualDeployScript.exit_status)) + console.print('[bold white]harden stdout: %s[/bold white]' % (actualDeployScript.stdout)) + console.print('[bold red]harden stderr: %s[/bold red]' % (actualDeployScript.stderr)) + console.print('[bold white]harden exit_code: %s[/bold white]' % (actualDeployScript.exit_status)) else: node = driver.create_node(name=name, size=size, image=image, location=location, auth=auth, ex_user_name="secdep", ex_resource_group=res_group.name, ex_use_managed_disks=True, ex_nic=newnic, ex_os_disk_delete=True) else: @@ -1083,24 +1112,24 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi actualDeployScript = ScriptFileDeployment(script_file=SECDEP_DEPLOY_SCRIPT, args=args.deploy, name="harden", delete=True) msd = MultiStepDeployment([deploy, actualDeployScript]) node = driver.deploy_node(name=name, image=image, size=size, ex_keyname=keyname, deploy=msd, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_alternate_usernames=["admin", "ec2-user", "centos", "fedora", "ubuntu"]) - print('deploy stdout: %s' % (deploy.stdout)) - print('deploy stderr: %s' % (deploy.stderr)) - print('deploy exit_code: %s' % (deploy.exit_status)) - print('harden stdout: %s' % (actualDeployScript.stdout)) - print('harden stderr: %s' % (actualDeployScript.stderr)) - print('harden exit_code: %s' % (actualDeployScript.exit_status)) + console.print('[bold white]deploy stdout: %s[/bold white]' % (deploy.stdout)) + console.print('[bold red]deploy stderr: %s[/bold red]' % (deploy.stderr)) + console.print('[bold white]deploy exit_code: %s[/bold white]' % (deploy.exit_status)) + console.print('[bold white]harden stdout: %s[/bold white]' % (actualDeployScript.stdout)) + console.print('[bold red]harden stderr: %s[/bold red]' % (actualDeployScript.stderr)) + console.print('[bold white]harden exit_code: %s[/bold white]' % (actualDeployScript.exit_status)) else: node = driver.deploy_node(name=name, image=image, size=size, ex_keyname=keyname, deploy=deploy, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_alternate_usernames=["admin", "ec2-user", "centos", "fedora", "ubuntu"]) - print('deploy stdout: %s' % (deploy.stdout)) - print('deploy stderr: %s' % (deploy.stderr)) - print('deploy exit_code: %s' % (deploy.exit_status)) + console.print('[bold white]deploy stdout: %s[/bold white]' % (deploy.stdout)) + console.print('[bold red]deploy stderr: %s[/bold red]' % (deploy.stderr)) + console.print('[bold white]deploy exit_code: %s[/bold white]' % (deploy.exit_status)) else: # When the -y or --yes parameter is passed we go straight to the node creation if provider == "gce": gceNodes = driver.list_nodes() for gceNode in gceNodes: if gceNode.name == name: - print("A node with that name already exists under this project, please choose another one") + cosole.print("A node with that name already exists under this project, please choose [u]another[/u] one", style="bold red") exit(0) existIn = False firewalls = driver.ex_list_firewalls() @@ -1113,17 +1142,17 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi if args.deploy: actualDeployScript = ScriptFileDeployment(script_file=SECDEP_DEPLOY_SCRIPT, args=args.deploy, name="harden", delete=True) node = driver.deploy_node(name=name, image=image, size=size, location=location, ex_service_accounts=sa_scopes, ex_metadata=metadata, deploy=actualDeployScript, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_username="secdep") - print('harden stdout: %s' % (actualDeployScript.stdout)) - print('harden stderr: %s' % (actualDeployScript.stderr)) - print('harden exit_code: %s' % (actualDeployScript.exit_status)) + console.print('[bold white]harden stdout: %s[/bold white]' % (actualDeployScript.stdout)) + console.print('[bold red]harden stderr: %s[/bold red]' % (actualDeployScript.stderr)) + console. print('[bold white]harden exit_code: %s[/bold white]' % (actualDeployScript.exit_status)) else: node = driver.create_node(name=name, image=image, size=size, location=location, ex_service_accounts=sa_scopes, ex_metadata=metadata) elif provider == "azure": - print("Keep in mind azure node creation may take a while because we need to create all the needed resources first") + console.print("Keep in mind azure node creation may take a while because we need to create all the needed resources first", style="bold white") res_groups = driver.ex_list_resource_groups() for res_group in res_groups: if res_group.name == name+"-res_group": - print("A resource group with that name already exists, please try a different virtual machine name to differentiate the resource group name") + console.print("A resource group with that name already exists, please try a [u]different[/u] virtual machine name to differentiate the resource group name", style="bold red") exit(0) credential = ClientSecretCredential(client_id=SECDEP_AZURE_APP_ID, client_secret=SECDEP_AZURE_PASSWORD, tenant_id=SECDEP_AZURE_TENANT_ID) subscription_id = SECDEP_AZURE_SUB_ID @@ -1146,7 +1175,7 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi ex_network = network break else: - print("Could not find the virtual network. Maybe it was not created correctly?") + console.print("Could not find the virtual network. Maybe it was not created correctly?", style="bold red") # Get Virtual Network's default subnet we created subnet = driver.ex_list_subnets(network=ex_network)[0] # Create public ip @@ -1168,9 +1197,9 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi if args.deploy: actualDeployScript = ScriptFileDeployment(script_file=SECDEP_DEPLOY_SCRIPT, args=args.deploy, name="harden", delete=True) node = driver.deploy_node(name=name, size=size, image=image, location=location, auth=auth, ex_user_name="secdep", ex_resource_group=res_group.name, ex_use_managed_disks=True, ex_nic=newnic, ex_os_disk_delete=True, deploy=actualDeployScript, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_username="secdep") - print('harden stdout: %s' % (actualDeployScript.stdout)) - print('harden stderr: %s' % (actualDeployScript.stderr)) - print('harden exit_code: %s' % (actualDeployScript.exit_status)) + console.print('[bold white]harden stdout: %s[/bold white]' % (actualDeployScript.stdout)) + console.print('[bold red]harden stderr: %s[/bold red]' % (actualDeployScript.stderr)) + console.print('[bold white]harden exit_code: %s[/bold white]' % (actualDeployScript.exit_status)) else: node = driver.create_node(name=name, size=size, image=image, location=location, auth=auth, ex_user_name="secdep", ex_resource_group=res_group.name, ex_use_managed_disks=True, ex_nic=newnic, ex_os_disk_delete=True) else: @@ -1204,56 +1233,58 @@ def create_node(provider, name=None, location=None, size=None, image=None, confi actualDeployScript = ScriptFileDeployment(script_file=SECDEP_DEPLOY_SCRIPT, args=args.deploy, name="harden", delete=True) msd = MultiStepDeployment([deploy, actualDeployScript]) node = driver.deploy_node(name=name, image=image, size=size, ex_keyname=keyname, deploy=msd, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_alternate_usernames=["admin", "ec2-user", "centos", "fedora", "ubuntu"]) - print('deploy stdout: %s' % (deploy.stdout)) - print('deploy stderr: %s' % (deploy.stderr)) - print('deploy exit_code: %s' % (deploy.exit_status)) - print('harden stdout: %s' % (actualDeployScript.stdout)) - print('harden stderr: %s' % (actualDeployScript.stderr)) - print('harden exit_code: %s' % (actualDeployScript.exit_status)) + console.print('[bold white]deploy stdout: %s[/bold white]' % (deploy.stdout)) + console.print('[bold red]deploy stderr: %s[/bold red]' % (deploy.stderr)) + console.print('[bold white]deploy exit_code: %s[/bold white]' % (deploy.exit_status)) + console.print('[bold white]harden stdout: %s[/bold white]' % (actualDeployScript.stdout)) + console.print('[bold red]harden stderr: %s[/bold red]' % (actualDeployScript.stderr)) + console.print('[bold white]harden exit_code: %s[/bold white]' % (actualDeployScript.exit_status)) else: node = driver.deploy_node(name=name, image=image, size=size, ex_keyname=keyname, deploy=deploy, ssh_key=SECDEP_SSH_PRIVATE_KEY, ssh_alternate_usernames=["admin", "ec2-user", "centos", "fedora", "ubuntu"]) - print('deploy stdout: %s' % (deploy.stdout)) - print('deploy stderr: %s' % (deploy.stderr)) - print('deploy exit_code: %s' % (deploy.exit_status)) - print(node.name + " created successfully") - print("Node is initializing") - print("ip to connect to") - print("\nIP: %s" % (node.public_ips[0])) - print("ssh command:") + console.print('[bold white]deploy stdout: %s[/bold white]' % (deploy.stdout)) + console.print('[bold red]deploy stderr: %s[/bold red]' % (deploy.stderr)) + console.print('[bold white]deploy exit_code: %s[/bold white]' % (deploy.exit_status)) + console.print(node.name + " created successfully", style="bold white") + console.print("Node is initializing, please wait...", style="bold white") + console.print("ip to connect to", style="bold white") + console.print("[bold white]\nIP: %s[/bold white]" % (node.public_ips[0])) + console.print("[u]ssh command:[/u]", style="bold white") if args.deploy: - print("\nssh -p 22100 -i %s secdep@%s\n" % (SECDEP_SSH_PRIVATE_KEY, node.public_ips[0])) + console.print("[bold white]\nssh -p 22100 -i %s secdep@%s\n[/bold white]" % (SECDEP_SSH_PRIVATE_KEY, node.public_ips[0])) else: - print("\nssh -i %s secdep@%s\n" % (SECDEP_SSH_PRIVATE_KEY, node.public_ips[0])) + console.print("[bold white]\nssh -i %s secdep@%s\n[/bold white]" % (SECDEP_SSH_PRIVATE_KEY, node.public_ips[0])) return node def list_all_nodes(provider, filterIn=None, awsRegion=None): - print("Getting all nodes...") - print("Loading 0%...") + console.print("Getting all nodes...", style="bold white") + status = Status("[bold white]Please wait...[/bold white]", spinner="dots") + status.start() + console.print("Loading 0%...", style="bold white") nodes = [] if provider is None: if SECDEP_GCE_CLIENT_ID != "": - print("Getting GCE nodes...") + console.print("Getting GCE nodes...", style="bold white") driver = get_corresponding_driver("gce") gceNodes = driver.list_nodes() if len(gceNodes) > 0: for node in gceNodes: nodes.append(node) - print("Loading %s%%..." % (int((1/providers_quantity)*100))) + console.print("[bold white]Loading %s%%...[/bold white]" % (int((1/providers_quantity)*100))) else: - print("Skipping gce") + console.print("Skipping gce", style="bold red") if SECDEP_AZURE_APP_ID != "": - print("Getting AZURE nodes...") + console.print("Getting AZURE nodes...", style="bold white") driver2 = get_corresponding_driver("azure") azureNodes = driver2.list_nodes() if len(azureNodes) > 0: for node in azureNodes: nodes.append(node) - print("Loading %s%%..." % (int((2/providers_quantity)*100))) + console.print("[bold white]Loading %s%%...[/bold white]" % (int((2/providers_quantity)*100))) else: - print("Skipping azure") + console.print("Skipping azure", style="bold red") if SECDEP_AWS_ACCESS_KEY != "": driver3 = get_corresponding_driver("aws") - print("Getting AWS nodes...") + console.print("Getting AWS nodes...", style="bold white") awsLocations = ["ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "eu-central-1", "eu-north-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"] for region in awsLocations: driver3 = get_driver(Provider.EC2)(SECDEP_AWS_ACCESS_KEY, SECDEP_AWS_SECRET_KEY, region=region) @@ -1262,35 +1293,38 @@ def list_all_nodes(provider, filterIn=None, awsRegion=None): if len(awsNodes) > 0: for node in awsNodes: nodes.append(node) - print("Loading %s%%..." % (int((3/providers_quantity)*100))) + console.print("[bold white]Loading %s%%...[/bold white]" % (int((3/providers_quantity)*100))) else: - print("Skipping aws") + console.print("Skipping aws", style="bold red") + status.stop() elif provider == "gce": if SECDEP_GCE_CLIENT_ID != "": - print("Getting GCE nodes...") + console.print("Getting GCE nodes...", style="bold white") driver = get_corresponding_driver("gce") gceNodes = driver.list_nodes() if len(gceNodes) > 0: for node in gceNodes: nodes.append(node) - print("Loading %s%%..." % (int((1/providers_quantity)*100))) + console.print("[bold white]Loading %s%%...[/bold white]" % (int((1/providers_quantity)*100))) else: - print("Skipping gce") + console.print("Skipping gce", style="bold red") + status.stop() elif provider == "azure": if SECDEP_AZURE_APP_ID != "": - print("Getting AZURE nodes...") + console.print("Getting AZURE nodes...", style="bold white") driver2 = get_corresponding_driver("azure") azureNodes = driver2.list_nodes() if len(azureNodes) > 0: for node in azureNodes: nodes.append(node) - print("Loading %s%%..." % (int((2/providers_quantity)*100))) + console.print("[bold white]Loading %s%%...[/bold white]" % (int((2/providers_quantity)*100))) else: - print("Skipping azure") + console.print("Skipping azure", style="bold red") + status.stop() elif provider == "aws": if SECDEP_AWS_ACCESS_KEY != "": driver3 = get_corresponding_driver("aws") - print("Getting AWS nodes...") + console.print("Getting AWS nodes...", style="bold white") awsLocations = ["ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "eu-central-1", "eu-north-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"] if awsRegion is None: for region in awsLocations: @@ -1310,12 +1344,13 @@ def list_all_nodes(provider, filterIn=None, awsRegion=None): if len(awsNodes) > 0: for node in awsNodes: nodes.append(node) - print("Loading %s%%..." % (int((3/providers_quantity)*100))) + console.print("[bold white]Loading %s%%...[/bold white]" % (int((3/providers_quantity)*100))) else: - print("Skipping aws") + console.print("Skipping aws", style="bold red") + status.stop() count = 0 if len(nodes) == 0: - print("No nodes") + console.print("No nodes", style="bold white") exit(0) # available states: running, rebooting, terminated, pending, stopped, suspended, paused, erro, unknown # for delete @@ -1332,7 +1367,7 @@ def list_all_nodes(provider, filterIn=None, awsRegion=None): nodes = list(filter(lambda x: 'running' in x.state.lower() or 'suspended' in x.state.lower() or 'paused' in x.state.lower(), nodes)) for node in nodes: count += 1 - print("{}) {}\n\nState: {}\nPublic IPs: {}\nPrivate IPs: {}\nDriver: {}\nSize: {}\nImage: {}\nCreation Date: {}\nExtra: {}\n".format(count, node.name, node.state, node.public_ips, node.private_ips, node.driver, node.size, node.image, node.created_at, node.extra)) + console.print("[bold white]{}) {}[/bold white]\n\n[bold cyan]State: {}[/bold cyan]\n[bold magenta]Public IPs: {}[/bold magenta]\n[bold blue]Private IPs: {}[/bold blue]\n[bold white]Driver: {}[/bold white]\n[bold cyan]Size: {}[/bold cyan]\n[bold magenta]Image: {}[/bold magenta]\n[bold blue]Creation Date: {}[/bold blue]\n[bold white]Extra: [/bold white]{}\n".format(count, node.name, node.state, node.public_ips, node.private_ips, node.driver, node.size, node.image, node.created_at, node.extra)) return nodes def get_node(provider, awsRegion=None): @@ -1342,7 +1377,7 @@ def get_node(provider, awsRegion=None): def node_action(action, provider, awsRegion=None): node = choose_from_list(list_all_nodes(provider, action, awsRegion), "node") if node is None: - print("Nothing was chosen") + console.print("Nothing was chosen", style="bold white") exit(0) providerName = node.name.split("-")[0] if providerName == "gce": @@ -1372,11 +1407,11 @@ def node_action(action, provider, awsRegion=None): print("Invalid action command") exit(0) if(succeded): - print("%s node %s -> successful" % (providerName.upper(), action)) + console.print("[bold white]%s node %s -> successful[/bold white]" % (providerName.upper(), action)) else: - print("%s node %s -> failed" % (providerName.upper(), action)) + console.print("[bold red]%s node %s -> failed[/bold red]" % (providerName.upper(), action)) if providerName == "azure" and action == "delete": - print("Deleting the corresponding resource group may take a while") + console.print("Deleting the corresponding resource group may take a while", style="bold white") poller = resource_client.resource_groups.begin_delete(node_name+"-res_group") result = poller.result() @@ -1413,11 +1448,11 @@ def node_action_all(action, provider, awsRegion=None): print("Invalid action command") exit(0) if(succeded): - print("%s node %s -> successful" % (node.name, string)) + console.print("[bold white]%s node %s -> successful[/bold white]" % (node.name, string)) else: - print("%s node %s -> failed" % (node.name, string)) + console.print("[bold red]%s node %s -> failed[/bold red]" % (node.name, string)) if providerName == "azure" and action == "delete": - print("Deleting the corresponding resource group may take a while") + console.print("Deleting the corresponding resource group may take a while", style="bold white") poller = resource_client.resource_groups.begin_delete(node_name+"-res_group") result = poller.result() @@ -1440,7 +1475,7 @@ def ssh(provider, port=None, awsRegion=None): channel.get_pty() channel.invoke_shell() while True: - command = input('$> ') + command = prompt.ask('[bold white]$> [/bold white]') if command == 'exit': break channel.send((command + "\n").encode()) while True: @@ -1453,8 +1488,11 @@ def ssh(provider, port=None, awsRegion=None): break ssh.close() +if args.list and args.ssh or args.action and args.ssh: + console.print("No need for [u]--list[/u] when using [u]--ssh[/u] or [u]--action[/u]", style="bold red") + exit(0) if args.awsregion and args.provider != "aws": - print("AWS region flag as the name suggests only goes with the aws provider") + console.print("AWS region flag as the name suggests only goes with the aws provider", style="bold red") exit(0) # If -I -S or -G is passed, provider must be passed as well if args.listimages or args.listsizes or args.listlocations: @@ -1502,11 +1540,11 @@ if args.ssh: ssh(args.provider, args.port, args.awsregion) exit(0) if args.image or args.size or args.name or args.region or args.yes or args.deploy and not args.create: - print("Image, size, name, region, yes and deploy parameters only go along with the create flag") + console.print("Image, size, name, region, yes and deploy parameters [u]only[/u] go along with the create flag", style="bold red") exit(0) if args.print and not args.list or args.listimages or args.listsizes or args.listlocations: - print("The print flag only goes together with the list, list images, list sizes or list locations") + console.print("The print flag [u]only[/u] goes together with the list, list images, list sizes or list locations", style="bold red") exit(0) if args.port and not args.ssh: - print("The port flag only goes with the ssh flag") + console.print("The port flag [u]only[/u] goes with the ssh flag", style="bold red") exit(0)