
    
                        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 composite health checks.    )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 composite health checks.Nc                 d    t        j                  |        | j                  j                  d       y )Na  
                                  table(
                                      name:label=NAME,
                                      region.basename():label=REGION,
                                      healthDestination.basename():label=HEALTH_DESTINATION,
                                      healthSources.basename():label=HEALTH_SOURCES
                                  )
                                  )r   AddRegionsArgdisplay_info	AddFormat)parsers    3lib/surface/compute/composite_health_checks/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regionCompositeHealthChecksInvoke)r   argsholderr   request_datalist_implementations         r   RunzList.Run2   s    **4+<+<+>?F]]FOODM..tV5E5EFL 11//KK"22NN ==':;;r   c                 .    | j                   j                  S )Ncomputer#   r   s    r   servicezList.serviceA   s    <<333r   c                      y)Nr#   r   r   s    r   resource_typezList.resource_typeE   s    (r   c                 .    | j                   j                  S )z,The service used to list regional resources.r+   r   s    r   r   zList.regional_serviceI        <<333r   c                 .    | j                   j                  S )z5The service used to get aggregated list of resources.r+   r   s    r   r   zList.aggregation_serviceN   r1   r   )__name__
__module____qualname____doc__r   staticmethodr   r   r)   propertyr-   r/   r   r   r   r   r   r
   r
      sx     &(	' 	'< 4 4 ) ) 4 4 4 4r   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    3 &  ' 7 1 ( D%%++,444 44 -  44r   