
                         D   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  \R                   " \R"                  R$                  \R"                  R&                  \R"                  R(                  5       " S	 S
\R*                  5      5       rg)z&Command for updating target instances.    )absolute_import)division)unicode_literals)base_classes)base)
exceptions)flagsc                   6    \ rS rSrSrSrSr\S 5       rS r	Sr
g)Update   zUpdate a Compute Engine target instance.

*{command}* updates a Compute Engine target instance.

## EXAMPLES

To update the security policy run this:

  $ {command} TARGET_INSTANCE --security-policy='my-policy'
Nc                     [         R                  " 5       U l        U R                  R                  USS9  [        R
                  " SS9U l        U R                  R                  U5        g )Nupdate)operation_typeztarget instance)resource)r	   TargetInstanceArgumentTARGET_INSTANCE_ARGAddArgumentsecurity_policy_flags/SecurityPolicyRegionalArgumentForTargetResourceSECURITY_POLICY_ARG)clsparsers     .lib/surface/compute/target_instances/update.pyArgsUpdate.Args1   s[    #::<C''x'HMM&	
 
 ''/    c           	         [         R                  " U R                  5       5      nUR                  nU R                  R                  UUR                  [        R                  " U5      S9n[        USS 5      b  [        USS 5      (       a4  U R                  R                  XR                  5      R                  5       nOS nUR                  R                  UR                  UR                  5       UR                   UR                  R#                  US9S9nUR%                  UR&                  R(                  SU4/5      $ S/n[*        R,                  " US5      e)N)scope_listersecurity_policy)securityPolicy)projecttargetInstancezonesecurityPolicyReferenceSetSecurityPolicyz--security-policyz.Please specify at least one property to update)r   ComputeApiHolderReleaseTrackclientr   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListergetattrr   SelfLinkmessages.ComputeTargetInstancesSetSecurityPolicyRequestr!   Namer#   SecurityPolicyReferenceMakeRequestsapitools_clienttargetInstancesr   MinimumArgumentException)selfargsholderr(   target_instance_refsecurity_policy_refrequestparameter_namess           r   Run
Update.Run<   sZ   **4+<+<+>?F]]F22DD"88@ E  t&-9	($	/	/"66HH""$$,HJ 	 #NN%--,113"''"(//"I"I0 #J #	 O g   6#9#9#I#I#6#A "B C C ++O

-
-I r    )__name__
__module____qualname____firstlineno____doc__r   r   classmethodr   r>   __static_attributes__r@   r   r   r   r      s,    	 0 0 r   r   N)rE   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.computer	   r+   4googlecloudsdk.command_lib.compute.security_policiesr   3googlecloudsdk.command_lib.compute.target_instancesReleaseTracksr'   ALPHABETAGAUpdateCommandr   r@   r   r   <module>rS      s    - &  ' 7 ( . E F T..33T5F5F5I5I:T ::r   