o
    f>h!                     @   s   d Z ddlmZ ddlmZmZmZmZmZ ddl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ListOptionalUnion)deserializevalues)InstanceContext)InstanceResource)ListResource)Versionc                       sn   e Zd ZdZ	ddedeeef dee f fddZ	e
dd
dZdddZdddZdefddZ  ZS )BulkEligibilityInstanceuU  
    :ivar request_id: The SID of the bulk eligibility check that you want to know about.
    :ivar url: This is the url of the request that you're trying to reach out to locate the resource.
    :ivar results: The result set that contains the eligibility check response for each requested number, each result has at least the following attributes:  phone_number: The requested phone number ,hosting_account_sid: The account sid where the phone number will be hosted, country: Phone number’s country, eligibility_status: Indicates the eligibility status of the PN (Eligible/Ineligible), eligibility_sub_status: Indicates the sub status of the eligibility , ineligibility_reason: Reason for number's ineligibility (if applicable), next_step: Suggested next step in the hosting process based on the eligibility status.
    :ivar friendly_name: This is the string that you assigned as a friendly name for describing the eligibility check request.
    :ivar status: This is the status of the bulk eligibility check request. (Example: COMPLETE, IN_PROGRESS)
    :ivar date_created:
    :ivar date_completed:
    Nversionpayload
request_idc                    s   t  | |d| _|d| _|d| _|d| _|d| _t	|d| _
t	|d| _d|p;| ji| _d | _d S )Nr   urlresultsfriendly_namestatusdate_createddate_completed)super__init__getr   r   r   r   r   r   iso8601_datetimer   r   	_solution_context)selfr   r   r   	__class__ Z/var/www/html/venv/lib/python3.10/site-packages/twilio/rest/numbers/v1/bulk_eligibility.pyr   #   s   

z BulkEligibilityInstance.__init__returnBulkEligibilityContextc                 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: BulkEligibilityContext for this BulkEligibilityInstance
        Nr   r   )r   r$   _versionr   r   r!   r!   r"   _proxy<   s   
zBulkEligibilityInstance._proxyc                 C   s
   | j  S )k
        Fetch the BulkEligibilityInstance


        :returns: The fetched BulkEligibilityInstance
        )r(   fetchr'   r!   r!   r"   r*   K   s   
zBulkEligibilityInstance.fetchc                    s   | j  I dH S )
        Asynchronous coroutine to fetch the BulkEligibilityInstance


        :returns: The fetched BulkEligibilityInstance
        N)r(   fetch_asyncr'   r!   r!   r"   r,   T   s   z#BulkEligibilityInstance.fetch_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>c       z3BulkEligibilityInstance.__repr__.<locals>.<genexpr>z.<Twilio.Numbers.V1.BulkEligibilityInstance {}>joinr   itemsr3   r   contextr!   r!   r"   __repr__]      
z BulkEligibilityInstance.__repr__)N)r#   r$   )r#   r   )__name__
__module____qualname____doc__r   r   strr   r   r   propertyr(   r*   r,   r?   __classcell__r!   r!   r   r"   r      s    


		r   c                       sP   e Zd Zdedef fddZdefddZdefdd	Zdefd
dZ	  Z
S )r$   r   r   c                    s.   t  | d|i| _djdi | j| _dS )z
        Initialize the BulkEligibilityContext

        :param version: Version that contains the resource
        :param request_id: The SID of the bulk eligibility check that you want to know about.
        r   z+/HostedNumber/Eligibility/Bulk/{request_id}Nr!   )r   r   r   r3   _uri)r   r   r   r   r!   r"   r   i   s   zBulkEligibilityContext.__init__r#   c                 C   s<   t i }d|d< | jjd| j|d}t| j|| jd dS )r)   application/jsonAcceptGETmethoduriheadersr   r%   )r	   ofr&   r*   rH   r   r   r   rO   r   r!   r!   r"   r*   z   s   
zBulkEligibilityContext.fetchc                    sD   t i }d|d< | jjd| j|dI dH }t| j|| jd dS )r+   rI   rJ   rK   rL   Nr   r%   )r	   rP   r&   r,   rH   r   r   rQ   r!   r!   r"   r,      s   
z"BulkEligibilityContext.fetch_asyncc                 C   r-   )r.   r/   c                 s   r0   r1   r2   r4   r!   r!   r"   r8      r9   z2BulkEligibilityContext.__repr__.<locals>.<genexpr>z-<Twilio.Numbers.V1.BulkEligibilityContext {}>r:   r=   r!   r!   r"   r?      r@   zBulkEligibilityContext.__repr__)rA   rB   rC   r   rE   r   r   r*   r,   r?   rG   r!   r!   r   r"   r$   g   s
    r$   c                       s   e Zd Zdef fddZejfdeeef de	fddZ
ejfdeeef de	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 )BulkEligibilityListr   c                    s   t  | d| _dS )zq
        Initialize the BulkEligibilityList

        :param version: Version that contains the resource

        z/HostedNumber/Eligibility/BulkN)r   r   rH   )r   r   r   r!   r"   r      s   
zBulkEligibilityList.__init__bodyr#   c                 C   sH   |  }tddi}d|d< d|d< | jjd| j||d}t| j|S )z
        Create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        Content-Type!application/x-www-form-urlencodedrI   rJ   POSTrM   rN   datarO   )to_dictr	   rP   r&   createrH   r   r   rS   rX   rO   r   r!   r!   r"   rZ      s   

zBulkEligibilityList.createc                    sP   |  }tddi}d|d< d|d< | jjd| j||dI dH }t| j|S )z
        Asynchronously create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        rT   rU   rI   rJ   rV   rW   N)rY   r	   rP   r&   create_asyncrH   r   r[   r!   r!   r"   r\      s   

z BulkEligibilityList.create_asyncr   c                 C      t | j|dS z
        Constructs a BulkEligibilityContext

        :param request_id: The SID of the bulk eligibility check that you want to know about.
        r%   r$   r&   r   r   r!   r!   r"   r         zBulkEligibilityList.getc                 C   r]   r^   r_   r`   r!   r!   r"   __call__   ra   zBulkEligibilityList.__call__c                 C   s   dS )r.   z'<Twilio.Numbers.V1.BulkEligibilityList>r!   r'   r!   r!   r"   r?      s   zBulkEligibilityList.__repr__)rA   rB   rC   r   r   r	   unsetr   objectr   rZ   r\   rE   r$   r   rb   r?   rG   r!   r!   r   r"   rR      s"    



rR   N)rD   r   typingr   r   r   r   r   twilio.baser   r	   twilio.base.instance_contextr
   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   r   r$   rR   r!   r!   r!   r"   <module>   s    OG