
    (
                     R    d Z ddlmZ ddlmZ ddlmZ ddlmZ dZ G d de      Z	y	)
z8Support library to handle the deploy-policy subcommands.    )absolute_import)division)unicode_literals)client_util*c                   *    e Zd ZdZddZd Zd Zd Zy)DeployPoliciesClientz9Client for deploy policy service in the Cloud Deploy API.Nc                     |xs t        j                         | _        |xs t        j                  |      | _        | j                  j
                  | _        y)zInitialize a deploy_policy.DeployPoliciesClient.

    Args:
      client: base_api.BaseApiClient, the client class for Cloud Deploy.
      messages: module containing the definitions of messages for Cloud Deploy.
    N)r   GetClientInstanceclientGetMessagesModulemessages!projects_locations_deployPolicies_service)selfr   r   s      7lib/googlecloudsdk/api_lib/clouddeploy/deploy_policy.py__init__zDeployPoliciesClient.__init__   sA     ;K99;DKE = =f EDMKKAADM    c                 p    | j                   j                  |      }| j                  j                  |      S )zzGets the deploy policy object.

    Args:
      name: deploy policy name.

    Returns:
      a deploy policy object.
    )name)r   4ClouddeployProjectsLocationsDeployPoliciesGetRequestr   Get)r   r   requests      r   r   zDeployPoliciesClient.Get(   s;     	JJ 	K 	
 
 ==W%%r   c                     | j                   j                  | j                  j                  |d|j                  t
                    S )zPatches a deploy policy resource.

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

    Returns:
      The operation message.
    T)deployPolicyallowMissingr   
updateMask)r   Patchr   6ClouddeployProjectsLocationsDeployPoliciesPatchRequestr   DEPLOY_POLICY_UPDATE_MASK)r   objs     r   r   zDeployPoliciesClient.Patch8   sC     ==LL0	 	M 	
 r   c                 n    | j                   j                  | j                  j                  |d            S )zDeletes a deploy policy resource.

    Args:
      name: str, deploy policy name.

    Returns:
      The operation message.
    T)r   r   )r   Deleter   7ClouddeployProjectsLocationsDeployPoliciesDeleteRequest)r   r   s     r   r#   zDeployPoliciesClient.DeleteJ   s8     ==MMD 	N 	
 r   )NN)__name__
__module____qualname____doc__r   r   r   r#    r   r   r	   r	      s    A	B& $r   r	   N)
r(   
__future__r   r   r   "googlecloudsdk.api_lib.clouddeployr   r    objectr	   r)   r   r   <module>r-      s(    ? &  ' : =6 =r   