
                            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	r\	R                  R                  S
\	R                  R                  S0rS rSS jrSS jrSS jrSS jr " S S\R,                  5      rg)z)Utility functions for GCE OS Config APIs.    )absolute_import)division)unicode_literals)apis)waiter)base)	resourcesosconfigv1betav1c                     [         U    $ N)_API_CLIENT_VERSION_MAP)release_tracks    5lib/googlecloudsdk/api_lib/compute/os_config/utils.pyGetApiVersionr   "   s    	 	//    Nc                 X    [         R                  " [        U=(       d	    [        U    5      $ r   )r   GetClientClass_API_CLIENT_NAMEr   r   api_version_overrides     r   r   r   &   s(    			, -m,
. .r   c                 X    [         R                  " [        U=(       d	    [        U    5      $ r   )r   GetClientInstancer   r   r   s     r   r   r   ,   (    			, -m,
. .r   c                 X    [         R                  " [        U=(       d	    [        U    5      $ r   )r   GetMessagesModuler   r   r   s     r   GetClientMessagesr   2   r   r   c                     [         R                  R                  5       nUR                  [        U=(       d	    [
        U    5        U$ r   )r	   REGISTRYCloneRegisterApiByNamer   r   )r   r   registrys      r   GetRegistryr$   8   s>    %%'(
, -m,. 
/r   c                   0    \ rS rSrSrS rS rS rS rSr	g)	Poller@   z+Poller for synchronous patch job execution.c                 r   Xl         X l        U R                  R                  R                  R                  U R                  R                  R                  R
                  U R                  R                  R                  R                  U R                  R                  R                  R                  /U l        g)zInitializes poller for patch job execution.

Args:
  client: API client of the OsConfig service.
  messages: API messages of the OsConfig service.
N)	clientmessagesPatchJobStateValueValuesEnum	SUCCEEDEDCOMPLETED_WITH_ERRORS	TIMED_OUTCANCELEDpatch_job_terminal_states)selfr)   r*   s      r   __init__Poller.__init__C   s|     KM33==33II33==33<<	&D"r   c                 4    UR                   U R                  ;   $ z
Overrides.)stater1   r2   	patch_jobs     r   IsDonePoller.IsDoneS   s    ??d<<<<r   c                 L    U R                   R                  R                  U5      $ r6   )r)   projects_patchJobsGet)r2   requests     r   PollPoller.PollW   s    ;;))--g66r   c                     U$ r6    r8   s     r   	GetResultPoller.GetResult[   s    r   )r)   r*   r1   N)
__name__
__module____qualname____firstlineno____doc__r3   r:   r@   rD   __static_attributes__rC   r   r   r&   r&   @   s    3 =7r   r&   r   )rJ   
__future__r   r   r   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.callioper   googlecloudsdk.corer	   r   ReleaseTrackBETAGAr   r   r   r   r   r$   OperationPollerr&   rC   r   r   <module>rT      s|    0 &  ' , . ( )  H$ 0...V## r   