Beispiel #1
0
def list_user(client, group_id, user_type, user_status, limit):
    try:
        users = user_lib.list_user(
            client=client,
            group_id=group_id,
            user_type=user_type,
            user_status=user_status,
            limit=limit,
        )
        utils.check(users)
        number = 1  # must start from 1 (as user data)
        results = []
        for user in users:
            data = {
                "No": number,
                "User": user["userId"],
                "Name": user["fullName"],
                "Email": user["emailAddr"],
                "Address": user["address1"],
                "City": user["city"],
                "Status": user["active"],
            }
            number += 1
            results.append(data)
        click.secho(tabulate.tabulate(results, headers="keys",
                                      tablefmt="grid"))
    except Exception as exc:
        click.secho(f"Users fetching failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #2
0
def create(client, user_id, group_id):
    try:
        credentials = cred_lib.create(client, user_id, group_id)
        utils.check(credentials)
        click.secho(f"Credentials created", fg="green")
    except Exception as exc:
        click.secho(
            f"Credential creation failed. \n{exc}", fg="yellow", bold=True, err=True
        )
Beispiel #3
0
def rm(client, access_key):
    try:
        credentials = cred_lib.rm(client, access_key)
        utils.check(credentials)
        click.secho(f"Credentials removed", fg="green")
    except Exception as exc:
        click.secho(
            f"Credential removal failed. \n{exc}", fg="yellow", bold=True, err=True
        )
Beispiel #4
0
def status(client, access_key, status):
    try:
        status = cred_lib.status(client, access_key, status)
        utils.check(status)
        click.secho(f"Credentials status changed", fg="green")
    except Exception as exc:
        click.secho(
            f"Credentials fetching failed. \n{exc}", fg="yellow", bold=True, err=True
        )
Beispiel #5
0
def remove(client, user_id, group_id):
    try:
        response = user_lib.remove(client, user_id=user_id, group_id=group_id)
        utils.check(response)
        click.secho(f"User removed successfully", fg="green")
    except Exception as exc:
        click.secho(f"User removal failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #6
0
def rm(client, user_id, group_id):
    try:
        qos = qos_lib.rm(client, user_id=user_id, group_id=group_id)
        utils.check(qos)
        click.secho("Storage limit removed", fg="green")
    except Exception as exc:
        click.secho(f"Storage limit removal failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #7
0
def create(client):
    try:
        data = user_profile.prompt_user_profile()
        response = user_lib.create(client, utils.user_sanitize(data))
        utils.check(response)
        click.secho(f"User created successfully", fg="green")
    except Exception as exc:
        click.secho(f"User creation failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #8
0
def du(client, user_id, group_id):
    try:
        usage = admin_lib.usage(client, user_id, group_id)
        utils.check(usage)
        # earliest result must be first element (0)
        value = usage[0]["value"]
        prefixed_value = bitmath.Byte(int(value)).best_prefix()
        click.secho(f"Storage usage: {prefixed_value}")
    except Exception as exc:
        click.secho(f"Storage fetching failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #9
0
def set(client, user_id, group_id, limit):
    try:
        qos = qos_lib.set(client,
                          user_id=user_id,
                          group_id=group_id,
                          limit=limit)
        utils.check(qos)
        click.secho("Storage limit changed", fg="green")
    except Exception as exc:
        click.secho(f"Storage limit change failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #10
0
def info(client, user_id, group_id):
    try:
        qos = qos_lib.info(client, user_id=user_id, group_id=group_id)
        utils.check(qos)
        qos_limit = get_limit_kbytes(qos)
        msg = (f"Group ID: {qos['groupId']}\n"
               f"User ID: {qos['userId']}\n"
               f"Storage Limit: {qos_limit}")
        click.secho(msg)
    except Exception as exc:
        click.secho(f"Storage limit fetching failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #11
0
def list(client, user_id, group_id):
    try:
        credentials = cred_lib.list(client, user_id, group_id)
        utils.check(credentials)
        for credential in credentials:
            human_date = utils.human_date(credential["createDate"])
            result = (
                f"Access Key: {credential['accessKey']}\n"
                f"Secret Key: {credential['secretKey']}\n"
                f"Created: {human_date}\n"
                f"Active: {credential['active']}"
            )
            click.secho(result)
    except Exception as exc:
        click.secho(
            f"Credentials listing failed. \n{exc}", fg="yellow", bold=True, err=True
        )
Beispiel #12
0
def info(client, user_id, group_id):
    try:
        user = user_lib.info(client=client, user_id=user_id, group_id=group_id)
        utils.check(user)
        result = (f"ID: {user['userId']}\n"
                  f"Name: {user['fullName']}\n"
                  f"Email: {user['emailAddr']}\n"
                  f"Address: {user['address1']}\n"
                  f"City: {user['city']}\n"
                  f"Group ID: {user['groupId']}\n"
                  f"Canonical ID: {user['canonicalUserId']}\n"
                  f"Active: {user['active']}")
        click.secho(result)
    except Exception as exc:
        click.secho(f"User info fetching failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #13
0
def suspend(client, user_id, group_id, status):
    try:
        user_info = user_lib.info(client=client,
                                  user_id=user_id,
                                  group_id=group_id)
        message = "suspended" if status is True else "unsuspended"
        data = {
            key: val
            for key, val in user_info.items() if "canonical" not in key
        }
        data["active"] = not status
        response = user_lib.update(client, data)
        utils.check(response)
        click.secho(f"User {message} successfully", fg="green")
    except Exception as exc:
        click.secho(f"User suspension failed. \n{exc}",
                    fg="yellow",
                    bold=True,
                    err=True)
Beispiel #14
0
def test_check():
    response = {"reason": "nonsense", "status_code": "valid", "url": ".net"}
    with pytest.raises(ValueError, match=(f"nonsense")):
        utils.check(response)