
    	                     .    S r SSKJr  Sr " S S\5      rg)z8Support library to handle the deploy-policy subcommands.    )client_util*c                   4    \ rS rSrSrS	S jrS rS rS rSr	g)
DeployPoliciesClient   z9Client for deploy policy service in the Cloud Deploy API.Nc                     U=(       d    [         R                  " 5       U l        U=(       d    [         R                  " U5      U l        U R                  R
                  U l        g)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__DeployPoliciesClient.__init__   sA     ;K99;DKE = =f EDMKKAADM    c                 j    U R                   R                  US9nU R                  R                  U5      $ )zfGets the deploy policy object.

Args:
  name: deploy policy name.

Returns:
  a deploy policy object.
)name)r   4ClouddeployProjectsLocationsDeployPoliciesGetRequestr   Get)r   r   requests      r   r   DeployPoliciesClient.Get%   s;     	JJ 	K 	
 
 ==W%%r   c           	          U R                   R                  U R                  R                  USUR                  [
        S95      $ )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   DeployPoliciesClient.Patch5   sC     ==LL0	 	M 	
 r   c                 h    U R                   R                  U R                  R                  USS95      $ )zmDeletes 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$   DeployPoliciesClient.DeleteG   s8     ==MMD 	N 	
 r   )r   r
   r   )NN)
__name__
__module____qualname____firstlineno____doc__r   r   r   r$   __static_attributes__ r   r   r   r      s    A	B& $r   r   N)r+   "googlecloudsdk.api_lib.clouddeployr   r    objectr   r-   r   r   <module>r0      s!    ? ; =6 =r   