
    pi!                         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
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ListOptionalUnion)deserializevalues)InstanceContext)InstanceResource)ListResource)Versionc                   r     e Zd ZdZ	 ddedeeef   dee   f fdZ	e
dd       ZddZdd	Zdefd
Z x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:
    versionpayload
request_idc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        t        j                  |j                  d            | _
        t        j                  |j                  d            | _        d|xs | j                  i| _        d | _        y )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__s       i/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/twilio/rest/numbers/v1/bulk_eligibility.pyr   z BulkEligibilityInstance.__init__#   s     	!)0\)B")++e"4:A++i:P,3KK,H%,[[%:0;0L0LKK'1
 3>2N2NKK()3

 *7
 ;?    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: BulkEligibilityContext for this BulkEligibilityInstance
        r   r   )r    BulkEligibilityContext_versionr   r!   s    r#   _proxyzBulkEligibilityInstance._proxy<   s9     == 2>>,7DM }}r$   c                 6    | j                   j                         S )k
        Fetch the BulkEligibilityInstance


        :returns: The fetched BulkEligibilityInstance
        )r+   fetchr*   s    r#   r.   zBulkEligibilityInstance.fetchK   s     {{  ""r$   c                 R   K   | j                   j                          d{   S 7 w)
        Asynchronous coroutine to fetch the BulkEligibilityInstance


        :returns: The fetched BulkEligibilityInstance
        N)r+   fetch_asyncr*   s    r#   r1   z#BulkEligibilityInstance.fetch_asyncT   s!      [[,,....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>z3BulkEligibilityInstance.__repr__.<locals>.<genexpr>c        SDAq7>>!Q/S   !z.<Twilio.Numbers.V1.BulkEligibilityInstance {}>joinr   itemsr8   r!   contexts     r#   __repr__z BulkEligibilityInstance.__repr__]   s6     ((SDNN<P<P<RSS?FFwOOr$   )N)r%   r(   )r%   r   )__name__
__module____qualname____doc__r   r   strr   r   r   propertyr+   r.   r1   rE   __classcell__r"   s   @r#   r   r      sf     %)	?? c3h? SM	?2  #/P# Pr$   r   c                   L     e Zd Zdedef fdZdefdZ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 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   r8   _uri)r!   r   r   r"   s      r#   r   zBulkEligibilityContext.__init__i   sF     	! *
 IAHH 
nn
	r$   r%   c                     t        j                  i       }d|d<   | j                  j                  d| j                  |      }t        | j                  || j                  d         S )r-   application/jsonAcceptGETmethoduriheadersr   r'   )r
   ofr)   r.   rQ   r   r   r!   rY   r   s      r#   r.   zBulkEligibilityContext.fetchz   s]     ))B-.--%%U		7%S&MM~~l3
 	
r$   c                    K   t        j                  i       }d|d<   | j                  j                  d| j                  |       d{   }t        | j                  || j                  d         S 7 )w)r0   rS   rT   rU   rV   Nr   r'   )r
   rZ   r)   r1   rQ   r   r   r[   s      r#   r1   z"BulkEligibilityContext.fetch_async   sr      ))B-.11dii 2 
 
 'MM~~l3
 	
	
s   AA4A2	*A4c                     dj                  d | j                  j                         D              }dj                  |      S )r3   r4   c              3   F   K   | ]  \  }}d j                  ||        ywr6   r7   r9   s      r#   r=   z2BulkEligibilityContext.__repr__.<locals>.<genexpr>   r>   r?   z-<Twilio.Numbers.V1.BulkEligibilityContext {}>r@   rC   s     r#   rE   zBulkEligibilityContext.__repr__   s6     ((SDNN<P<P<RSS>EEgNNr$   )rF   rG   rH   r   rJ   r   r   r.   r1   rE   rL   rM   s   @r#   r(   r(   g   s>    
 
S 
"
. 
(
#: 
,O# Or$   r(   c                        e Zd Zdef fdZej                  fdeeef   de	fdZ
ej                  fdeeef   de	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 )BulkEligibilityListr   c                 2    t         |   |       d| _        y)zq
        Initialize the BulkEligibilityList

        :param version: Version that contains the resource

        z/HostedNumber/Eligibility/BulkN)r   r   rQ   )r!   r   r"   s     r#   r   zBulkEligibilityList.__init__   s     	!4	r$   bodyr%   c                     |j                         }t        j                  ddi      }d|d<   d|d<   | j                  j	                  d| j
                  ||      }t        | j                  |      S )z
        Create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        Content-Type!application/x-www-form-urlencodedrS   rT   POSTrW   rX   datarY   )to_dictr
   rZ   r)   createrQ   r   r!   rb   rh   rY   r   s        r#   rj   zBulkEligibilityList.create   sp     ||~))^-PQR"4.--&&tyytW ' 
 't}}g>>r$   c                    K   |j                         }t        j                  ddi      }d|d<   d|d<   | j                  j	                  d| j
                  ||       d{   }t        | j                  |      S 7 w)z
        Asynchronously create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        rd   re   rS   rT   rf   rg   N)ri   r
   rZ   r)   create_asyncrQ   r   rk   s        r#   rm   z BulkEligibilityList.create_async   s~      ||~))^-PQR"4.22tyytW 3 
 
 't}}g>>	
s   AA= A;!A=r   c                 0    t        | j                  |      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   s     r#   r   zBulkEligibilityList.get        &dmm
KKr$   c                 0    t        | j                  |      S ro   rp   rq   s     r#   __call__zBulkEligibilityList.__call__   rr   r$   c                      y)r3   z'<Twilio.Numbers.V1.BulkEligibilityList>rP   r*   s    r#   rE   zBulkEligibilityList.__repr__   s     9r$   )rF   rG   rH   r   r   r
   unsetr   objectr   rj   rm   rJ   r(   r   rt   rE   rL   rM   s   @r#   r`   r`      s    	5 	5 -3LL?&&.)?	 ?2 -3LL?&&.)?	 ?0Lc L&< LL3 L+A L9# 9r$   r`   N)rI   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(   r`   rP   r$   r#   <module>r~      sU     3 3 + 8 : 2 'LP. LP^DO_ DONS9, S9r$   