
    C                         S r SSKJr  SSKJr  SSKJr  SSKrSSKr\R                  " \R                  5       " S S\	5      5       r
g)zLBase SSHTroubleshooter class for each category of ssh troubleshooting check.    )absolute_import)division)unicode_literalsNc                       \ rS rSrSrSrSrSrS r\	R                  S 5       r\	R                  S 5       r\	R                  S 5       rS rS	 rS
rg)SshTroubleshooter   zA class whose instance is a ssh troubleshooter.

Test authors should subclass Troubleshooter for each troubleshooter
subcategory.
Nc                     [         e)z;Initialize with project and instance object, and zone.
    NotImplementedErrorselfs    <lib/googlecloudsdk/command_lib/compute/ssh_troubleshooter.py__init__SshTroubleshooter.__init__'   
         c                     [         e)zZHook method for checking prerequisite for troubleshooting before troubleshoot action.
    r
   r   s    r   check_prerequisite$SshTroubleshooter.check_prerequisite,   
     r   c                     [         e)zTHook method for cleaning troubleshooting resource after troubleshooting action.
    r
   r   s    r   cleanup_resources#SshTroubleshooter.cleanup_resources2   r   r   c                     [         e)z'Hook method for troubleshooting action.r
   r   s    r   troubleshootSshTroubleshooter.troubleshoot8   r   r   c                 $    U R                  5         g N)runr   s    r   __call__SshTroubleshooter.__call__=   s    HHJr   c                 d    U R                  5         U R                  5         U R                  5         g r   )r   r   r   r   s    r   r   SshTroubleshooter.run@   s&    r    )__name__
__module____qualname____firstlineno____doc__projectzoneinstancer   abcabstractmethodr   r   r   r    r   __static_attributes__r$   r   r   r   r      su     '	$(
  
  
  r   r   )r)   
__future__r   r   r   r-   sixadd_metaclassABCMetaobjectr   r$   r   r   <module>r5      sD     S &  ' 
 
 3;;' '  'r   