33# Licensed under the MIT License. See License.txt in the project root for license information.
44# --------------------------------------------------------------------------------------------
55
6- from ._utils import get_registry_by_name , get_resource_group_name_by_registry_name
6+ from ._constants import CREDENTIAL_SET_RESOURCE_ID_TEMPLATE
7+ from ._utils import get_resource_group_name_by_registry_name
78from azure .cli .core .azclierror import InvalidArgumentValueError
9+ from azure .cli .core .commands .client_factory import get_subscription_id
810from azure .core .serialization import NULL as AzureCoreNull
911
1012
@@ -54,9 +56,18 @@ def acr_cache_create(cmd,
5456 resource_group_name = None ,
5557 cred_set = None ):
5658
57- registry , rg = get_registry_by_name (cmd .cli_ctx , registry_name , resource_group_name )
58-
59- cred_set_id = AzureCoreNull if not cred_set else f'{ registry .id } /credentialSets/{ cred_set } '
59+ if cred_set :
60+ sub_id = get_subscription_id (cmd .cli_ctx )
61+ rg = get_resource_group_name_by_registry_name (cmd .cli_ctx , registry_name , resource_group_name )
62+ # Format the credential set ID using subscription ID, resource group, registry name, and credential set name
63+ cred_set_id = CREDENTIAL_SET_RESOURCE_ID_TEMPLATE .format (
64+ sub_id = sub_id ,
65+ rg = rg ,
66+ reg_name = registry_name ,
67+ cred_set_name = cred_set
68+ )
69+ else :
70+ cred_set_id = AzureCoreNull
6071
6172 CacheRuleCreateParameters = cmd .get_models ('CacheRule' , operation_group = 'cache_rules' )
6273
@@ -82,9 +93,18 @@ def acr_cache_update_custom(cmd,
8293 if cred_set is None and remove_cred_set is False :
8394 raise InvalidArgumentValueError ("You must either update the credential set ID or remove it." )
8495
85- registry , _ = get_registry_by_name (cmd .cli_ctx , registry_name , resource_group_name )
86-
87- cred_set_id = AzureCoreNull if remove_cred_set else f'{ registry .id } /credentialSets/{ cred_set } '
96+ if remove_cred_set :
97+ cred_set_id = AzureCoreNull
98+ else :
99+ sub_id = get_subscription_id (cmd .cli_ctx )
100+ rg = get_resource_group_name_by_registry_name (cmd .cli_ctx , registry_name , resource_group_name )
101+ # Format the credential set ID using subscription ID, resource group, registry name, and credential set name
102+ cred_set_id = CREDENTIAL_SET_RESOURCE_ID_TEMPLATE .format (
103+ sub_id = sub_id ,
104+ rg = rg ,
105+ reg_name = registry_name ,
106+ cred_set_name = cred_set
107+ )
88108
89109 instance .credential_set_resource_id = cred_set_id
90110
0 commit comments