
    Ch6E                         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Jr  S SKJrJrJrJrJr  S S	KJrJrJrJrJr  \(       a  S S
KJr  S SKJr   " S S\S   \S   5      rg)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)class_method_variantsanitize_id)ClassVarListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Customer)Meterc                   8   \ rS rSr% SrSr\\S      \S'    " S S\	5      r
 " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r\S   \S'    \\S'    \\S'    \S   \S'    \\S      \S'    \\S'    \\
   \S'    \S\S\S    S!S 4S" j5       r\\S\S\S    S!S 4S# j5       5       r\S\S    S!S 4S$ j5       r\" S%5      S\S    S!S 4S& j5       r\S\S\S    S!S 4S' j5       r\\S\S\S    S!S 4S( j5       5       r \S\S    S!S 4S) j5       r \" S*5      S\S    S!S 4S+ j5       r \S\S\S,   S!S 4S- j5       r!\\S\S\S,   S!S 4S. j5       5       r"\S\S,   S!S 4S/ j5       r"\" S05      S\S,   S!S 4S1 j5       r"\S\S\S,   S!S 4S2 j5       r#\\S\S\S,   S!S 4S3 j5       5       r$\S\S,   S!S 4S4 j5       r$\" S55      S\S,   S!S 4S6 j5       r$\S\S7   S!S 4S8 j5       r%\S\S7   S!S 4S9 j5       r&\S\S\S:   S!S 4S; j5       r'\\S\S\S:   S!S 4S< j5       5       r(\S\S:   S!S 4S= j5       r(\" S>5      S\S:   S!S 4S? j5       r(\S\S\S:   S!S 4S@ j5       r)\\S\S\S:   S!S 4SA j5       5       r*\S\S:   S!S 4SB j5       r*\" SC5      S\S:   S!S 4SD j5       r*\S\SE   S!\+S    4SF j5       r,\S\SE   S!\+S    4SG j5       r-\S\S\SH   S!S 4SI j5       r.\S\S\SH   S!S 4SJ j5       r/S\
0r0SKr1gL)MAlert   z
A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests.
zbilling.alertOBJECT_NAMEc                   |    \ rS rSr%  " S S\5      r\\\      \S'    \	\S'    \
S   \S'    \S   \S	'    S\0rS
rg)Alert.UsageThreshold   c                   >    \ rS rSr% \\S      \S'    \S   \S'   Srg)Alert.UsageThreshold.Filter    r   customertype N)	__name__
__module____qualname____firstlineno__r   r   __annotations__r   __static_attributes__r#       X/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/billing/_alert.pyFilterr       s$    z:;; *%%r*   r,   filtersgter   meterone_time
recurrencer#   N)r$   r%   r&   r'   r   r,   r   r   r(   intr   r   _inner_class_typesr)   r#   r*   r+   UsageThresholdr      sa    	&\ 	& $v,''	 	 w''	 J''	 (0r*   r4   c                   ,    \ rS rSr% \\\      \S'   Srg)Alert.ActivateParams9   expandr#   N	r$   r%   r&   r'   r   r   strr(   r)   r#   r*   r+   ActivateParamsr6   9       DI&&	r*   r;   c                   ,    \ rS rSr% \\\      \S'   Srg)Alert.ArchiveParams?   r8   r#   Nr9   r#   r*   r+   ArchiveParamsr>   ?   r<   r*   r@   c                   \    \ rS rSr% \S   \S'    \\\      \S'    \\S'    \S   \S'   Sr	g)	Alert.CreateParamsE   usage_threshold
alert_typer8   title Alert.CreateParamsUsageThresholdr#   N)
r$   r%   r&   r'   r   r(   r   r   r:   r)   r#   r*   r+   CreateParamsrB   E   sH    -..	 DI&&	 
	 %%GHH	r*   rH   c                   V    \ rS rSr% \\S      \S'    \\S'    \\S'    \	S   \S'   Sr
g	)
rG   W   &Alert.CreateParamsUsageThresholdFilterr-   r.   r/   r0   r1   r#   N)r$   r%   r&   r'   r   r   r(   r2   r:   r   r)   r#   r*   r+   CreateParamsUsageThreshold Alert.CreateParamsUsageThresholdW   sB    T"JKLL	 	 
	 J''	r*   rL   c                   8    \ rS rSr% \\   \S'    \S   \S'   Srg)rK   i   r!   r"   r#   N)	r$   r%   r&   r'   r   r:   r(   r   r)   r#   r*   r+    CreateParamsUsageThresholdFilter&Alert.CreateParamsUsageThresholdFilteri   s$    c""	 j!!	r*   rP   c                   ,    \ rS rSr% \\\      \S'   Srg)Alert.DeactivateParamss   r8   r#   Nr9   r#   r*   r+   DeactivateParamsrS   s   r<   r*   rU   c                       \ rS rSr% \\S      \S'    \\   \S'    \\\      \S'    \\	   \S'    \\   \S'    \\   \S'   S	r
g
)Alert.ListParamsy   rD   rE   ending_beforer8   limitr/   starting_afterr#   N)r$   r%   r&   r'   r   r   r(   r:   r   r2   r)   r#   r*   r+   
ListParamsrW   y   sv    (9 :;;	 #3''	 DI&&	 3	 3	 $C((	r*   r\   c                   ,    \ rS rSr% \\\      \S'   Srg)Alert.RetrieveParams   r8   r#   Nr9   r#   r*   r+   RetrieveParamsr^      r<   r*   r`   rD   rE   idlivemodeobject)activearchivedinactivestatusrF   paramsr6   returnc                 d    [        SU R                  SSR                  [        U5      S9US95      $ )7
Reactivates this alert, allowing it to trigger again.
r   post /v1/billing/alerts/{id}/activatera   rh   r   _static_requestformatr
   clsra   rh   s      r+   _cls_activateAlert._cls_activate   sB     299[_9M   
 	
r*   c                     grk   Nr#   ra   rh   s     r+   activateAlert.activate        	r*   c                     grx   r#   selfrh   s     r+   rz   r{          
 	r*   ru   c                     [        SU R                  SSR                  [        U R	                  S5      5      S9US95      $ )rk   r   rl   rm   ra   rn   ro   r   _requestrr   r
   getr~   s     r+   rz   r{      sP     MM299"488D>2 :    	
 		
r*   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)rk   r   rl   rm   rn   ro   Nr   _static_request_asyncrr   r
   rs   s      r+   _cls_activate_asyncAlert._cls_activate_async   sO      ++299[_9M ,  
 	
   1><
	>c                    #    g7frx   r#   ry   s     r+   activate_asyncAlert.activate_async   
      	   c                    #    g7frx   r#   r~   s     r+   r   r     
      	r   r   c                    #    [        SU R                  SSR                  [        U R	                  S5      5      S9US9I Sh  vN 5      $  N7f)rk   r   rl   rm   ra   rn   ro   Nr   _request_asyncrr   r
   r   r~   s     r+   r   r   
  s_      %%299"488D>2 :   &  	
 		
   A AA
	Ar>   c                 d    [        SU R                  SSR                  [        U5      S9US95      $ )W
Archives this alert, removing it from the list view and APIs. This is non-reversible.
r   rl   /v1/billing/alerts/{id}/archivern   ro   rp   rs   s      r+   _cls_archiveAlert._cls_archive  sB     188KO8L   
 	
r*   c                     gr   Nr#   ry   s     r+   archiveAlert.archive,  r|   r*   c                     gr   r#   r~   s     r+   r   r   4  r   r*   r   c                     [        SU R                  SSR                  [        U R	                  S5      5      S9US95      $ )r   r   rl   r   ra   rn   ro   r   r~   s     r+   r   r   ;  sP     MM188"488D>2 9    	
 		
r*   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r   r   rl   r   rn   ro   Nr   rs   s      r+   _cls_archive_asyncAlert._cls_archive_asyncM  sO      ++188KO8L ,  
 	
r   c                    #    g7fr   r#   ry   s     r+   archive_asyncAlert.archive_async]  r   r   c                    #    g7fr   r#   r~   s     r+   r   r   g  r   r   r   c                    #    [        SU R                  SSR                  [        U R	                  S5      5      S9US9I Sh  vN 5      $  N7f)r   r   rl   r   ra   rn   ro   Nr   r~   s     r+   r   r   p  s_      %%188"488D>2 9   &  	
 		
r   rB   c           	      T    [        SU R                  SU R                  5       US95      $ )
Creates a billing alert
r   rl   ro   )r   rq   	class_urlrt   rh   s     r+   createAlert.create  s6    
    
 	
r*   c           	      p   #    [        SU R                  SU R                  5       US9I Sh  vN 5      $  N7f)r   r   rl   ro   N)r   r   r   r   s     r+   create_asyncAlert.create_async  sC      ++ ,  
 	
s   )64
	6rS   c                 d    [        SU R                  SSR                  [        U5      S9US95      $ )8
Deactivates this alert, preventing it from triggering.
r   rl   "/v1/billing/alerts/{id}/deactivatern   ro   rp   rs   s      r+   _cls_deactivateAlert._cls_deactivate  sI     4;;"2 <     	
 		
r*   c                     gr   Nr#   ry   s     r+   
deactivateAlert.deactivate  s     	r*   c                     gr   r#   r~   s     r+   r   r     s     	r*   r   c                     [        SU R                  SSR                  [        U R	                  S5      5      S9US95      $ )r   r   rl   r   ra   rn   ro   r   r~   s     r+   r   r     sP     MM4;;"488D>2 <    	
 		
r*   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r   r   rl   r   rn   ro   Nr   rs   s      r+   _cls_deactivate_asyncAlert._cls_deactivate_async  sV      ++4;;"2 <   ,  	
 		
r   c                    #    g7fr   r#   ry   s     r+   deactivate_asyncAlert.deactivate_async  r   r   c                    #    g7fr   r#   r~   s     r+   r   r     r   r   r   c                    #    [        SU R                  SSR                  [        U R	                  S5      5      S9US9I Sh  vN 5      $  N7f)r   r   rl   r   ra   rn   ro   Nr   r~   s     r+   r   r     s_      %%4;;"488D>2 <   &  	
 		
r   rW   c                     U R                  SU R                  5       US9n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$ )*
Lists billing active and inactive alerts
r   ro   %Expected list object from API, got %s)rq   r   
isinstancer   	TypeErrorr"   r$   rt   rh   results      r+   list
Alert.list  s`    
 $$MMO % 

 &*--7<((* 
 r*   c                    #    U R                  SU R                  5       US9I Sh  vN n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$  N<7f)r   r   ro   Nr   )r   r   r   r   r   r"   r$   r   s      r+   
list_asyncAlert.list_async   sm      00MMO 1 
 

 &*--7<((* 
 
s   #A$A"=A$r^   c                 8    U " U40 UD6nUR                  5         U$ )'
Retrieves a billing alert given an ID
)refreshrt   ra   rh   instances       r+   retrieveAlert.retrieve4  s$     r$V$r*   c                 T   #    U " U40 UD6nUR                  5       I Sh  vN   U$  N7f)r   N)refresh_asyncr   s       r+   retrieve_asyncAlert.retrieve_async?  s2      r$V$$$&&& 	's   (&(r#   N)2r$   r%   r&   r'   __doc__r   r   r   r(   r   r4   r   r;   r@   rH   r   rL   rP   rU   r\   r`   r:   boolr   classmethodr   ru   r   staticmethodrz   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r3   r)   r#   r*   r+   r   r      s    7FK'/23E1 14  ~ $Y $9 > ^ 4  )** 	G N O$$ W=>?? J n-- 

 &'= >
	
 
 S F+A$B w    (>!? G   /*
56
	
 +
" 

 &'= >
	
 
 !"89	   56	  /0
56
	
 1
" 

 &'< =
	
 
 C 6*?#@ W    '< = '   .)
45
	
 *
" 

 &'< =
	
 
 !"78	   45	  ./
45
	
 0
" 
f%9: 
w 
 
 
23
	
 
 

 &'? @
	
 
" !":;	   78	  +,
78
	
 -
" 

 &'? @
	
 
" !":;	   78	  12
78
	
 3
" F#56 :g;N  " 01	G	 &  &'= >	   &'= >	  ,^<r*   r   N) stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._utilr	   r
   typingr   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._customerr   stripe.billing._meterr   r   r#   r*   r+   <module>r      sT    B 4 * = 2 . : ; ;  )+r=!'*,?,H r=r*   