
    }                         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  SSKJr  SSKJr  SSS.r\
R&                  " \
R(                  R*                  5       " S S\
R,                  5      5       r\\l        g)z,Bare Metal Solution instance update command.    )absolute_import)division)unicode_literals)	MpsClient)waiter)base)flags)
exceptions)log)
properties)	resourcesa  
          Update a Marketplace Solution instance.

          This call returns immediately, but the update operation may take
          several minutes to complete. To check if the operation is complete,
          use the `describe` command for the instance.
        a  
          To update an instance called ``my-instance'' in region ``us-central1'',
          to 3 memoryGib and 0.5 virtualCpuCores, run:

          $ {command} my-instance update --region=us-central1 --memory_gib=3
          --virtual_cpu_cores=0.5
        )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)Update2   z'Update a Marketplace Solution instance.c                     [         R                  " U SS9  [         R                  " U SS9  [         R                  " U SS9  g)z Register flags for this command.T)
positionalFrequiredN)r	   AddInstanceArgToParserAddInstanceMemoryGibArgToParse$AddInstanceVirtualCpuCoresArgToParse)parsers    #lib/surface/mps/instances/update.pyArgsUpdate.Args6   s4     
  D9	((%@	..vF    c                    [        5       nUR                  R                  R                  5       n[        R
                  R                  R                  R                  SS9n[        USS 5      n[        USS 5      nUc  Uc  [        R                  " S5      eUR                  UX5US9nUR                  (       a%  [        R                  " UR!                  5       SS9  U$ ["        R$                  R'                  UR(                  S	S
S9n[*        R,                  " UR.                  5      n	[*        R0                  " XSR3                  UR(                  5      5      n
[        R                  " UR!                  5       SS9  U
$ )NTr   
memory_gibvirtual_cpu_coreszBAt least one of `--memory-gib` or`--virtual-cpu-cores` is required)productinstance_resourcer    r!   Instance)kindz2marketplacesolutions.projects.locations.operationsv1alpha1)
collectionapi_versionz&Waiting for operation [{}] to completeinstance)r   CONCEPTSr)   Parser   VALUESmpsr"   Getgetattrr
   ErrorUpdateInstancedoner   UpdatedResourceNamer   REGISTRYParseRelativeNamenamer   CloudOperationPollerNoResourcesoperation_serviceWaitForformat)selfargsclientr)   r"   r    r!   op_refop_resourcepollerress              r   Run
Update.Run=   sM   [F}}%%++-H##++///>G|T2J&94@/7 + , , """+ # -F
 {{	(--/
;m$$66G 7  K 33F4L4LMF
..077DFC j9Jr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rC   __static_attributes__rE   r   r   r   r   2   s    /G Gr   r   N)rJ   
__future__r   r   r   %googlecloudsdk.api_lib.mps.mps_clientr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.mpsr	   googlecloudsdk.corer
   r   r   r   DETAILED_HELPReleaseTracksReleaseTrackALPHAUpdateCommandr   detailed_helprE   r   r   <module>rY      s    3 &  ' ; . ( 0 * # * )		( D%%++,(T ( -(T % r   