mlox.cli

Command line interface for MLOX.

This rewrite exposes a higher level interface for managing projects, servers and services in preparation for a server/client architecture.

logger = <Logger mlox.cli (INFO)>
app = <typer.main.Typer object>
project_app = <typer.main.Typer object>
server_app = <typer.main.Typer object>
service_app = <typer.main.Typer object>
template_app = <typer.main.Typer object>
server_configs_app = <typer.main.Typer object>
service_configs_app = <typer.main.Typer object>
def get_session(project: str, password: str) -> mlox.session.MloxSession:

Load an existing MloxSession from credentials.

def parse_kv(pairs: List[str]) -> Dict[str, str]:

Convert a list of KEY=VALUE strings into a dictionary.

@project_app.command('new')
def project_new( name: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, server_template: str = <typer.models.OptionInfo object>, ip: str = <typer.models.OptionInfo object>, port: int = <typer.models.OptionInfo object>, root_user: str = <typer.models.OptionInfo object>, root_pw: str = <typer.models.OptionInfo object>, param: List[str] = <typer.models.OptionInfo object>):

Create a new project and initialise the first server.

@server_app.command('list')
def server_list( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>):

List all servers registered in the project infrastructure.

@server_app.command('add')
def server_add( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, server_template: str = <typer.models.OptionInfo object>, ip: str = <typer.models.OptionInfo object>, port: int = <typer.models.OptionInfo object>, root_user: str = <typer.models.OptionInfo object>, root_pw: str = <typer.models.OptionInfo object>, param: List[str] = <typer.models.OptionInfo object>):

Register a new server in the current project.

@server_app.command('setup')
def server_setup( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, ip: str = <typer.models.ArgumentInfo object>):

Run the setup routine on a server.

@server_app.command('teardown')
def server_teardown( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, ip: str = <typer.models.ArgumentInfo object>):

Tear down a server and remove it from the infrastructure.

@server_app.command('save-key')
def server_save_key( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, ip: str = <typer.models.ArgumentInfo object>, output: str = <typer.models.OptionInfo object>):

Save a server key file for local access.

@service_app.command('list')
def service_list( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>):

List services across all servers in the project.

@service_app.command('add')
def service_add( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, server_ip: str = <typer.models.OptionInfo object>, template_id: str = <typer.models.OptionInfo object>, param: List[str] = <typer.models.OptionInfo object>):

Add a new service to an existing server.

@service_app.command('setup')
def service_setup( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, name: str = <typer.models.ArgumentInfo object>):

Run the setup routine for a service.

@service_app.command('teardown')
def service_teardown( project: str = <typer.models.ArgumentInfo object>, password: str = <typer.models.OptionInfo object>, name: str = <typer.models.ArgumentInfo object>):

Remove a service from the infrastructure.

@server_configs_app.command('list')
def server_configs_list():

List available server configuration templates.

@service_configs_app.command('list')
def service_configs_list():

List available service configuration templates.

@template_app.command('servers')
def template_servers():

List available server templates.

@template_app.command('services')
def template_services():

List available service templates.