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 import LongRunningOperation
7from ._utils import validate_managed_registry
8
9
10POLICIES_NOT_SUPPORTED = 'Policies are only supported for managed registries.'
11
12
13def acr_config_content_trust_show(cmd,
14                                  client,
15                                  registry_name,
16                                  resource_group_name=None):
17    _, resource_group_name = validate_managed_registry(
18        cmd, registry_name, resource_group_name, POLICIES_NOT_SUPPORTED)
19    return client.list_policies(resource_group_name, registry_name).trust_policy
20
21
22def acr_config_content_trust_update(cmd,
23                                    client,
24                                    registry_name,
25                                    status=None,
26                                    resource_group_name=None):
27    _, resource_group_name = validate_managed_registry(
28        cmd, registry_name, resource_group_name, POLICIES_NOT_SUPPORTED)
29
30    trust_policy = client.list_policies(resource_group_name, registry_name).trust_policy
31
32    if status is not None:
33        trust_policy.status = status
34
35    updated_policies = LongRunningOperation(cmd.cli_ctx)(
36        client.update_policies(resource_group_name, registry_name, None, trust_policy)
37    )
38    return updated_policies.trust_policy
39