
                             S 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.    )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   /   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!   5   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__@   s|     KM33==33II33==33<<	&D"r   c                 4    UR                   U R                  ;   $ z
Overrides.)stater.   r/   	patch_jobs     r   IsDonePoller.IsDoneP   s    ??d<<<<r   c                 L    U R                   R                  R                  U5      $ r3   )r&   projects_patchJobsGet)r/   requests     r   PollPoller.PollT   s    ;;))--g66r   c                     U$ r3    r5   s     r   	GetResultPoller.GetResultX   s    r   )r&   r'   r.   N)
__name__
__module____qualname____firstlineno____doc__r0   r7   r=   rA   __static_attributes__r@   r   r   r#   r#   =   s    3 =7r   r#   r   )rG   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.callioper   googlecloudsdk.corer   r   ReleaseTrackBETAGAr   r   r   r   r   r!   OperationPollerr#   r@   r   r   <module>rP      su    0 - . ( )  H$ 0...V## r   