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 azure.cli.core.commands.client_factory import get_mgmt_service_client
7
8
9def get_arm_service_client(cli_ctx):
10    """Returns the client for managing ARM resources. """
11    from azure.mgmt.resource import ResourceManagementClient
12    return get_mgmt_service_client(cli_ctx, ResourceManagementClient)
13
14
15def get_storage_service_client(cli_ctx):
16    """Returns the client for managing storage accounts. """
17    from azure.cli.core.profiles import ResourceType
18    return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_STORAGE)
19
20
21def get_acr_service_client(cli_ctx, api_version=None):
22    """Returns the client for managing container registries. """
23    from azure.mgmt.containerregistry import ContainerRegistryManagementClient
24    return get_mgmt_service_client(cli_ctx, ContainerRegistryManagementClient, api_version=api_version)
25
26
27def cf_acr_registries(cli_ctx, *_):
28    return get_acr_service_client(cli_ctx).registries
29
30
31def cf_acr_replications(cli_ctx, *_):
32    return get_acr_service_client(cli_ctx).replications
33
34
35def cf_acr_webhooks(cli_ctx, *_):
36    return get_acr_service_client(cli_ctx).webhooks
37
38
39def cf_acr_tasks(cli_ctx, *_):
40    return get_acr_service_client(cli_ctx).tasks
41
42
43def cf_acr_runs(cli_ctx, *_):
44    return get_acr_service_client(cli_ctx).runs
45