
                         v    S r SSKJr  SSKJr  SSKJr   " S S\R                  5      rSS jr	 " S	 S
\
5      rg)z,API client library for Cloud DNS operatoins.    )
list_pager)util)waiterc                   4    \ rS rSrSrS	S jrS rS rS rSr	g)
Poller   zhManages a longrunning Operations.

See https://cloud.google.com/speech/reference/rpc/google.longrunning
c                     Xl         X l        g)zSets up poller for dns operations.

Args:
  operations_client: Client, client for retrieving information about
      ongoing operation.
  api_version: Cloud DNS api version this poller should use.
N)operations_clientapi_version)selfr
   r   s      ,lib/googlecloudsdk/api_lib/dns/operations.py__init__Poller.__init__   s     /"    c                 6   U R                   S:X  d  U R                   S:X  a4  U R                  R                  R                  R                  R
                  O3U R                  R                  R                  R                  R                  nUR                  U:X  a  gg)z
Overrides.v2devTF)r   r
   messages	OperationStatusValueValuesEnumDONEdonestatus)r   	operation	done_enums      r   IsDonePoller.IsDone)   s~     t#t'7'75'@ 	''11GGLL##,,66LLQQ 
 9$r   c                 8    U R                   R                  U5      $ )zrOverrides.

Args:
  operation_ref: googlecloudsdk.core.resources.Resource.

Returns:
  fetched operation message.
)r
   Get)r   operation_refs     r   PollPoller.Poll4   s     !!%%m44r   c                 .    UR                   R                  $ )znOverrides.

Args:
  operation: api_name_messages.Operation.

Returns:
  result of result_service.Get request.
)zoneContextnewValue)r   r   s     r   	GetResultPoller.GetResult?   s       )))r   )r   r
   N)v1)
__name__
__module____qualname____firstlineno____doc__r   r   r!   r&   __static_attributes__ r   r   r   r      s    
	#		5	*r   r   Nc                 n    [        [        R                  X5      U 5      n[        R                  " XAU5      $ N)r   ClientFromApiVersionr   WaitFor)versionr    messagelocationoperation_pollers        r   r4   r4   K   s,    F11'DgN	(	AAr   c                   J    \ rS rSrSrSrS
S jr\SS j5       rS r	SS jr
S	rg)r2   P   z$API client for Cloud DNS operations.dnsNc                     Xl         X l        U R                  R                  U l        U=(       d    UR                  U l        X@l        g r1   )r5   clientmanagedZoneOperations_serviceMESSAGES_MODULEr   r7   )r   r5   r=   r   r7   s        r   r   Client.__init__U   s4    LKKK55DM6 6 6DMMr   c                 <    U " U[         R                  " U5      S US9$ )N)r   r7   )r   GetApiClient)clsr5   r7   s      r   r3   Client.FromApiVersion\   s%    ""7+dXO Or   c                     U R                   R                  UR                  5       UR                  UR                  S9nU R
                  (       a  U R
                  Ul        U R                  R                  U5      $ )N)r   managedZoneproject)r   "DnsManagedZoneOperationsGetRequestNamerG   rH   r7   r?   r   )r   r    requests      r   r   
Client.Geta   sc    mm>>$$&!--%% ? 'G }}g==W%%r   c                     U R                   R                  UR                  5       UR                  S9nU R                  (       a  U R                  Ul        [
        R                  " U R                  X2SS9$ )N)rG   rH   
operations)limitfield)r   #DnsManagedZoneOperationsListRequestrJ   rH   r7   r   YieldFromListr?   )r   zone_refrO   rK   s       r   ListClient.Listj   sc    mm??MMO   @ "G }}g##w<A Ar   )r?   r=   r7   r   r5   )NNr1   )r)   r*   r+   r,   r-   	_API_NAMEr   classmethodr3   r   rT   r.   r/   r   r   r2   r2   P   s0    ,) O O&Ar   r2   r1   )r-   apitools.base.pyr   googlecloudsdk.api_lib.dnsr   googlecloudsdk.api_lib.utilr   OperationPollerr   r4   objectr2   r/   r   r   <module>r]      s<    3 ( + .0*V## 0*fB
!AV !Ar   