
                          D   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	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.    )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)selfr2   locationcluster_refcluster_clientr3   s         r)   Run
Update.Run>   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*   rA   __static_attributes__rC   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)UpdateAlphaP   r   c                 .    [         R                  U 5        g)z-Registers alpha track flags for this command.N)r   r*   )r'   tracks     r)   r*   UpdateAlpha.ArgsT   s     KKr,   rC   N)rD   rE   rF   rG   rH   rK   r   ReleaseTrackALPHAr*   rL   rC   r,   r)   rN   rN   P   s&    ***00  r,   rN   N)rH   .googlecloudsdk.api_lib.container.gkemulticloudr   r8   googlecloudsdk.callioper   *googlecloudsdk.command_lib.container.azurer   2googlecloudsdk.command_lib.container.gkemulticloudr   r   r   r	   rI   ReleaseTracksrS   GAUpdateCommandr   rT   rN   rC   r,   r)   <module>r\      s    4 M ( D K H L D	 D%%(()*T * **Z D%%++,&  -r,   