
                             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 ZoneVmExtensionPolicies.    )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   z1Update a Compute Engine zone VM extension policy.a  
     To update a zone 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        g )Nupdate)operation_type)r   MakeZoneVmExtensionPolicyArgr   ZoneVmExtensionPoliciesArgAddArgumentAddExtensionPolicyArgs)parsers    8lib/surface/compute/zone_vm_extension_policies/update.pyArgsUpdate.Args-   sA    (-(J(J(LF%
%%11x 2  
  (    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                  " UR                  UR                  UR                  5        [        R                   " UR                  UR"                  5        [        R$                  " XQU5      nUR'                  UR(                  R*                  SUR-                  UR.                  UR0                  UR3                  5       US94/5      $ )zRun the Update command.

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

Returns:
  Response calling the ZoneVmExtensionPoliciesService.Update API.
)scope_listerr   )projectzonevmExtensionPolicyvmExtensionPolicyResource)r   ComputeApiHolderReleaseTrackclientmessagesr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   ParseExtensionConfigs
extensionsconfigconfig_from_fileParseExtensionVersionsversionBuildZoneVmExtensionPolicyMakeRequestsapitools_clientzoneVmExtensionPolicies+ComputeZoneVmExtensionPoliciesUpdateRequestr   r   Name)selfargsholderr   r    resource_ref
zve_policys          r   Run
Update.Run5   s    **4+<+<+>?F]]F}}%%H44FF"88@ G L
 
d&;&; 
  $,,?11,hOJ66<< ((""*//1&0	 	= 	
	! 	  	 	r    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r6   __static_attributes__r8   r   r   r   r      s2     : C-  ) ) r   r   N)r=   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r#   =googlecloudsdk.command_lib.compute.zone_vm_extension_policiesUniverseCompatibleReleaseTracksr   ALPHABETAUpdateCommandr   r8   r   r   <module>rJ      sk     4 7 ( E O D%%++T->->-C-CD;T ; E ;r   