
                             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KJr  SSKJr   " S S\R*                  5      rg)zList clusters command.    )absolute_import)division)unicode_literals)
exceptions)
transforms)util)base)	constants)log)
properties)UpgradeHelpText)VersionVerifierc                   >    \ rS rSrSrSSS.r\S 5       rS rS r	S	r
g
)List"   z.List existing clusters for running containers.z          {description}

          This command queries cluster across all locations unless either
          '--location', '--region', or '--zone' are specified.
      z^          To list existing clusters in all locations, run:

            $ {command}
          )DESCRIPTIONEXAMPLESc                 V    U R                   R                  [        R                  5        g N)display_info	AddFormatr   CLUSTERS_FORMAT)parsers    &lib/surface/container/clusters/list.pyArgs	List.Args3   s    
!!$"6"67    c           	         U R                   S   nU R                   S   nU" USSS9n[        R                  R                  R                  R                  SS9nS n UR                  XT5      n[        UR                  US9Ul        UR                  (       a>  [        R                  " S	R                  S
R                  UR                  5      5      5        SnSn	Sn
SnSU l        SU l        SU l        [#        5       nUR                   GH  n[$        R&                  " UR(                  5      nU(       a   UR*                  [,        R.                  :  a  SnUR1                  U5      (       aJ  U =R                   [,        R2                  R                  UR4                  UR7                  U5      S9-  sl        UR8                  (       a  M  UR:                  (       a  UR=                  UR>                  UR@                  5      nU["        RB                  :X  aF  URD                  (       a  URD                  RF                  (       d  U=R@                  S-  sl         SnGMO  U["        RH                  :X  a  U=R@                  S-  sl         Sn	GM}  U["        RJ                  :X  a  U=R@                  S-  sl         Sn
GM  GM  SUl         GM     U(       a#  U =R                  [L        RB                  -  sl        U	(       a#  U =R                  [L        RH                  -  sl        U
(       a#  U =R                  [L        RJ                  -  sl        U R                  (       a0  U =R                  [L        RN                  R                  SS9-  sl        U(       a  [,        RP                  U l        UR                  $ ! [R        RT                   a*  n[V        RX                  " U[Z        R\                  5      eSnAff = f)zThis is what gets called when the user runs this command.

Args:
  args: an argparse namespace. All the arguments that were provided to this
    command invocation.

Returns:
  Some value that we want to have printed later.
api_adapterlocation_getTF)ignore_propertyrequired)r"   c                 2    U R                   U R                  4$ r   )zonename)clusters    r   sort_keyList.Run.<locals>.sort_keyF   s    llGLL))r   )keyzIThe following zones did not respond: {0}. List results may be incomplete.z,  )cluster_namecluster_degraded_warningz *z **z ***NAME)r%   N)/contextr   VALUEScoreprojectGetListClusterssortedclustersmissingZonesr   warningformatjoin_upgrade_hint_expire_warning_degraded_warningr   r   ParseExpireTime
expireTimedaysr
   EXPIRE_WARNING_DAYS
IsDegradedDEGRADED_WARNINGr%   GetDegradedWarningenableKubernetesAlpha	nodePoolsComparecurrentMasterVersioncurrentNodeVersionUPGRADE_AVAILABLE	autopilotenabledSUPPORT_ENDINGUNSUPPORTEDr   UPGRADE_COMMANDEXPIRE_WARNINGapitools_exceptions	HttpErrorr   HttpExceptionr   HTTP_ERROR_FORMAT)selfargsadapterr    locationr1   r'   r5   upgrade_availablesupport_endingunsupportedexpiringvvc	time_left
ver_statuserrors                    r   RunList.Run7   s    ll=)G<</LD$GH$$,,00$0?G*@D%%g8h !2!2Ah			 &8+@+@!AB	D  nkhdd!db  !..q||<	)*G*GG(a  

 
 I$>$>$E$E66'.'A'A!'D %F %F F
  "" ;;zz!"8"8!:N:NO* ?<<<kkakk11  D(  $_;;;  E) !N_888  F* K 9
 "$!
? !B 
o???	o<<<	o999			o==DD E  		(77(( D$$UD,B,BCCDs   MN) )O'=%O""O'c                 >   U R                   (       a)  [        R                  R                  U R                   5        U R                  (       a   [        R
                  " U R                  5        U R                  (       a!  [        R
                  " U R                  5        g g r   )r:   r   statusPrintr;   r7   r<   )rT   resources_were_displayeds     r   EpilogList.Epilog   s^    	jjt))*	kk$&&'	kk$(() r   )r<   r;   r:   N)__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   ra   rg   __static_attributes__ r   r   r   r   "   s7    6
- 8 8RDh*r   r   N)rm   
__future__r   r   r   apitools.base.pyr   rP    googlecloudsdk.api_lib.containerr   r   googlecloudsdk.callioper	   $googlecloudsdk.command_lib.containerr
   googlecloudsdk.corer   r   "surface.container.clusters.upgrader   r   ListCommandr   rq   r   r   <module>rz      sE     &  ' > 7 1 ( . : # * > >o*4 o*r   