38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
import click
|
|
import requests
|
|
|
|
from .cli_main import main, auth_header, base_url
|
|
|
|
|
|
@main.group("top")
|
|
def top():
|
|
pass
|
|
|
|
|
|
@top.command("get")
|
|
@click.argument("host")
|
|
def top_get(host: str):
|
|
click.echo("Querying top for host...")
|
|
try:
|
|
response = requests.get(f'{base_url()}/top/query/{host}', headers=auth_header())
|
|
response.raise_for_status()
|
|
|
|
click.echo("Top:")
|
|
click.echo(response.json())
|
|
except requests.exceptions.HTTPError as e:
|
|
raise click.ClickException(f"Failed to query top:\n{e}")
|
|
|
|
|
|
@top.command("setenv")
|
|
@click.argument("host")
|
|
@click.argument("environment")
|
|
def top_setenv(host: str, environment: str):
|
|
click.echo("Assigning environment to host...")
|
|
|
|
try:
|
|
response = requests.post(f'{base_url()}/top/setenv/{host}/{environment}', headers=auth_header())
|
|
response.raise_for_status()
|
|
|
|
click.echo("Assigned environment")
|
|
except requests.exceptions.HTTPError as e:
|
|
raise click.ClickException(f"Failed to assign environment:\n{e}") |