
                         h   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r\	R$                  " \	R&                  R(                  5       " S S\	R*                  5      5       r\	R$                  " \	R&                  R.                  5       " S S\5      5       rg)z-Command to update an Anthos cluster on Azure.    )absolute_import)division)unicode_literals)azure)base)resource_args)command_util)	constants)endpoint_util)flagsz
To update a cluster named ``my-cluster'' managed in location ``us-west1'', run:

$ {command} my-cluster --location=us-west1 --cluster-version=CLUSTER_VERSION --client=CLIENT
c                   6    \ rS rSrSrS\0r\S 5       rS r	Sr
g)Update%   "Update an Anthos cluster on Azure.EXAMPLESc                    U R                  SSS9n[        R                  " XSS9  [        R                  " USS9  [        R
                  " U SS9  [        R                  " U 5        [        R                  " U SS9  [        R                  " U 5        [        R                  " U SS9  [        R                  " U S5        [        R                  " U 5        [        R                  " U S	5        [        R                  " U 5        [        R                  " U 5        [        R                   R#                  U 5        U R$                  R'                  [(        R*                  5        g )
NzAuthentication configurationT)mutex)updateF)create)requiredzupdate of the clustercluster)add_argument_groupr   $AddAzureClusterAndClientResourceArgsr   AddAzureServicesAuthenticationAddClusterVersion	AddVMSizeAddAdminUsersAddAdminGroupsAddSSHPublicKeyAddValidateOnlyAddDescriptionForUpdateAddAnnotationsForUpdate
AddLoggingAddMonitoringConfigr   
ASYNC_FLAGAddToParserdisplay_info	AddFormatr
   AZURE_CLUSTERS_FORMAT)parserauth_config_groups     .lib/surface/container/azure/clusters/update.pyArgsUpdate.Args+   s   11&d 2  66$ 
(():5I	FU3	OOF	u-	 	&51	&"9:	!!&)	!!&)4	V	f%OO'
!!)"A"AB    c           	         [         R                  " U5      R                  n[        R                  " U5         [         R                  " U5      n[
        R                  " 5       n[        R                  " UR                  SS9n[        R                  " UUUU[        R                  S9sSSS5        $ ! , (       d  f       g= f)zRuns the update command.Updating)action)resource_refresource_clientargsmessagekindN)r   ParseAzureClusterResourceArglocationsIdr   GkemulticloudEndpointOverrideapi_utilClustersClientr	   ClusterMessageazureClustersIdr   r
   AZURE_CLUSTER_KIND)selfr5   locationcluster_refcluster_clientr6   s         r,   Run
Update.RunA   s    99$?KKH		4	4X	>!>>tDk..0n++

%
%jg   "(++ 
?	>	>s   A0B11
B? N)__name__
__module____qualname____firstlineno____doc__	_EXAMPLESdetailed_helpstaticmethodr-   rD   __static_attributes__rF   r/   r,   r   r   %   s(    *y)-C C*r/   r   c                   V    \ rS rSrSr\\R                  R                  4S j5       r	Sr
g)UpdateAlphaS   r   c                 .    [         R                  U 5        g)z-Registers alpha track flags for this command.N)r   r-   )r*   tracks     r,   r-   UpdateAlpha.ArgsW   s     KKr/   rF   N)rG   rH   rI   rJ   rK   rN   r   ReleaseTrackALPHAr-   rO   rF   r/   r,   rQ   rQ   S   s&    ***00  r/   rQ   N)rK   
__future__r   r   r   .googlecloudsdk.api_lib.container.gkemulticloudr   r;   googlecloudsdk.callioper   *googlecloudsdk.command_lib.container.azurer   2googlecloudsdk.command_lib.container.gkemulticloudr	   r
   r   r   rL   ReleaseTracksrV   GAUpdateCommandr   rW   rQ   rF   r/   r,   <module>r`      s    4 &  ' L ( D K H L D	 D%%(()*T * **Z D%%++,&  -r/   