1# --------------------------------------------------------------------------------------------
2# Copyright (c) Microsoft Corporation. All rights reserved.
3# Licensed under the MIT License. See License.txt in the project root for license information.
4# --------------------------------------------------------------------------------------------
5
6from knack.util import CLIError
7
8from ._utils import get_registry_by_name
9
10
11def acr_credential_show(cmd, client, registry_name, resource_group_name=None):
12    registry, resource_group_name = get_registry_by_name(cmd.cli_ctx, registry_name, resource_group_name)
13
14    if registry.admin_user_enabled:  # pylint: disable=no-member
15        return client.list_credentials(resource_group_name, registry_name)
16
17    raise admin_not_enabled_error(registry_name)
18
19
20def acr_credential_renew(cmd, client, registry_name, password_name, resource_group_name=None):
21    registry, resource_group_name = get_registry_by_name(cmd.cli_ctx, registry_name, resource_group_name)
22
23    if registry.admin_user_enabled:  # pylint: disable=no-member
24        return client.regenerate_credential(
25            resource_group_name, registry_name, password_name)
26
27    raise admin_not_enabled_error(registry_name)
28
29
30def admin_not_enabled_error(registry_name):
31    return CLIError("Run 'az acr update -n {} --admin-enabled true' to enable admin first.".format(registry_name))
32