
                         >    d Z ddlmZ ddlmZ d Zd Zd Zd Zd Z	y	)
z6Utilities for the cloud deploy deploy policy resource.    )deploy_policy)	resourcesc                 N    t         j                  j                  | d||| d      S )a	  Creates 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                 H    t        j                         j                  |       S )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                 H    t        j                         j                  |       S )zvDeletes 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           	      
   | j                         }|j                  d      }|j                  d      }g }|rL|D ]G  }t        j                  j	                  |d|||d      }|j                  |j                                I |S )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                 d    t        j                         j                  | j                               S )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   