
                         >    S r SSKJr  SSKJr  S rS rS rS rS r	g	)
z6Utilities for the cloud deploy deploy policy resource.    )deploy_policy)	resourcesc                 H    [         R                  R                  U SUUU S.S9$ )zCreates the deploy policy reference base on the parameters.

  Returns the shared deploy policy reference.

Args:
  name: str, deploy policy ID
  project: str,project number or ID.
  region: str, region ID.

Returns:
  custom target type reference.
-clouddeploy.projects.locations.deployPolicies
projectsIdlocationsIddeployPoliciesId
collectionparams)r   REGISTRYParse)nameprojectregions      ;lib/googlecloudsdk/command_lib/deploy/deploy_policy_util.pyDeployPolicyReferencer      s6     
			!	!
@" 
" 
     c                 J    [         R                  " 5       R                  U 5      $ )zPatches a deploy policy resource.

Args:
  resource: apitools.base.protorpclite.messages.Message, deploy policy
    message.

Returns:
  The operation message
)r   DeployPoliciesClientPatch)resources    r   PatchDeployPolicyr   .   s     
	+	+	-	3	3H	==r   c                 J    [         R                  " 5       R                  U 5      $ )zlDeletes a deploy policy resource.

Args:
  name: str, deploy policy name.

Returns:
  The operation message
)r   r   Delete)r   s    r   DeleteDeployPolicyr   ;   s     
	+	+	-	4	4T	::r   c           	         U R                  5       nUR                  S5      nUR                  S5      n/ nU(       aK  U HE  n[        R                  R	                  USUUUS.S9nUR                  UR                  5       5        MG     U$ )a  Creates deploy policy canonical resource names from ids.

Args:
  pipeline_ref: pipeline resource reference.
  deploy_policy_ids: list of deploy policy ids (e.g. ['deploy-policy-1',
    'deploy-policy-2'])

Returns:
  A list of deploy policy canonical resource names.
r   r	   r   r   r   )AsDictgetr   r   r   appendRelativeName)pipeline_refdeploy_policy_idspipeline_dict
project_idlocation_idpoliciespolicydeploy_policy_resource_refs           r   CreateDeployPolicyNamesFromIDsr+   G   s     %%'-  .*!!-0+(##,#5#5#;#;
D&("( $< $  oo0==?@ $ 
/r   c                 f    [         R                  " 5       R                  U R                  5       5      $ )a  Gets the deploy policy message by calling the get deploy policy API.

Args:
  deploy_policy_ref: protorpc.messages.Message, protorpc.messages.Message,
    deploy policy reference.

Returns:
  Deploy policy message.
Raises:
  Exceptions raised by DeployPoliciesClient's get functions
)r   r   Getr"   )deploy_policy_refs    r   GetDeployPolicyr/   f   s,     
	+	+	-	1	1$$&
 r   N)
__doc__"googlecloudsdk.api_lib.clouddeployr   googlecloudsdk.corer   r   r   r   r+   r/    r   r   <module>r4      s+    = = )0
>	;>r   