
                            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S	KJr  SS
 jr\R                   " \R"                  R$                  5       " S S\R&                  5      5       r\R                   " \R"                  R*                  \R"                  R,                  5       " S S\5      5       rg)z*Cloud Pub/Sub subscription modify command.    )
exceptions)subscriptions)base)flags)resource_args)util)log)
propertiesc                 Z   [         R                  " 5       nU R                  R                  R	                  5       nU(       d  UR                  XQU R                  5      n[        R                  R                  SR                  U R                  SR                  U5      UR                  5       5      5        U(       a   UR                  5       UU R                  S.0 4$ U0 4$ Sn0 n UR                  XQU R                  5      n[        R"                  " Xq5      u  p[        R                  R                  SR                  U R                  SR                  U
5      UR                  5       5      5        U	(       aW  [        R                  R                  SR                  U R                  SR                  U	5      UR                  5       5      5        U(       a  UR                  5       UU R                  S.nXg4$ ! [        R                   a!  n[        R                   " U5      n SnAGN%SnAff = f)z3Modifies the ack deadline for one or more messages.zUSet ackDeadlineSeconds to [{0}] for messages with ackId [{1}]] for subscription [{2}],)subscriptionIdackIdackDeadlineSecondsNz\Set ackDeadlineSeconds to [{0}] for messages with ackId [{1}]] failed for subscription [{2}])r   SubscriptionsClientCONCEPTSsubscriptionParseModifyAckDeadlineack_deadliner	   statusPrintformatjoinRelativeNameapi_ex	HttpErrorr   HandleExactlyOnceDeliveryError'ParseExactlyOnceAckIdsAndFailureReasons)argsack_idslegacy_outputcapture_failuresclientsubscription_refresultack_ids_and_failure_reasonserrorfailed_ack_idssuccessfully_processed_ack_idss              ?lib/surface/pubsub/subscriptions/modify_message_ack_deadline.py_Runr+      s   ,,.&]]//557	%%&6&*&7&79F JJ 55;V**CHHW,=)6686:;
 ,99; $ 1 1 
	  RZ& "M%%&6&*&7&79F
 483_3_!4,0. ** 3396((xx >?'446489
 JJ <<BF**CHH^,D)668=:; *779"//F
 
	,,- 
		 M"&"E"Ee"LMs   $G5 5H*	H%%H*c                   6    \ rS rSrSrSS0r\S 5       rS rSr	g)	ModifyMessageAckDeadlineR   ?Modifies the ACK deadline for a specific Cloud Pub/Sub message.DESCRIPTIONz          This method is useful to indicate that more time is needed to process
          a message by the subscriber, or to make the message available for
          redelivery if the processing was interrupted.c                     [         R                  " U S5        [        R                  " U S5        [        R                  " U SS9  g )Nmessages belong to.modify the deadline for.Trequiredr   AddSubscriptionResourceArgr   AddAckIdFlagAddAckDeadlineFlagparsers    r*   ArgsModifyMessageAckDeadline.Args^   s4    ,,V5JK	v9:	Vd3    c                 D    [        XR                  SS9u  p#U(       a  U$ U$ )NT)r"   )r+   r    )selfr   r%   r&   s       r*   RunModifyMessageAckDeadline.Rund   s&    *.llT+3'F"((Mr>    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr<   rA   __static_attributes__rC   r>   r*   r-   r-   R   s/    G ;- 4 4
r>   r-   c                   .    \ rS rSrSr\S 5       rS rSrg)ModifyMessageAckDeadlineBetal   r/   c                     [         R                  " U S5        [        R                  " U SSS9  [        R                  " U SS9  g )Nr2   r3   T)add_deprecatedr4   r6   r:   s    r*   r<   !ModifyMessageAckDeadlineBeta.Argsp   s6    ,,V5JK	v9$O	Vd3r>   c                     [         R                  " U5      n[        R                  R                  R
                  R                  5       n[        XUSS9u  pEU(       a  U$ U$ )NT)r!   r"   )r   ParseAckIdsArgsr
   VALUESpubsubr!   GetBoolr+   )r@   r   r    r!   r%   r&   s         r*   rA    ModifyMessageAckDeadlineBeta.Runv   sU    ##D)G%%,,::BBDM*.]T+K'F"((Mr>   rC   N)	rD   rE   rF   rG   rH   rJ   r<   rA   rK   rC   r>   r*   rM   rM   l   s    G4 4
r>   rM   N)FF)rH   apitools.base.pyr   r   googlecloudsdk.api_lib.pubsubr   googlecloudsdk.callioper   !googlecloudsdk.command_lib.pubsubr   r   r   googlecloudsdk.corer	   r
   r+   ReleaseTracksReleaseTrackGACommandr-   BETAALPHArM   rC   r>   r*   <module>rc      s    1 2 7 ( 3 ; 2 # *2-j D%%(()t||  *2 D%%**D,=,=,C,CD#;  Er>   