
                             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r\
R(                  " \
R*                  R,                  5       " S S\
R.                  5      5       r\
R(                  " \
R*                  R2                  5       " S S\
R.                  5      5       r\
R(                  " \
R*                  R6                  5       " S S\
R.                  5      5       rg)z.Command to update an Anthos cluster on VMware.    )absolute_import)division)unicode_literals)
operations)vmware_clusters)base)parser_arguments)	constants)flags)logz}
To update a cluster named ``my-cluster'' managed in location ``us-west1'', run:

$ {command} my-cluster --location=us-west1
c                   R    \ rS rSrSrS\0r\S\R                  4S j5       r
S rSrg)	UpdateAlpha%   #Update an Anthos cluster on VMware.EXAMPLESparserc                 H   U R                   R                  [        R                  5        [        R
                  " U SS5        [        R                  R                  U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U SS9  [        R                  " U SS9  [        R                  " U SS9  [        R                   " U SS9  [        R"                  " U SS9  [        R$                  " U SS9  [        R&                  " U SS9  [        R(                  " U SS9  [        R*                  " U 5        [        R,                  " U 5        [        R.                  " U 5        gzpGathers command line arguments for the update command.

Args:
  parser: The argparse parser to add the flag to.
z	to updateT)
for_updateNdisplay_info	AddFormatvmware_constantsVMWARE_CLUSTERS_FORMATr   AddClusterResourceArgr   
ASYNC_FLAGAddToParserAddValidationOnlyAddAllowMissingUpdateClusterAddDescription
AddVersionAddVmwareControlPlaneNodeConfigAddVmwareAAGConfigAddVmwareStorageConfigAddVmwareNetworkConfigAddVmwareLoadBalancerConfigAddVmwareDataplaneV2ConfigAddEnableVmwareTrackingAddVmwareAutoRepairConfigAddAuthorizationAddUpdateAnnotationsAddUpgradePolicyr   s    /lib/surface/container/vmware/clusters/update.pyArgsUpdateAlpha.Args+   %    !!"2"I"IJ	T:OO'	F#	&&v.	 	V	))&TB	V5	  D9	  D9	%%f>	$$V=	!!&T:	##Ft<	6"	v&	6"    c                 0   UR                   R                  R                  5       n[        R                  " 5       nUR                  U5      nUR                  (       a+  UR                  S5      (       d  [        R                  Ul
        UR                  (       a  gUR                  (       a$  [        R                  " USUR                  5        U$ [        R                  " 5       nUR!                  U5      n[        R                  " USUR                  5        U$ aA  Runs the update command.

Args:
  args: The arguments received from command line.

Returns:
  The return value depends on the command arguments. If `--async` is
  specified, it returns an operation; otherwise, it returns the updated
  resource. If `--validate-only` is specified, it returns None or any
  possible error.
formatNzAnthos Cluster on VMwareCONCEPTSclusterParseapisClustersClientUpdateasync_IsSpecifiedr
   OPERATIONS_FORMATr5   validate_onlyr   UpdatedResourcer   OperationsClientWaitselfargscluster_refcluster_client	operationoperation_clientoperation_responses          r.   RunUpdateAlpha.RunE        --''--/K((*N%%d+I{{4++H55//dk{{	+'A4;;O#446+00;	+'A4;;Or2    N__name__
__module____qualname____firstlineno____doc__	_EXAMPLESdetailed_helpstaticmethodr	   ArgumentInterceptorr/   rL   __static_attributes__rO   r2   r.   r   r   %   4    +y)-##77 # #2 r2   r   c                   R    \ rS rSrSrS\0r\S\R                  4S j5       r
S rSrg)	
UpdateBetaf   r   r   r   c                 H   U R                   R                  [        R                  5        [        R
                  " U SS5        [        R                  R                  U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U SS9  [        R                  " U SS9  [        R                  " U SS9  [        R                   " U SS9  [        R"                  " U SS9  [        R$                  " U SS9  [        R&                  " U SS9  [        R(                  " U SS9  [        R*                  " U 5        [        R,                  " U 5        [        R.                  " U 5        gr   r   r-   s    r.   r/   UpdateBeta.Argsl   r1   r2   c                 0   UR                   R                  R                  5       n[        R                  " 5       nUR                  U5      nUR                  (       a+  UR                  S5      (       d  [        R                  Ul
        UR                  (       a  gUR                  (       a$  [        R                  " USUR                  5        U$ [        R                  " 5       nUR!                  U5      n[        R                  " USUR                  5        U$ r4   r6   rD   s          r.   rL   UpdateBeta.Run   rN   r2   rO   NrP   rO   r2   r.   r]   r]   f   r[   r2   r]   c                   R    \ rS rSrSrS\0r\S\R                  4S j5       r
S rSrg)	r<      r   r   r   c                 H   U R                   R                  [        R                  5        [        R
                  " U SS5        [        R                  R                  U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U SS9  [        R                  " U SS9  [        R                  " U SS9  [        R                   " U SS9  [        R"                  " U SS9  [        R$                  " U SS9  [        R&                  " U SS9  [        R(                  " U SS9  [        R*                  " U 5        [        R,                  " U 5        [        R.                  " U 5        gr   r   r-   s    r.   r/   Update.Args   r1   r2   c                 0   UR                   R                  R                  5       n[        R                  " 5       nUR                  U5      nUR                  (       a+  UR                  S5      (       d  [        R                  Ul
        UR                  (       a  gUR                  (       a$  [        R                  " USUR                  5        U$ [        R                  " 5       nUR!                  U5      n[        R                  " USUR                  5        U$ r4   r6   rD   s          r.   rL   
Update.Run   rN   r2   rO   NrP   rO   r2   r.   r<   r<      r[   r2   r<   N)rU   
__future__r   r   r   *googlecloudsdk.api_lib.container.gkeonpremr   r   r:   googlecloudsdk.callioper   r	   .googlecloudsdk.command_lib.container.gkeonpremr
   +googlecloudsdk.command_lib.container.vmwarer   r   googlecloudsdk.corer   rV   ReleaseTracksReleaseTrackALPHAUpdateCommandr   BETAr]   GAr<   rO   r2   r.   <module>ru      s    5 &  ' A N ( 4 D U = #	 D%%++,= $$$ =  -= @ D%%**+= ## =  ,= @ D%%(()= T =  *= r2   