
    
                        d 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	j                  e	j                   e	j                  e	j                  j                         G d d	e	j                                             Zy
)z#Command for listing health sources.    )absolute_import)division)unicode_literals)base_classes)lister)basec                   p    e Zd ZdZdZed        Zd Zd Ze	d        Z
e	d        Ze	d        Ze	d	        Zy)
ListzList health sources.Nc                 d    t        j                  |        | j                  j                  d       y )Na  
                                  table(
                                      name:label=NAME,
                                      region.basename():label=REGION,
                                      healthAggregationPolicy.basename():label=HEALTH_AGGREGATION_POLICY,
                                      sourceType:label=SOURCE_TYPE,
                                      sources.basename():label=SOURCES
                                  )
                                  )r   AddRegionsArgdisplay_info	AddFormat)parsers    *lib/surface/compute/health_sources/list.pyArgsz	List.Args"   s)    
 
!! #& '    c                      y)z4Override the default collection from the base class.N selfs    r   
CollectionzList.Collection/   s    r   c                 n   t        j                  | j                               }|j                  }|j                  | _        t        j                  ||j                        }t        j                  ||j                  j                  |j                  j                        }t        j                  ||      S )N)regional_serviceaggregation_service)r   ComputeApiHolderReleaseTrackclientmessagesr   ParseMultiScopeFlags	resourcesMultiScopeListerapitools_clientregionHealthSourcesInvoke)r   argsholderr   request_datalist_implementations         r   RunzList.Run3   s    **4+<+<+>?F]]FOODM..tV5E5EFL 11//CC"22FF ==':;;r   c                 .    | j                   j                  S )Ncomputer#   r   s    r   servicezList.serviceB   s    <<+++r   c                      y)Nr#   r   r   s    r   resource_typezList.resource_typeF   s     r   c                 .    | j                   j                  S )z,The service used to list regional resources.r+   r   s    r   r   zList.regional_serviceJ        <<+++r   c                 .    | j                   j                  S )z5The service used to get aggregated list of resources.r+   r   s    r   r   zList.aggregation_serviceO   r1   r   )__name__
__module____qualname____doc__r   staticmethodr   r   r)   propertyr-   r/   r   r   r   r   r   r
   r
      sx     (
' 
'< , , ! ! , , , ,r   r
   N)r6   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   HiddenDefaultUniverseOnlyReleaseTracksr   ALPHAListCommandr
   r   r   r   <module>rA      sp    * &  ' 7 1 ( D%%++,5,4 5, -  5,r   