
    
                     t   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(                  R0                  5       " S S\5      5       rg)z:Command to update a node pool in an Anthos cluster on AWS.    )absolute_import)division)unicode_literals)aws)base)flags)resource_args)command_util)	constants)endpoint_utilz
To update a node pool named ``my-node-pool'' in a cluster named ``my-cluster''
managed in location ``us-west1'', run:

$ {command} my-node-pool --cluster=my-cluster --location=us-west1 --node-version=NODE_VERSION
c                   6    \ rS rSrSrS\0r\S 5       rS r	Sr
g)Update'   /Update a node pool in an Anthos cluster on AWS.EXAMPLESc                 d   [         R                  " U S5        [        R                  " U SS9  [        R                  " U S5        [        R
                  " U SS9  [        R                  " U S5        [        R                  " U S5        [        R                  " U 5        [        R                  " U 5        [        R                  " U S5        [        R                  " U 5        [        R                  " U 5        [        R                  " U S5        [        R                  " U 5        [        R                   " U 5        [        R"                  " U 5        [        R$                  " U 5        [        R&                  " U SS9  [        R(                  " U S5        [        R*                  " U S5        [        R,                  " U SSS9  [        R.                  " U 5        [        R0                  " U SS9  [2        R4                  R7                  U 5        U R8                  R;                  [<        R>                  5        g )Nz	to updateF)requiredznode pool to updatez	node pool)kindr   )r   ) r	   AddAwsNodePoolResourceArgr   AddNodeVersionAddValidateOnlyAddAutoscalingAddAnnotationsForUpdateAddTagsForUpdateAddRootVolumeSizeAddNodeLabelsForUpdateAddEnableAutoRepairAddMaxSurgeUpdateAddMaxUnavailableUpdate	aws_flagsAddSecurityGroupFlagsForUpdateAddRootVolumeKmsKeyArnAddRootVolumeTypeAddRootVolumeIopsAddRootVolumeThroughputAddConfigEncryptionKmsKeyArnAddProxyConfigForUpdateAddSshEC2KeyPairForUpdateAddIamInstanceProfile(AddAutoScalingMetricsCollectionForUpdateAddInstanceTyper   
ASYNC_FLAGAddToParserdisplay_info	AddFormatr   AWS_NODEPOOLS_FORMAT)parsers    .lib/surface/container/aws/node_pools/update.pyArgsUpdate.Args-   s   ++FK@	%0	&"78	%0	!!&+6	6;/	F#	  (	fe,	F#	!!&),,V[A$$V,''%%f-**6EB%%fk:''<##FuM66v>f;7OO'
!!)"@"@A    c           	         [         R                  " U5      R                  n[        R                  " U5         [         R                  " U5      n[
        R                  " 5       n[        R                  " UR                  SUR                  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cluster)resource_refresource_clientargsmessager   N)r	   ParseAwsNodePoolResourceArglocationsIdr   GkemulticloudEndpointOverrideapi_utilNodePoolsClientr
   NodePoolMessageawsNodePoolsIdawsClustersIdr   r   AWS_NODEPOOL_KIND)selfr<   locationnode_pool_refnode_pool_clientr=   s         r2   Run
Update.RunI   s    88>JJH		4	4X	>#??Em!113,,

&
&--g
   $*** 
?	>	>s   A;B<<
C
 N)__name__
__module____qualname____firstlineno____doc__	_EXAMPLESdetailed_helpstaticmethodr3   rK   __static_attributes__rM   r5   r2   r   r   '   s(    7y)-B B6r5   r   c                   V    \ rS rSrSr\\R                  R                  4S j5       r	Sr
g)UpdateAlpha]   r   c                 .    [         R                  U 5        g)z-Registers alpha track flags for this command.N)r   r3   )r1   tracks     r2   r3   UpdateAlpha.Argsa   s     KKr5   rM   N)rN   rO   rP   rQ   rR   rU   r   ReleaseTrackALPHAr3   rV   rM   r5   r2   rX   rX   ]   s&    7**00  r5   rX   N)rR   
__future__r   r   r   .googlecloudsdk.api_lib.container.gkemulticloudr   rA   googlecloudsdk.callioper   (googlecloudsdk.command_lib.container.awsr   r    r	   2googlecloudsdk.command_lib.container.gkemulticloudr
   r   r   rS   ReleaseTracksr]   GAUpdateCommandr   r^   rX   rM   r5   r2   <module>rg      s    A &  ' J ( G B K H L D	 D%%(()2T 2 *2j D%%++,&  -r5   