o
    f>h`(                     @   s   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
 d
eZG dd deZG dd deZdS )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                	       s   e Zd ZG dd deZ	 	ddedeeef de	e f fddZ
edddZejejfdedeeef deeef d	d fddZejejfdedeeef deeef d	d fddZd	efddZ  ZS )BundleCloneInstancec                   @   s$   e Zd ZdZdZdZdZdZdZdS )z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 r   r   V/var/www/html/venv/lib/python3.10/site-packages/twilio/rest/numbers/v2/bundle_clone.pyStatus   s    r   Nversionpayload
bundle_sidc                    s   t  | |d| _|d| _|d| _|d| _|d| _t	|d| _
|d| _|d| _t	|d	| _t	|d
| _|d| _d|pV| ji| _d | _d S )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__r   r   r*   0   s*   

zBundleCloneInstance.__init__returnBundleCloneContextc                 C   s&   | j du rt| j| jd 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
        Nr   r   )r.   r3   _versionr-   r/   r   r   r   _proxyO   s   
zBundleCloneInstance._proxytarget_account_sidmove_to_draftr!   c                 C   s   | j j|||d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
        r9   r!   )r7   creater/   r8   r9   r!   r   r   r   r<   ^   s
   zBundleCloneInstance.createc                    s   | j j|||dI dH S )  
        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
        r;   N)r7   create_asyncr=   r   r   r   r?   s   s   z BundleCloneInstance.create_asyncc                 C   $   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s        | ]\}}d  ||V  qdS z{}={}Nformat.0kvr   r   r   	<genexpr>       z/BundleCloneInstance.__repr__.<locals>.<genexpr>z*<Twilio.Numbers.V2.BundleCloneInstance {}>joinr-   itemsrF   r/   contextr   r   r   __repr__      
zBundleCloneInstance.__repr__)N)r2   r3   )r   r   r   objectr   r   r   strr   r   r*   propertyr7   r	   unsetr   boolr<   r?   rR   __classcell__r   r   r0   r   r      sH    






r   c                	       s   e Zd Zdedef fddZejejfdedee	e
f deee
f defd	d
Zejejfdedee	e
f deee
f defddZdefddZ  ZS )r3   r   r   c                    s.   t  | d|i| _djdi | j| _dS )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)   r*   r-   rF   _uri)r/   r   r   r0   r   r   r*      s   zBundleCloneContext.__init__r8   r9   r!   r2   c                 C   sB   t |t||d}| jjd| j|d}t| j|| jd dS )r:   TargetAccountSidMoveToDraftFriendlyNamePOSTmethoduridatar   r4   )	r	   ofr   boolean_to_stringr5   r<   rZ   r   r-   r/   r8   r9   r!   rc   r   r   r   r   r<      s   zBundleCloneContext.createc                    sJ   t |t||d}| jjd| j|dI dH }t| j|| jd dS )r>   r[   r_   r`   Nr   r4   )	r	   rd   r   re   r5   r?   rZ   r   r-   rf   r   r   r   r?      s   zBundleCloneContext.create_asyncc                 C   r@   )rA   rB   c                 s   rC   rD   rE   rG   r   r   r   rK      rL   z.BundleCloneContext.__repr__.<locals>.<genexpr>z)<Twilio.Numbers.V2.BundleCloneContext {}>rM   rP   r   r   r   rR      rS   zBundleCloneContext.__repr__)r   r   r   r   rU   r*   r	   rW   r   rX   rT   r   r<   r?   rR   rY   r   r   r0   r   r3      s2    


 


r3   c                       sT   e Zd Zdef fddZdedefddZdedefdd	Zdefd
dZ	  Z
S )BundleCloneListr   c                    s   t  | dS )zm
        Initialize the BundleCloneList

        :param version: Version that contains the resource

        N)r)   r*   )r/   r   r0   r   r   r*      s   zBundleCloneList.__init__r   r2   c                 C      t | j|dS z
        Constructs a BundleCloneContext

        :param bundle_sid: The unique string that identifies the Bundle to be cloned.
        r4   r3   r5   r/   r   r   r   r   r+         zBundleCloneList.getc                 C   rh   ri   rj   rk   r   r   r   __call__   rl   zBundleCloneList.__call__c                 C   s   dS )rA   z#<Twilio.Numbers.V2.BundleCloneList>r   r6   r   r   r   rR     s   zBundleCloneList.__repr__)r   r   r   r   r*   rU   r3   r+   rm   rR   rY   r   r   r0   r   rg      s
    	rg   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   r3   rg   r   r   r   r   <module>   s    zY