
                             S 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                  5       " S S\R                  5      5       5       rg)z/Command for updating GlobalVmExtensionPolicies.    )base_classes)base)flagsc                   8    \ rS rSrSrSSS.r\S 5       rS rSr	g)	Update   z3Update a Compute Engine global VM extension policy.a  
     To update a global VM extension policy, run:

       $ {command} test-policy-name         --description="test policy"         --extensions=extension1,extension2         --version=extension1=version1,extension2=version2         --config=extension1="config1",extension2="config2"         --inclusion-labels=env=prod         --inclusion-labels=env=preprod,workload=load-test         --priority=1000
   )briefEXAMPLESc                     [         R                  " 5       [        l        [        R                  R	                  U SS9  [         R
                  " U 5        [         R                  " U 5        g )Nupdate)operation_type)r   MakeGlobalVmExtensionPolicyArgr   GlobalVmExtensionPoliciesArgAddArgumentAddExtensionPolicyArgsAddRolloutRetryUUID)parsers    :lib/surface/compute/global_vm_extension_policies/update.pyArgsUpdate.Args-   sO    */*N*N*PF'
''33x 4  
  (	f%    c           
         [         R                  " U R                  5       5      nUR                  nUR                  R                  n[
        R                  R                  UUR                  [        R                  " U5      S9n[        R                  " XQU5      n[        R                  " XS9  UR                  UR                  R                   SUR#                  UR$                  UR'                  5       US94/5      $ )zRun the Update command.

Args:
  args: argparse.Namespace, The arguments to this command.

Returns:
  Response calling the GlobalVmExtensionPoliciesService.Update API.
)scope_lister)
gve_policyr   )projectglobalVmExtensionPolicyglobalVmExtensionPolicyResource)r   ComputeApiHolderReleaseTrackclientmessagesr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   BuildGlobalVmExtensionPolicyInsertRetryUuidMakeRequestsapitools_clientglobalVmExtensionPolicies-ComputeGlobalVmExtensionPoliciesUpdateRequestr   Name)selfargsholderr    r!   resource_refr   s          r   Run
Update.Run6   s     **4+<+<+>?F]]F}}%%H66HH"88@ I L 33HJ 
$688>> (($0$5$5$7,6 	? 	
!    r    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r1   __static_attributes__r3   r   r   r   r      s2     < E-  & & r   r   N)r8   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r$   ?googlecloudsdk.command_lib.compute.global_vm_extension_policiesUniverseCompatibleReleaseTracksr   ALPHABETAUpdateCommandr   r3   r   r   <module>rE      sk     6 7 ( E Q D%%++T->->-C-CD<T < E <r   