
    r                         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\R&                  5      rg)zCommand for listing images.    )absolute_import)division)unicode_literals)base_classes)util)base)
exceptions)filter_utils)flags)
propertiesc                   4    \ rS rSrSr\S 5       rS rS rSr	g)List   z!List the packages in an image.
  c                 f    U R                   R                  S5        [        R                  " U 5        g )Nzy        table(
          name:label=PACKAGE,
          version:label=VERSION,
          revision:label=REVISION
        ))display_info	AddFormatpackage_flagsAddImageResourceArg)parsers    +lib/surface/compute/images/packages/list.pyArgs	List.Args"   s+    
!! #  %%f-    c                 L   / nU Hu  nUR                   R                  nUR                   R                   HB  nUUR                  R                  UR                  R                  S.nUR                  U5        MD     Mw     U(       d  [        R                  " U5      e[        US S9$ )N)nameversionrevisionc                     U S   $ )Nr    )package_versions    r   <lambda>*List._GetPackageVersions.<locals>.<lambda>;   s	    of.Er   )key)	installationr   locationr   r   appendr	   %ImagePackagesInfoUnavailableExceptionsorted)selfimage_packages
image_namepackage_versions
occurrencepackage_namer%   r    s           r   _GetPackageVersionsList._GetPackageVersions-   s    $
,,11l --66(#/&.&6&6&;&;'/'7'7'@'@B 	0	 7 % <<ZHH"EG Gr   c                    [         R                  R                  R                  R	                  5       nUR
                  R                  R                  5       n[        R                  " [        R                  R                  5      n[        R                  " X45      n[        R                   " X%SSS9nU R#                  XaR                  5      $ )zYields filtered packages.N)
project_idresource_filteroccurrence_filterresource_urls)r   VALUEScoreprojectGetCONCEPTSimageParser   ComputeApiHolderr   ReleaseTrackGAr
   	GetFiltercontaineranalysis_utilMakeOccurrenceRequestr/   )r)   argsr8   	image_refholderr3   r*   s          r   RunList.Run=   s    $$,,002G##))+I **4+<+<+?+?@F",,Y?O+AAd4N ##NJJ??r   r   N)
__name__
__module____qualname____firstlineno____doc__staticmethodr   r/   rF   __static_attributes__r   r   r   r   r      s'     . .G @r   r   N)rL   
__future__r   r   r   googlecloudsdk.api_lib.computer   (googlecloudsdk.api_lib.containeranalysisr   rA   googlecloudsdk.callioper   2googlecloudsdk.command_lib.compute.images.packagesr	   r
   r   r   googlecloudsdk.corer   ListCommandr   r   r   r   <module>rV      s<    " &  ' 7 S ( I K U *-@4 -@r   