
                            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
)z0Command for listing health aggregation policies.    )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 aggregation policies.Nc                 d    t        j                  |        | j                  j                  d       y )Na  
                                  table(
                                      name:label=NAME,
                                      region.basename():label=REGION,
                                      healthyPercentThreshold:label=HEALTHY_PERCENT_THRESHOLD,
                                      minHealthyThreshold:label=MIN_HEALTHY_THRESHOLD,
                                      policyType:label=POLICY_TYPE
                                  )
                                  )r   AddRegionsArgdisplay_info	AddFormat)parsers    7lib/surface/compute/health_aggregation_policies/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regionHealthAggregationPoliciesInvoke)r   argsholderr   request_datalist_implementations         r   RunzList.Run3   s    **4+<+<+>?F]]FOODM..tV5E5EFL 11//OO"22RR ==':;;r   c                 .    | j                   j                  S )Ncomputer#   r   s    r   servicezList.serviceB   s    <<777r   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        <<777r   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     *(
' 
'< 8 8 - - 8 8 8 8r   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 &  ' 7 1 ( D%%++,584 58 -  58r   