Added enum for self-service options
This commit is contained in:
parent
b546e03e37
commit
777d0cfbd7
20
service.py
20
service.py
@ -5,6 +5,7 @@ from os import path
|
|||||||
import subprocess as sub
|
import subprocess as sub
|
||||||
import re
|
import re
|
||||||
from typing import Any, Callable
|
from typing import Any, Callable
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
P_BANNER = """
|
P_BANNER = """
|
||||||
██╗ ██╗███████╗██╗ ██╗ ██╗ ██████╗ ███╗ ███╗
|
██╗ ██╗███████╗██╗ ██╗ ██╗ ██████╗ ███╗ ███╗
|
||||||
@ -23,6 +24,13 @@ Opties:
|
|||||||
3) Recover omgeving(en)
|
3) Recover omgeving(en)
|
||||||
4) List omgeving(en)
|
4) List omgeving(en)
|
||||||
"""
|
"""
|
||||||
|
class PortalOptions(Enum):
|
||||||
|
EXIT = "0"
|
||||||
|
CREATE = "1"
|
||||||
|
DESTROY = "2"
|
||||||
|
RECOVER = "3"
|
||||||
|
LIST = "4"
|
||||||
|
|
||||||
|
|
||||||
RE_TEXT = re.compile(r"^\w+$")
|
RE_TEXT = re.compile(r"^\w+$")
|
||||||
RE_NUM = re.compile(r"^\d+$")
|
RE_NUM = re.compile(r"^\d+$")
|
||||||
@ -89,16 +97,16 @@ def main() -> int:
|
|||||||
p = Prompter(ps1=f"{customer_name} > ")
|
p = Prompter(ps1=f"{customer_name} > ")
|
||||||
while True:
|
while True:
|
||||||
print(P_OPTIONS)
|
print(P_OPTIONS)
|
||||||
c = p.take_input("Keuze: ", RE_ANY)
|
choice = p.take_input("Keuze: ", RE_ANY)
|
||||||
print(end="\n")
|
print(end="\n")
|
||||||
|
|
||||||
if c == "0":
|
if choice == PortalOptions.EXIT.value:
|
||||||
"""
|
"""
|
||||||
Used to break out of the loop and exit the portal.
|
Used to break out of the loop and exit the portal.
|
||||||
"""
|
"""
|
||||||
break
|
break
|
||||||
|
|
||||||
if c == "1":
|
if choice == PortalOptions.CREATE.value:
|
||||||
"""
|
"""
|
||||||
Used to either update or create an environment.
|
Used to either update or create an environment.
|
||||||
"""
|
"""
|
||||||
@ -159,7 +167,7 @@ def main() -> int:
|
|||||||
])
|
])
|
||||||
print(f"Omgeving `{env_name}` successvol gemaakt.")
|
print(f"Omgeving `{env_name}` successvol gemaakt.")
|
||||||
|
|
||||||
if c == "2":
|
if choice == PortalOptions.DESTROY.value:
|
||||||
"""
|
"""
|
||||||
Deletes all traces of the chosen environment.
|
Deletes all traces of the chosen environment.
|
||||||
"""
|
"""
|
||||||
@ -168,7 +176,7 @@ def main() -> int:
|
|||||||
env_name = p.take_choice(fmt, envs)
|
env_name = p.take_choice(fmt, envs)
|
||||||
sub.call(["python3", "cli.py", "delete", customer_name, env_name])
|
sub.call(["python3", "cli.py", "delete", customer_name, env_name])
|
||||||
|
|
||||||
if c == "3":
|
if choice == PortalOptions.RECOVER.value:
|
||||||
"""
|
"""
|
||||||
Allows the customer to "force" their environment into the desired `up-state`.
|
Allows the customer to "force" their environment into the desired `up-state`.
|
||||||
This `up-state` is a representation of the Vagrantfile, Ansible inventory and
|
This `up-state` is a representation of the Vagrantfile, Ansible inventory and
|
||||||
@ -181,7 +189,7 @@ def main() -> int:
|
|||||||
env_name = p.take_choice(fmt, envs)
|
env_name = p.take_choice(fmt, envs)
|
||||||
sub.call(["python3", "cli.py", "recover", customer_name, env_name])
|
sub.call(["python3", "cli.py", "recover", customer_name, env_name])
|
||||||
|
|
||||||
if c == "4":
|
if choice == PortalOptions.LIST.value:
|
||||||
"""
|
"""
|
||||||
This branch displays the customer's existing environments
|
This branch displays the customer's existing environments
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user