
    (
                     R    S r SSKJr  SSKJr  SSKJr  SSKJr  Sr " S S\5      r	g	)
z8Support library to handle the deploy-policy subcommands.    )absolute_import)division)unicode_literals)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.Patch8   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.DeleteJ   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.   
__future__r   r   r   "googlecloudsdk.api_lib.clouddeployr   r#   objectr	   r0   r   r   <module>r4      s(    ? &  ' : =6 =r   