U
    hRf                      @   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                       st   e Zd ZdZdeeeef ee d fddZ	e
dddd	Zd dd
dZd dddZed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|pv| 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__ K/tmp/pip-unpacked-wheel-74se_viw/twilio/rest/numbers/v1/bulk_eligibility.pyr   #   s      z BulkEligibilityInstance.__init__BulkEligibilityContextreturnc                 C   s&   | j dk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   s$   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s   s   | ]\}}d  ||V  qdS z{}={}Nformat.0kvr!   r!   r"   	<genexpr>c   s     z3BulkEligibilityInstance.__repr__.<locals>.<genexpr>z.<Twilio.Numbers.V1.BulkEligibilityInstance {}>joinr   itemsr2   r   contextr!   r!   r"   __repr__]   s    z BulkEligibilityInstance.__repr__)N)__name__
__module____qualname____doc__r   r   strr   r   r   propertyr)   r+   r-   r=   __classcell__r!   r!   r   r"   r      s    
		r   c                       sN   e Zd Zeed fddZedddZedddZedd	d
Z	  Z
S )r#   )r   r   c                    s*   t  | d|i| _djf | 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}N)r   r   r   r2   _uri)r   r   r   r   r!   r"   r   i   s     zBulkEligibilityContext.__init__r$   c                 C   s(   | j jd| jd}t| j || jd dS )r*   GETmethodurir   r&   )r'   r+   rE   r   r   r   r   r!   r!   r"   r+   z   s    zBulkEligibilityContext.fetchc                    s.   | j jd| jdI dH }t| j || jd dS )r,   rF   rG   Nr   r&   )r'   r-   rE   r   r   rJ   r!   r!   r"   r-      s    z"BulkEligibilityContext.fetch_asyncc                 C   s$   d dd | j D }d|S )r.   r/   c                 s   s   | ]\}}d  ||V  qdS r0   r1   r3   r!   r!   r"   r7      s     z2BulkEligibilityContext.__repr__.<locals>.<genexpr>z-<Twilio.Numbers.V1.BulkEligibilityContext {}>r8   r;   r!   r!   r"   r=      s    zBulkEligibilityContext.__repr__)r>   r?   r@   r   rB   r   r   r+   r-   r=   rD   r!   r!   r   r"   r#   g   s   r#   c                       s   e Zd Zed fddZejfeeef e	dddZ
ejfeeef e	dddZeed	d
dZeed	ddZedddZ  ZS )BulkEligibilityList)r   c                    s   t  | d| _dS )zq
        Initialize the BulkEligibilityList

        :param version: Version that contains the resource

        z/HostedNumber/Eligibility/BulkN)r   r   rE   )r   r   r   r!   r"   r      s    zBulkEligibilityList.__init__)bodyr%   c                 C   s@   |  }tddi}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-urlencodedapplication/jsonPOSTrH   rI   dataheaders)to_dictr	   ofr'   createrE   r   r   rL   rR   rS   r   r!   r!   r"   rV      s    
   zBulkEligibilityList.createc                    sF   |  }tddi}d|d< | jjd| j||dI dH }t| j|S )z
        Asynchronously create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        rM   rN   rO   rP   rQ   N)rT   r	   rU   r'   create_asyncrE   r   rW   r!   r!   r"   rX      s    
   z BulkEligibilityList.create_async)r   r%   c                 C   s   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      s    zBulkEligibilityList.getc                 C   s   t | j|dS rY   rZ   r[   r!   r!   r"   __call__   s    zBulkEligibilityList.__call__r$   c                 C   s   dS )r.   z'<Twilio.Numbers.V1.BulkEligibilityList>r!   r(   r!   r!   r"   r=      s    zBulkEligibilityList.__repr__)r>   r?   r@   r   r   r	   Zunsetr   objectr   rV   rX   rB   r#   r   r\   r=   rD   r!   r!   r   r"   rK      s   

rK   N)rA   r   typingr   r   r   r   r   Ztwilio.baser   r	   Ztwilio.base.instance_contextr
   Ztwilio.base.instance_resourcer   Ztwilio.base.list_resourcer   Ztwilio.base.versionr   r   r#   rK   r!   r!   r!   r"   <module>   s   OC