
                             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  \R                   " S
 S\R                  5      5       rg)z7Command to update a specified Batch resource allowance.    )absolute_import)division)unicode_literals)resource_allowances)base)resource_args)
exceptions)logc                   4    \ rS rSrSr\S 5       rS rS rSr	g)Update   a;  Update a Batch resource allowance.

This command updates a Batch resource allowance.

## EXAMPLES

The following command updates a resource allowance limit to 0
`projects/foo/locations/us-central1/resousrceAllowances/bar`:

  $ {command} projects/foo/locations/us-central1/resousrceAllowances/bar
  --usage-limit 0
c                 P    [         R                  " U 5        U R                  SSS9  g )Nz--usage-limitzvLimit value of a UsageResourceAllowance within its one
      duration. Limit cannot be a negative value. Default is 0.)help)r    AddResourceAllowanceResourceArgsadd_argument)parsers    /lib/surface/batch/resource_allowances/update.pyArgsUpdate.Args*   s,    226:
C      c                    U R                  U5      n[        U5      S:  a  [        R                  " S5      eU R	                  5       n[
        R                  " U5      nUR                  R                  R                  5       nUR                  nUR                  5       nUR                  S5      (       aG  [        USUR                  UR                  UR!                  [#        UR$                  5      S9S9S95        UR'                  XWU5      n[(        R*                  R-                  SR/                  UR0                  S95        U$ )	N   zIUpdate commands must specify at least one additional parameter to change.usage_limitusageResourceAllowance)limit)speczCResourceAllowance {resourceAllowanceName} was successfully updated.)resourceAllowanceName)GenerateUpdateMasklenr	   ErrorReleaseTrackr   ResourceAllowancesClientCONCEPTSresource_allowanceParsemessagesResourceAllowanceIsSpecifiedsetattrUsageResourceAllowanceUsageResourceAllowanceSpecLimitfloatr   r   r
   statusPrintformatuid)	selfargsupdate_maskrelease_trackbatch_clientresource_allowance_ref
batch_msgsresource_allowance_msgresps	            r   Run
Update.Run4   s5   ))$/K
;! 
 %%'M&??NL!]]==CCE&&J'99;&&
 
"

+
+77&,, %d&6&6 7 -  8  ,  D JJM	dhh	/ Kr   c                 X    / nUR                  S5      (       a  UR                  S5        U$ )z*Create Update Mask for ResourceAllowances.r   z'usageResourceAllowance.spec.limit.limit)r(   append)r2   r3   r4   s      r   r   Update.GenerateUpdateMaskX   s-    K&&BCr    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr   r;   r   __static_attributes__r@   r   r   r   r      s&      "Hr   r   N)rE   
__future__r   r   r   googlecloudsdk.api_lib.batchr   googlecloudsdk.callioper    googlecloudsdk.command_lib.batchr   googlecloudsdk.corer	   r
   DefaultUniverseOnlyCommandr   r@   r   r   <module>rO      sJ    > &  ' < ( : * # AT\\ A Ar   