
    x                     
   d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ej2                   ej4                  ej6                  j8                         G d dej:                                      Z ej4                  ej6                  j>                         G d de             Z  ej4                  ej6                  jB                         G d de              Z"y)zLists Google Cloud Functions.    )absolute_import)division)unicode_literalsN)
transforms)util)arg_parsers)base)parser_extensions)flags)	decorator)commandc                   &    e Zd ZdZed        Zd Zy)ListList Google Cloud Functions.c                     | j                  dddt        j                  d      dg       t        j                  |        | j
                  j                  d       t        j                  j                  |        y )	N	--regionsREGIONRegions containing functions to list. By default, functions from the region configured in [functions/region] property are listed.   
min_length-metavarhelptypedefaultz
        table(
          name.basename():sort=1,
          state():label=STATE,
          trigger():label=TRIGGER,
          name.scope("locations").segment(0):label=REGION,
          generation():label=ENVIRONMENT
        ))
add_argumentr   ArgListr   	AddV2Flagdisplay_info	AddFormatr	   URI_FLAGRemoveFromParserparsers    lib/surface/functions/list.pyArgsz	List.Args'   sp    
   A.  
 
OOF
!! #  	MM""6*    c                    |j                   r$t        j                  || j                               S t        j                  || j                         d      }t	        j
                         D cg c]  }|j                   }}t        j                  |j                  |j                  D cg c]  }|dk(  s||v s| c}      }t        j                  |      }t        j                  ||      S c c}w c c}w )Nenvironment="GEN_2"r   limitregions)v2
command_v2RunReleaseTrackapi_util_v1ListRegions
locationIdr
   	Namespacer-   r.   
command_v1	itertoolschain)selfargslist_v2_generatorr
v1_regionslist_v1_argslist_v1_generators          r'   r1   zList.RunA   s    ww^^D$"3"3"566"d!#8 )4(?(?(AB(A1!,,(AJB %..jj LLHLqAHZLHL #|4 ??,.?@@ C
 Is   ,C/)C4
8C4
N__name__
__module____qualname____doc__staticmethodr(   r1    r)   r'   r   r   "   s     %+ +2Ar)   r   c                   &    e Zd ZdZed        Zd Zy)ListBetar   c                 R   | j                  dddt        j                  d      dg       t        j                  |        | j
                  j                  t        j                                | j
                  j                  d       t        j                  j                  |        y )	Nr   r   r   r   r   r   r   a  
        table(
          name.basename():sort=1,
          state():label=STATE,
          trigger():label=TRIGGER,
          name.scope("locations").segment(0):label=REGION,
          generation():label=ENVIRONMENT,
          upgradestate():label=UPGRADE_STATE
        ))r   r   r   r   r    r!   AddTransformsr   GetTransformsBetar"   r	   r#   r$   r%   s    r'   r(   zListBeta.ArgsZ   s    
   A.  
 
OOF
%%j&B&B&DE
!! #  	MM""6*r)   c                 f   |j                   r$t        j                  || j                               S t        j                  || j                         d      }t	        j
                         D cg c]  }|j                   }}|j                  D cg c]  }|dk(  s||v s| }}t        j                  |j                  |      }t        j                  |      }t        j                  || j                         d      }t        j                  |t        j                  ||            S c c}w c c}w )Nr+   r   r,   zenvironment="GEN_1")r/   r0   r1   r2   r3   r4   r5   r.   r
   r6   r-   r7   r8   r9   decorator_v1&decorate_v1_generator_with_v2_api_info)	r:   r;   list_gen2_generator_v2r=   r>   gen1_regions	gen1_argslist_gen1_generator_v1list_gen1_generator_v2s	            r'   r1   zListBeta.Runv   s   ww^^D$"3"3"566'^^ )4(?(?(AB(A1!,,(AJB  $||K|!qCx1
?A|LK!++jjI (^^I6'^^ ??;;"$:	
  C Ls   ,D)D.D.NrA   rG   r)   r'   rI   rI   V   s    $+ +6r)   rI   c                       e Zd ZdZy)	ListAlphar   N)rB   rC   rD   rE   rG   r)   r'   rV   rV      s    $r)   rV   )#rE   
__future__r   r   r   r8    googlecloudsdk.api_lib.functionsr   #googlecloudsdk.api_lib.functions.v1r   r3   googlecloudsdk.callioper   r	   r
   $googlecloudsdk.command_lib.functionsr   'googlecloudsdk.command_lib.functions.v1r   rN   ,googlecloudsdk.command_lib.functions.v1.listr   r7   ,googlecloudsdk.command_lib.functions.v2.listr0   DefaultUniverseOnlyReleaseTracksr2   GAListCommandr   BETArI   ALPHArV   rG   r)   r'   <module>re      s    $ &  '  7 C / ( 5 6 M N N D%%(()/A4 /A * /Ad D%%**+=t = ,=@ D%%++,% % -%r)   