
    pi)                         d Z ddlmZ ddlmZmZmZmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ ddlmZ  G d	 d
e      Z G d de      Z G d de      Zy)a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Numbers
    This is the public Twilio REST API.

    NOTE: This class is auto generated by OpenAPI Generator.
    https://openapi-generator.tech
    Do not edit the class manually.
    )datetime)AnyDictOptionalUnion)deserialize	serializevalues)InstanceContext)InstanceResource)ListResource)Versionc            	       *    e Zd Z G d de      Z	 	 ddedeeef   de	e   f fdZ
edd       Zej                  ej                  fd	ed
eeef   deeef   dd fdZej                  ej                  fd	ed
eeef   deeef   dd fdZdefdZ xZS )BundleCloneInstancec                   $    e Zd ZdZdZdZdZdZdZy)BundleCloneInstance.Statusdraftzpending-reviewz	in-reviewztwilio-rejectedztwilio-approvedzprovisionally-approvedN)	__name__
__module____qualname__DRAFTPENDING_REVIEW	IN_REVIEWTWILIO_REJECTEDTWILIO_APPROVEDPROVISIONALLY_APPROVED     e/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/twilio/rest/numbers/v2/bundle_clone.pyStatusr      s!    )	++!9r   r    versionpayload
bundle_sidc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        t        j                  |j                  d            | _
        |j                  d      | _        |j                  d      | _        t        j                  |j                  d	            | _        t        j                  |j                  d
            | _        |j                  d      | _        d|xs | j                  i| _        d | _        y )Nr#   account_sidregulation_sidfriendly_namestatusvalid_untilemailstatus_callbackdate_createddate_updatedurl)super__init__getr#   r%   r&   r'   r(   r   iso8601_datetimer)   r*   r+   r,   r-   r.   	_solution_context)selfr!   r"   r#   	__class__s       r   r0   zBundleCloneInstance.__init__0   s    	!)0\)B*1++m*D-4[[9I-J,3KK,H>Ekk(>S/:/K/KKK&0
 %,KK$8
.5kk:K.L0;0L0LKK'1
 1<0L0LKK'1
 #*++e"4 *7
 7;r   returnc                     | j                   )t        | j                  | j                  d         | _         | j                   S )z
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: BundleCloneContext for this BundleCloneInstance
        r#   r#   )r4   BundleCloneContext_versionr3   r5   s    r   _proxyzBundleCloneInstance._proxyO   s9     == .>>,7DM }}r   target_account_sidmove_to_draftr'   c                 >    | j                   j                  |||      S )  
        Create the BundleCloneInstance

        :param target_account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) where the bundle needs to be cloned.
        :param move_to_draft: If set to true, the cloned bundle will be in the DRAFT state, else it will be twilio-approved
        :param friendly_name: The string that you assigned to describe the cloned bundle.

        :returns: The created BundleCloneInstance
        r?   r'   )r=   creater5   r>   r?   r'   s       r   rC   zBundleCloneInstance.create^   s)     {{!!'' " 
 	
r   c                 Z   K   | j                   j                  |||       d{   S 7 w)  
        Asynchronous coroutine to create the BundleCloneInstance

        :param target_account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) where the bundle needs to be cloned.
        :param move_to_draft: If set to true, the cloned bundle will be in the DRAFT state, else it will be twilio-approved
        :param friendly_name: The string that you assigned to describe the cloned bundle.

        :returns: The created BundleCloneInstance
        rB   N)r=   create_asyncrD   s       r   rG   z BundleCloneInstance.create_asyncs   s7      [[--'' . 
 
 	
 
s   "+)+c                     dj                  d | j                  j                         D              }dj                  |      S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c              3   F   K   | ]  \  }}d j                  ||        ywz{}={}Nformat.0kvs      r   	<genexpr>z/BundleCloneInstance.__repr__.<locals>.<genexpr>        SDAq7>>!Q/S   !z*<Twilio.Numbers.V2.BundleCloneInstance {}>joinr3   itemsrN   r5   contexts     r   __repr__zBundleCloneInstance.__repr__   s6     ((SDNN<P<P<RSS;BB7KKr   )N)r7   r:   )r   r   r   objectr    r   r   strr   r   r0   propertyr=   r
   unsetr   boolrC   rG   r[   __classcell__r6   s   @r   r   r      s   : :$ %)	;; c3h; SM	;>  " .4\\,2LL	

 T6\*
 S&[)	

 

0 .4\\,2LL	

 T6\*
 S&[)	

 

*L# Lr   r   c            	            e Zd Zdedef fdZej                  ej                  fdedee	e
f   deee
f   defdZej                  ej                  fdedee	e
f   deee
f   defd	Zdefd
Z xZS )r:   r!   r#   c                 x    t         |   |       d|i| _         dj                  di | j                  | _        y)z
        Initialize the BundleCloneContext

        :param version: Version that contains the resource
        :param bundle_sid: The unique string that identifies the Bundle to be cloned.
        r#   z1/RegulatoryCompliance/Bundles/{bundle_sid}/ClonesNr   )r/   r0   r3   rN   _uri)r5   r!   r#   r6   s      r   r0   zBundleCloneContext.__init__   sF     	! *
 OGNN 
nn
	r   r>   r?   r'   r7   c                 4   t        j                  |t        j                  |      |d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||      }t        | j                  || j                  d   	      S )
rA   TargetAccountSidMoveToDraftFriendlyName!application/x-www-form-urlencodedContent-Typeapplication/jsonAcceptPOSTmethoduridataheadersr#   r9   )	r
   ofr	   boolean_to_stringr;   rC   re   r   r3   r5   r>   r?   r'   rs   rt   r"   s          r   rC   zBundleCloneContext.create   s      yy$6(::=I -
 ))B-"E.--&&tyytW ' 
 #MM7t~~l/K
 	
r   c                 P  K   t        j                  |t        j                  |      |d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||       d{   }t        | j                  || j                  d	   
      S 7 )w)rF   rg   rk   rl   rm   rn   ro   rp   Nr#   r9   )	r
   ru   r	   rv   r;   rG   re   r   r3   rw   s          r   rG   zBundleCloneContext.create_async   s       yy$6(::=I -
 ))B-"E.22tyytW 3 
 
 #MM7t~~l/K
 	
	
s   A8B&:B$;*B&c                     dj                  d | j                  j                         D              }dj                  |      S )rI   rJ   c              3   F   K   | ]  \  }}d j                  ||        ywrL   rM   rO   s      r   rS   z.BundleCloneContext.__repr__.<locals>.<genexpr>   rT   rU   z)<Twilio.Numbers.V2.BundleCloneContext {}>rV   rY   s     r   r[   zBundleCloneContext.__repr__   s6     ((SDNN<P<P<RSS:AA'JJr   )r   r   r   r   r]   r0   r
   r_   r   r`   r\   r   rC   rG   r[   ra   rb   s   @r   r:   r:      s    
 
S 
( .4\\,2LL	#
#
 T6\*#
 S&[)	#

 
#
P .4\\,2LL	#
#
 T6\*#
 S&[)	#

 
#
JK# Kr   r:   c                   P     e Zd Zdef fdZdedefdZdedefdZdefdZ	 xZ
S )BundleCloneListr!   c                 $    t         |   |       y)zm
        Initialize the BundleCloneList

        :param version: Version that contains the resource

        N)r/   r0   )r5   r!   r6   s     r   r0   zBundleCloneList.__init__   s     	!r   r#   r7   c                 0    t        | j                  |      S z
        Constructs a BundleCloneContext

        :param bundle_sid: The unique string that identifies the Bundle to be cloned.
        r9   r:   r;   r5   r#   s     r   r1   zBundleCloneList.get       "$--JGGr   c                 0    t        | j                  |      S r   r   r   s     r   __call__zBundleCloneList.__call__  r   r   c                      y)rI   z#<Twilio.Numbers.V2.BundleCloneList>r   r<   s    r   r[   zBundleCloneList.__repr__  s     5r   )r   r   r   r   r0   r]   r:   r1   r   r[   ra   rb   s   @r   r|   r|      sI    " "Hc H&8 HH3 H+= H5# 5r   r|   N)__doc__r   typingr   r   r   r   twilio.baser   r	   r
   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   r   r:   r|   r   r   r   <module>r      sV     - - 6 6 8 : 2 'wL* wLtdK dKN!5l !5r   