
    Q                     f   S r SSKJr  SSKJr  SSKJr  SSKr/ SQr " S S\R                  5      r	 " S	 S
\R                  5      r
 " S S\R                  5      r " S S\R                  5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r       SS jrS rS rS rg)z$API Library for gcloud tasks queues.    )encoding)
list_pager)
exceptionsN)httpTarget.headerOverrideshttpTarget.httpMethod)httpTarget.oauthToken.serviceAccountEmailhttpTarget.oauthToken.scope(httpTarget.oidcToken.serviceAccountEmailhttpTarget.oidcToken.audiencehttpTarget.uriOverridec                       \ rS rSrSrSrg)"CreatingPullAndAppEngineQueueError#   zEError for when attempt to create a queue as both pull and App Engine. N__name__
__module____qualname____firstlineno____doc____static_attributes__r       *lib/googlecloudsdk/api_lib/tasks/queues.pyr   r   #   s    Mr   r   c                       \ rS rSrSrSrg)"CreatingHttpAndAppEngineQueueError'   zOError for when attempt to create a queue with both http and App Engine targets.r   Nr   r   r   r   r   r   '   s    Wr   r   c                       \ rS rSrSrSrg)NoFieldsSpecifiedError+   z?Error for when calling a patch method with no fields specified.r   Nr   r   r   r   r   r   +   s    Gr   r   c                       \ rS rSrSrSrg)RequiredFieldsMissingError/   zKError for when calling a patch method when a required field is unspecified.r   Nr   r   r   r   r!   r!   /   s    Sr   r!   c                   R    \ rS rSrSrS rS rSS jrS rS r	S	 r
S
 rS rS rSrg)
BaseQueues3   1Client for queues service in the Cloud Tasks API.c                     Xl         X l        g Nmessagesqueues_service)selfr*   r+   s      r   __init__BaseQueues.__init__6   s    M(r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ Nname)r*   +CloudtasksProjectsLocationsQueuesGetRequestRelativeNamer+   Getr,   	queue_refrequests      r   r5   BaseQueues.Get:   sA    mmGG##% H G ""7++r   Nc           	          U R                   R                  UR                  5       S9n[        R                  " U R
                  UUUSSS9$ )N)parentqueuespageSize)
batch_sizelimitfieldbatch_size_attribute)r*   ,CloudtasksProjectsLocationsQueuesListRequestr4   r   YieldFromListr+   )r,   
parent_refr?   	page_sizer8   s        r   ListBaseQueues.List@   sU    mmHH&&( I G ##' r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ r0   )r*   .CloudtasksProjectsLocationsQueuesDeleteRequestr4   r+   Deleter6   s      r   rJ   BaseQueues.DeleteM   A    mmJJ##% K G %%g..r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ r0   )r*   -CloudtasksProjectsLocationsQueuesPurgeRequestr4   r+   Purger6   s      r   rO   BaseQueues.PurgeS   A    mmII##% J G $$W--r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ r0   )r*   -CloudtasksProjectsLocationsQueuesPauseRequestr4   r+   Pauser6   s      r   rT   BaseQueues.PauseY   rQ   r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ r0   )r*   .CloudtasksProjectsLocationsQueuesResumeRequestr4   r+   Resumer6   s      r   rX   BaseQueues.Resume_   rL   r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )N)resource)r*   4CloudtasksProjectsLocationsQueuesGetIamPolicyRequestr4   r+   GetIamPolicyr6   s      r   r]   BaseQueues.GetIamPolicye   sD    JJ++- 	K 	
 
 ++G44r   c                     U R                   R                  UR                  5       U R                   R                  US9S9nU R                  R                  U5      $ )N)policy)r[   setIamPolicyRequest)r*   4CloudtasksProjectsLocationsQueuesSetIamPolicyRequestr4   SetIamPolicyRequestr+   SetIamPolicy)r,   r7   r`   r8   s       r   rd   BaseQueues.SetIamPolicym   s_    JJ++- $ A A !B ! 	K 	
  ++G44r   r)   )Nd   )r   r   r   r   r   r-   r5   rF   rJ   rO   rT   rX   r]   rd   r   r   r   r   r$   r$   3   s2    9),/../5	5r   r$   c                   L    \ rS rSrSr     SS jr           SS jrSrg)	Queuesy   r&   Nc           	         XW4n[        U V	s/ s H	  ob  SOSPM     sn	5      S:  aC  [        SR                  [        R                  " U5      [        R                  " U5      5      5      eU R
                  R                  UR                  5       UUUUUS9n
U R
                  R                  UR                  5       U
S9nU R                  R                  U5      $ s  sn	f )9Prepares and sends a Create request for creating a queue.   r   FAttempting to send multiple queue target types simultaneously: {} , {})r2   retryConfig
rateLimitsappEngineRoutingOverridestackdriverLoggingConfig
httpTargetr;   queue)sumr   formatsix	text_typer*   Queuer4   .CloudtasksProjectsLocationsQueuesCreateRequestr+   Create)r,   rD   r7   retry_configrate_limitsapp_engine_routing_overridestackdriver_logging_confighttp_targettargetsxrt   r8   s               r   r{   Queues.Create|   s     +8G
w7w!AA%w781<.&mm78mmK(  MM##% !<!;   E mmJJ&&( K G %%g..) 8s   Cc                 j   [        X4U/5      (       d5  U(       d.  SU;  a(  [        UUU	U
UUU/[        U5      (       a  [        S5      eU R                  R                  UR                  5       S9nUb  X>l        Ub  XNl        Ub6  [        U5      (       a   U R                  R                  5       Ul        OX^l        Ub  Xnl        [        U R                  UUUUU	U
UUU5
        SR                  U5      nU R                  R                  UR                  5       XS9nU R                   R#                  U5      $ )9Prepares and sends a Patch request for modifying a queue.rp   *Must specify at least one field to update.r1   ,r2   rt   
updateMask)any_NeitherUpdateNorClearhttp_target_update_masks_listr   r*   ry   r4   rn   ro   _IsEmptyConfigAppEngineRoutingrp   rq   _GenerateHttpTargetUpdateMaskjoin-CloudtasksProjectsLocationsQueuesPatchRequestr+   Patch)r,   r7   updated_fieldsr|   r}   r~   r   http_uri_overridehttp_method_overridehttp_header_overridehttp_oauth_email_overridehttp_oauth_scope_overridehttp_oidc_email_overridehttp_oidc_audience_overridert   update_maskr8   s                    r   r   Queues.Patch   sS   " +EFGG *(>"""''&) (
  %8
 	
 MMY%;%;%=>E&$".	3	4	4)-)G)G)I&)D&!-'A$ "!! # ((>*KmmII##%U J G $$W--r   r   NNNNN)NNNNNNNNNNNr   r   r   r   r   r{   r   r   r   r   r   rh   rh   y   sE    9 "&!% /L "&!% $ $#"&I.r   rh   c                   T    \ rS rSrSr      SS jr              SS jrSrg)	
BetaQueues   r&   Nc	           	      $   USL=(       a    UR                   SLn	USLn
U	(       aJ  U
(       aC  [        SR                  [        R                  " U5      [        R                  " U5      5      5      eU
(       a-  U R
                  R                  UR                  5       UUUUUS9nO,U R
                  R                  UR                  5       UUUUUS9nU R
                  R                  UR                  5       US9nU R                  R                  U5      $ )rk   Nrm   )r2   rn   ro   rq   typerr   )r2   rn   ro   appEngineHttpQueuerq   r   rs   )rp   r   rv   rw   rx   r*   ry   r4   rz   r+   r{   )r,   rD   r7   r|   r}   app_engine_http_queuer   
queue_typer   is_app_engine_target_setis_http_target_setrt   r8   s                r   r{   BetaQueues.Create   s   " 	T) 	G!::$F 
 %D0$6.&mm12CMM+4N  mm!!%%'" #=  " e mm!!%%'" 2#= " e mmJJ&&( K G %%g..r   c                    U	(       a  XR                   :w  a  Sn	[        UUUUU/5      (       d<  [        U/S/U5      (       a(  [        U
UUUUUU/[        U5      (       a  [	        S5      eU R
                  R                  UR                  5       U	S9nUb  UUl        Ub  UUl	        Ub  UUl
        Ub  UUl        Ub  UUl        UbN  [        U5      (       a   U R
                  R                  5       Ul        OU R
                  R                  US9Ul        [!        U R
                  UUU
UUUUUU5
        SR#                  U5      nU R
                  R%                  UR                  5       UUS9nU R&                  R)                  U5      $ )r   Nrp   r   )r2   r   rp   r   r   )PULLr   r   r   r   r*   ry   r4   rn   ro   taskTtltombstoneTtlrq   r   AppEngineHttpQueuer   r   r   r   r+   r   )r,   r7   r   r|   r}   r~   task_ttltask_tombstone_ttlr   r   r   r   r   r   r   r   r   rt   r   r8   s                       r   r   BetaQueues.Patch#  s   , jOO3j"   
 &
'%
&

 
 #""''&) (
  %8
 	
 MMY%;%;%=JOE&e$eem%-e!-'Ae$".	3	4	4#'==#C#C#E #'==#C#C%@ $D $
 
 "!! # ((>*KmmII##%U{ J G $$W--r   r   )NNNNNN)NNNNNNNNNNNNNNr   r   r   r   r   r      sQ    9  !%4/t "&!% $ $#"&#b.r   r   c                   J    \ rS rSrSr     SS jr          SS jrSrg)	AlphaQueuesi  r&   Nc           	      .   Xg4n[        U V	s/ s H	  ob  SOSPM     sn	5      S:  aC  [        SR                  [        R                  " U5      [        R                  " U5      5      5      eXVU4n[        U V	s/ s H	  ob  SOSPM     sn	5      S:  a  [        S5      eU R                  R                  UR                  5       UUUUUS9n
U R                  R                  UR                  5       U
S9nU R                  R                  U5      $ s  sn	f s  sn	f )rk   rl   r   rm   z=Attempting to send multiple queue target types simultaneously)r2   rn   ro   
pullTargetappEngineHttpTargetrr   rs   )ru   r   rv   rw   rx   r   r*   ry   r4   rz   r+   r{   )r,   rD   r7   r|   r}   pull_targetapp_engine_http_targetr   r   r   rt   r8   s               r   r{   AlphaQueues.Create  s%    &3G
w7w!AA%w781<.&mm23S]];5O  K@G
w7w!AA%w781<.
I  MM##% 2   E mmJJ&&( K G %%g..1 8 8s   D8Dc                    [        X4/5      (       d<  [        U/S/U5      (       a(  [        UUUU	U
UU/[        U5      (       a  [        S5      eU R                  R                  UR                  5       S9nUb  X=l        Ub  XMl        UbN  [        U5      (       a   U R                  R                  5       Ul        OU R                  R                  US9Ul        [        U R                  UUUUUU	U
UU5
        SR                  U5      nU R                  R                  UR                  5       XS9nU R                  R!                  U5      $ )r   rp   r   r1   r   r   r   )r   r   r   r   r*   ry   r4   rn   ro   r   AppEngineHttpTargetr   r   r   r   r+   r   )r,   r7   r   r|   r}   r~   r   r   r   r   r   r   r   rt   r   r8   s                   r   r   AlphaQueues.Patch  sq   " *++ 
 &
'%
&

 
 #""''&) (
  %8
 	
 MMY%;%;%=>E&$".	3	4	4$(MM$E$E$G!$(MM$E$E%@ %F %
! "!! # ((>*KmmII##%U J G $$W--r   r   r   )
NNNNNNNNNNr   r   r   r   r   r     sB    9 !%/V "& $ $#"&L.r   r   c
                    [        U5      (       GaF  U R                  5       n
SU;   a  X:l        SU;   a  XJl        SU;   ar  Uc  / U
l        Og/ nU HY  nU R                  U R                  UR                  R                  UR                  R                  S9S9nUR                  U5        M[     Xl        SU;   d  SU;   a:  SU;  d  Uc  Ub  [        S	5      eUc  Uc  SU
l        OU R                  UUS
9U
l        SU;   d  SU;   a:  SU;  d  Uc  U	b  [        S5      eUc  U	c  SU
l        OU R                  UU	S9U
l        [!        U
5      (       a  SOU
Ul        gg)zDA helper function to generate update mask given the override config.r   r   r   N)keyvalue)headerr   r	   zTOauth service account email (http-oauth-service-account-email-override) must be set.)serviceAccountEmailscoper
   r   zROidc service account email (http-oidc-service-account-email-override) must be set.)r   audience)_HttpTargetNeedsUpdate
HttpTargeturiOverride
httpMethodheaderOverridesHeaderOverrideHeaderr   r   r   appendr!   
oauthToken
OAuthToken	oidcToken	OidcTokenr   rr   )r*   rt   r   r   r   r   r   r   r   r   r   headers_listhoheader_overrides                 r   r   r     s    N++%%'K>1 1.03#~5		%&(#&B$33__biioo_N 4 / 

o
.	 '
 '3# 	4~E(N: 
5N	J
#
+'3 )H
 	

 $
+'/!%!)!4!4 9+ "5 "
 	3nD*n< 
4>	I
"
*)5(G
 	

 #
*)1 $ ( 2 2 80 !3 !

  .k::tES ,r   c                 ,    [          H
  nX;   d  M
    g   g)NTF)r   )r   masks     r   r   r   [  s    +d , 
r   c                 j   ^ [        S U  5       5      =(       a    [        U4S jU 5       5      (       + $ )Nc              3   (   #    U  H  oS L v   M
     g 7fr(   r   ).0items     r   	<genexpr>)_NeitherUpdateNorClear.<locals>.<genexpr>d  s     4mdT\ms   c              3   ,   >#    U  H	  oT;   v   M     g 7fr(   r   )r   r   available_maskss     r   r   r   d  s      A*7$o-s   )allr   )update_valuesr   update_fieldss    ` r   r   r   c  s6    	4m4	4 
S A*7A > : r   c                 r    U c  g[         R                  " U 5      n[        UR                  5       5      (       + $ )NT)r   MessageToDictr   values)configconfig_dicts     r   r   r   i  s1    ^&&v.+##%&	&&r   )NNNNNNN)r   apitools.base.pyr   r   googlecloudsdk.corer   rw   r   InternalErrorr   r   Errorr   r!   objectr$   rh   r   r   r   r   r   r   r   r   r   <module>r      s    + & ' * 
! N)A)A NX)A)A XHZ-- HT!1!1 TC5 C5Ln.Z n.b[. [.|v.* v.z ""! $WLt'r   