
    d{i                         d Z ddlmZ ddlmZmZ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 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 G d de      Zy)a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Assistants
    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IteratorAsyncIterator)deserializevalues)ApiResponse)InstanceContext)InstanceResource)ListResource)Version)Pagec                       e Zd Z G d de      Z G d de      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defdZdefdZdefdZdefdZddZddZdefdZdefdZej4                  fdeeef   dd fdZej4                  fdeeef   dd fdZej4                  fdeeef   defdZej4                  fdeeef   defdZde	fdZ  xZ!S )ToolInstancec                   ,    e Zd ZdZdeeef   fdZd Zy)3ToolInstance.AssistantsV1ServiceCreatePolicyRequest
        :ivar description: The description of the policy.
        :ivar id: The Policy ID.
        :ivar name: The name of the policy.
        :ivar policy_details:
        :ivar type: The description of the policy.
        payloadc                     |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y Ndescriptionidnamepolicy_detailstypegetr   r   r   r   r   selfr   s     \/home/sas/my/fyp/ringai/.venv/lib/python3.12/site-packages/twilio/rest/assistants/v1/tool.py__init__z<ToolInstance.AssistantsV1ServiceCreatePolicyRequest.__init__%   Z    .5kk-.HD%,[[%6DG'.{{6':DI?F{{ @D (/{{6':DI    c                 v    | j                   | j                  | j                  | j                  | j                  dS Nr   r   r   r   r   r*   r#   s    r$   to_dictz;ToolInstance.AssistantsV1ServiceCreatePolicyRequest.to_dict/   3    #//gg		"&"5"5		 r'   N	__name__
__module____qualname____doc__r   strr   r%   r,    r'   r$   &AssistantsV1ServiceCreatePolicyRequestr           		;DcN 	;	r'   r5   c                   ,    e Zd ZdZdeeef   fdZd Zy)1ToolInstance.AssistantsV1ServiceCreateToolRequestq  
        :ivar assistant_id: The Assistant ID.
        :ivar description: The description of the tool.
        :ivar enabled: True if the tool is enabled.
        :ivar meta: The metadata related to method, url, input_schema to used with the Tool.
        :ivar name: The name of the tool.
        :ivar policy:
        :ivar type: The description of the tool.
        r   c                 8   |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y Nassistant_idr   enabledmetar   policyr   r!   r<   r   r=   r>   r   r?   r   r"   s     r$   r%   z:ToolInstance.AssistantsV1ServiceCreateToolRequest.__init__C   y    /6{{>/JD.5kk-.HD+2;;y+ADL5<[[5HDI'.{{6':DIH% K (/{{6':DIr'   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j
                  j                         nd | j                  dS N)r<   r   r=   r>   r   r?   r   r<   r   r=   r>   r   r?   r,   r   r+   s    r$   r,   z9ToolInstance.AssistantsV1ServiceCreateToolRequest.to_dictO   V     $ 1 1#//<<				37;;3J$++--/PT		 r'   Nr.   r4   r'   r$   $AssistantsV1ServiceCreateToolRequestr8   8        	
	;DcN 
	;		r'   rF   c                   ,    e Zd ZdZdeeef   fdZd Zy)1ToolInstance.AssistantsV1ServiceUpdateToolRequestj  
        :ivar assistant_id: The Assistant ID.
        :ivar description: The description of the tool.
        :ivar enabled: True if the tool is enabled.
        :ivar meta: The metadata related to method, url, input_schema to used with the Tool.
        :ivar name: The name of the tool.
        :ivar policy:
        :ivar type: The type of the tool.
        r   c                 8   |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r;   r@   r"   s     r$   r%   z:ToolInstance.AssistantsV1ServiceUpdateToolRequest.__init__e   rA   r'   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j
                  j                         nd | j                  dS rC   rD   r+   s    r$   r,   z9ToolInstance.AssistantsV1ServiceUpdateToolRequest.to_dictq   rE   r'   Nr.   r4   r'   r$   $AssistantsV1ServiceUpdateToolRequestrI   Z   rG   r'   rM   versionr   r   c                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _	        |j                  d      | _
        |j                  d	      | _        t        j                  |j                  d
            | _        t        j                  |j                  d            | _        |j                  d      | _        d|xs | j                  i| _        d | _        y )Naccount_sidr   r=   r   r>   r   requires_authr   urldate_createddate_updatedpolicies)superr%   r!   rP   r   r=   r   r>   r   rQ   r   rR   r   iso8601_datetimerS   rT   rU   	_solution_context)r#   rN   r   r   	__class__s       r$   r%   zToolInstance.__init__   s    	!*1++m*D*1++m*D'.{{9'=!(T!218V1D	#*;;v#6	-4[[-I#*;;v#6	")++e"40;0L0LKK'1
 1<0L0LKK'1
 .5[[-D "-
 04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: ToolContext for this ToolInstance
        r   r   )rY   ToolContext_versionrX   r+   s    r$   _proxyzToolInstance._proxy   s9     == '>>$'DM }}r'   c                 6    | j                   j                         S zg
        Deletes the ToolInstance


        :returns: True if delete succeeds, False otherwise
        )r`   deleter+   s    r$   rc   zToolInstance.delete   s     {{!!##r'   c                 R   K   | j                   j                          d{   S 7 wz
        Asynchronous coroutine that deletes the ToolInstance


        :returns: True if delete succeeds, False otherwise
        N)r`   delete_asyncr+   s    r$   rf   zToolInstance.delete_async   s!      [[--////   '%'c                 6    | j                   j                         S )z
        Deletes the ToolInstance with HTTP info


        :returns: ApiResponse with success boolean, status code, and headers
        )r`   delete_with_http_infor+   s    r$   ri   z"ToolInstance.delete_with_http_info   s     {{0022r'   c                 R   K   | j                   j                          d{   S 7 w)z
        Asynchronous coroutine that deletes the ToolInstance with HTTP info


        :returns: ApiResponse with success boolean, status code, and headers
        N)r`   delete_with_http_info_asyncr+   s    r$   rk   z(ToolInstance.delete_with_http_info_async   s!      [[<<>>>>rg   c                 6    | j                   j                         S )U
        Fetch the ToolInstance


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


        :returns: The fetched ToolInstance
        N)r`   fetch_asyncr+   s    r$   rq   zToolInstance.fetch_async   s!      [[,,....rg   c                 6    | j                   j                         S )z
        Fetch the ToolInstance with HTTP info


        :returns: ApiResponse with instance, status code, and headers
        )r`   fetch_with_http_infor+   s    r$   rs   z!ToolInstance.fetch_with_http_info   s     {{//11r'   c                 R   K   | j                   j                          d{   S 7 w)z
        Asynchronous coroutine to fetch the ToolInstance with HTTP info


        :returns: ApiResponse with instance, status code, and headers
        N)r`   fetch_with_http_info_asyncr+   s    r$   ru   z'ToolInstance.fetch_with_http_info_async   s!      [[;;====rg   )assistants_v1_service_update_tool_requestc                 :    | j                   j                  |      S )
        Update the ToolInstance

        :param assistants_v1_service_update_tool_request:

        :returns: The updated ToolInstance
        rv   )r`   updater#   rv   s     r$   rz   zToolInstance.update   s#     {{!!6_ " 
 	
r'   c                 V   K   | j                   j                  |       d{   S 7 w)
        Asynchronous coroutine to update the ToolInstance

        :param assistants_v1_service_update_tool_request:

        :returns: The updated ToolInstance
        ry   N)r`   update_asyncr{   s     r$   r~   zToolInstance.update_async  s1      [[--6_ . 
 
 	
 
    )')c                 :    | j                   j                  |      S )z
        Update the ToolInstance with HTTP info

        :param assistants_v1_service_update_tool_request:

        :returns: ApiResponse with instance, status code, and headers
        ry   )r`   update_with_http_infor{   s     r$   r   z"ToolInstance.update_with_http_info  s#     {{006_ 1 
 	
r'   c                 V   K   | j                   j                  |       d{   S 7 w)z
        Asynchronous coroutine to update the ToolInstance with HTTP info

        :param assistants_v1_service_update_tool_request:

        :returns: ApiResponse with instance, status code, and headers
        ry   N)r`   update_with_http_info_asyncr{   s     r$   r   z(ToolInstance.update_with_http_info_async0  s1      [[<<6_ = 
 
 	
 
r   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(ToolInstance.__repr__.<locals>.<genexpr>G       SDAq7>>!Q/S   !z&<Twilio.Assistants.V1.ToolInstance {}>joinrX   itemsr   r#   contexts     r$   __repr__zToolInstance.__repr__A  s6     ((SDNN<P<P<RSS7>>wGGr'   )N)r[   r^   )r[   r   )"r/   r0   r1   objectr5   rF   rM   r   r   r3   r   r   r%   propertyr`   boolrc   rf   r   ri   rk   rn   rq   rs   ru   r   unsetr   rz   r~   r   r   r   __classcell__rZ   s   @r$   r   r      s    8 v  D v  D  NR44)-c3h4=Ec]46  $ $0D 03{ 3?; ?#/2k 2>+ > LL	
380&84


 

* LL	
380&84


 

* LL	
380&84


 

* LL	
380&84


 

"H# Hr'   r   c                   2    e Zd Z G d de      Z G d de      Z G d de      Zdedef fd	Z	d
e
fdZd
efdZd
efdZd
e
fdZd
efdZd
efdZd
e
fdZd
efdZd
efdZd
e
fdZd
efdZd
efdZej6                  fdeeef   d
e
fdZej6                  fdeeef   d
efdZej6                  fdeeef   d
efdZej6                  fdeeef   d
e
fdZ ej6                  fdeeef   d
efdZ!ej6                  fdeeef   d
efdZ"d
efdZ# xZ$S )r^   c                   ,    e Zd ZdZdeeef   fdZd Zy)2ToolContext.AssistantsV1ServiceCreatePolicyRequestr   r   c                     |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r   r    r"   s     r$   r%   z;ToolContext.AssistantsV1ServiceCreatePolicyRequest.__init__V  r&   r'   c                 v    | j                   | j                  | j                  | j                  | j                  dS r)   r*   r+   s    r$   r,   z:ToolContext.AssistantsV1ServiceCreatePolicyRequest.to_dict`  r-   r'   Nr.   r4   r'   r$   r5   r   M  r6   r'   r5   c                   ,    e Zd ZdZdeeef   fdZd Zy)0ToolContext.AssistantsV1ServiceCreateToolRequestr9   r   c                 8   |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r;   r@   r"   s     r$   r%   z9ToolContext.AssistantsV1ServiceCreateToolRequest.__init__t  rA   r'   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j
                  j                         nd | j                  dS rC   rD   r+   s    r$   r,   z8ToolContext.AssistantsV1ServiceCreateToolRequest.to_dict  rE   r'   Nr.   r4   r'   r$   rF   r   i  rG   r'   rF   c                   ,    e Zd ZdZdeeef   fdZd Zy)0ToolContext.AssistantsV1ServiceUpdateToolRequestrJ   r   c                 8   |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r;   r@   r"   s     r$   r%   z9ToolContext.AssistantsV1ServiceUpdateToolRequest.__init__  rA   r'   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j
                  j                         nd | j                  dS rC   rD   r+   s    r$   r,   z8ToolContext.AssistantsV1ServiceUpdateToolRequest.to_dict  rE   r'   Nr.   r4   r'   r$   rM   r     rG   r'   rM   rN   r   c                 x    t         |   |       d|i| _         dj                  di | j                  | _        y)z{
        Initialize the ToolContext

        :param version: Version that contains the resource
        :param id:
        r   z/Tools/{id}Nr4   )rV   r%   rX   r   _uri)r#   rN   r   rZ   s      r$   r%   zToolContext.__init__  s?     	! "
 )M((:4>>:	r'   r[   c                 |    t        j                  i       }| j                  j                  d| j                  |      S )z
        Internal helper for delete operation

        Returns:
            tuple: (success_boolean, status_code, headers)
        DELETEmethoduriheaders)r   ofr_   delete_with_response_infor   r#   r   s     r$   _deletezToolContext._delete  s8     ))B-}}66G 7 
 	
r'   c                 .    | j                         \  }}}|S rb   )r   r#   success_s      r$   rc   zToolContext.delete  s     Ar'   c                 F    | j                         \  }}}t        |||      S )z
        Deletes the ToolInstance and return response metadata


        :returns: ApiResponse with success boolean, status code, and headers
        datastatus_coder   )r   r   r#   r   r   r   s       r$   ri   z!ToolContext.delete_with_http_info  s%     )-%g['RRr'   c                    K   t        j                  i       }| j                  j                  d| j                  |       d{   S 7 w)z
        Internal async helper for delete operation

        Returns:
            tuple: (success_boolean, status_code, headers)
        r   r   N)r   r   r_   delete_with_response_info_asyncr   r   s     r$   _delete_asynczToolContext._delete_async  sG      ))B-]]BBG C 
 
 	
 
s   AA
AA
c                 J   K   | j                          d{   \  }}}|S 7 
wre   )r   r   s      r$   rf   zToolContext.delete_async  s)      #0022A 3s   #!#c                 b   K   | j                          d{   \  }}}t        |||      S 7 w)z
        Asynchronous coroutine that deletes the ToolInstance and return response metadata


        :returns: ApiResponse with success boolean, status code, and headers
        Nr   )r   r   r   s       r$   rk   z'ToolContext.delete_with_http_info_async  s5      /3.@.@.B(B%g['RR )Cs   /-/c                     t        j                  i       }d|d<   | j                  j                  d| j                  |      S )zz
        Internal helper for fetch operation

        Returns:
            tuple: (payload, status_code, headers)
        application/jsonAcceptGETr   )r   r   r_   fetch_with_response_infor   r   s     r$   _fetchzToolContext._fetch   sB     ))B-.}}55dii 6 
 	
r'   c                 t    | j                         \  }}}t        | j                  || j                  d         S )rm   r   r]   )r   r   r_   rX   r#   r   r   s      r$   rn   zToolContext.fetch  s8     AMM~~d#
 	
r'   c                     | j                         \  }}}t        | j                  || j                  d         }t	        |||      S )z
        Fetch the ToolInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        r   r]   r   )r   r   r_   rX   r   r#   r   r   r   instances        r$   rs   z ToolContext.fetch_with_http_info  sG     )-%gMM~~d#

 k7SSr'   c                    K   t        j                  i       }d|d<   | j                  j                  d| j                  |       d{   S 7 w)z
        Internal async helper for fetch operation

        Returns:
            tuple: (payload, status_code, headers)
        r   r   r   r   N)r   r   r_   fetch_with_response_info_asyncr   r   s     r$   _fetch_asynczToolContext._fetch_async-  sQ      ))B-.]]AAdii B 
 
 	
 
s   AAA	Ac                    K   | j                          d{   \  }}}t        | j                  || j                  d         S 7 -w)rp   Nr   r]   )r   r   r_   rX   r   s      r$   rq   zToolContext.fetch_async=  sG      #//11AMM~~d#
 	
 2s   AA.Ac                    K   | j                          d{   \  }}}t        | j                  || j                  d         }t	        |||      S 7 ;w)z
        Asynchronous coroutine to fetch the ToolInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        Nr   r]   r   )r   r   r_   rX   r   r   s        r$   ru   z&ToolContext.fetch_with_http_info_asyncK  sW      /3.?.?.A(A%gMM~~d#

 k7SS )Bs   AA<Arv   c                     |j                         }t        j                  i       }d|d<   d|d<   | j                  j	                  d| j
                  ||      S )z{
        Internal helper for update operation

        Returns:
            tuple: (payload, status_code, headers)
        r   Content-Typer   PUTr   r   r   r   )r,   r   r   r_   update_with_response_infor   r#   rv   r   r   s       r$   _updatezToolContext._updateZ  s\     9@@B))B-"4.}}66diidG 7 
 	
r'   c                 x    | j                  |      \  }}}t        | j                  || j                  d         S )rx   ry   r   r]   )r   r   r_   rX   r#   rv   r   r   s       r$   rz   zToolContext.updater  s>     6_ % 
A DMM7t~~d7KLLr'   c                     | j                  |      \  }}}t        | j                  || j                  d         }t	        |||      S )z
        Update the ToolInstance and return response metadata

        :param assistants_v1_service_update_tool_request:

        :returns: ApiResponse with instance, status code, and headers
        ry   r   r]   r   )r   r   r_   rX   r   r#   rv   r   r   r   r   s         r$   r   z!ToolContext.update_with_http_info  sM     )-6_ )5 )
%g  w4>>$;OPk7SSr'   c                    K   |j                         }t        j                  i       }d|d<   d|d<   | j                  j	                  d| j
                  ||       d{   S 7 w)z
        Internal async helper for update operation

        Returns:
            tuple: (payload, status_code, headers)
        r   r   r   r   r   N)r,   r   r   r_   update_with_response_info_asyncr   r   s       r$   _update_asynczToolContext._update_async  sk      9@@B))B-"4.]]BBdiidG C 
 
 	
 
s   AA%A#A%c                    K   | j                  |       d{   \  }}}t        | j                  || j                  d         S 7 -w)r}   ry   Nr   r]   )r   r   r_   rX   r   s       r$   r~   zToolContext.update_async  sN      #006_ 1 
 
A DMM7t~~d7KLL
s   AA.Ac                    K   | j                  |       d{   \  }}}t        | j                  || j                  d         }t	        |||      S 7 ;w)z
        Asynchronous coroutine to update the ToolInstance and return response metadata

        :param assistants_v1_service_update_tool_request:

        :returns: ApiResponse with instance, status code, and headers
        ry   Nr   r]   r   )r   r   r_   rX   r   r   s         r$   r   z'ToolContext.update_with_http_info_async  s^      /3.@.@6_ /A /
 )
%g  w4>>$;OPk7SS	)
s   AA<Ac                     dj                  d | j                  j                         D              }dj                  |      S )r   r   c              3   F   K   | ]  \  }}d j                  ||        ywr   r   r   s      r$   r   z'ToolContext.__repr__.<locals>.<genexpr>  r   r   z%<Twilio.Assistants.V1.ToolContext {}>r   r   s     r$   r   zToolContext.__repr__  s6     ((SDNN<P<P<RSS6==gFFr'   )%r/   r0   r1   r   r5   rF   rM   r   r3   r%   tupler   r   rc   r   ri   r   rf   rk   r   r   rn   rs   r   rq   ru   r   r   r   r   rz   r   r   r~   r   r   r   r   s   @r$   r^   r^   K  s    8 v  D v  D; ;S ;
 
 S{ S
U 
D S; S
 
 
| 
Tk T
E 
 
< 
T+ T& LL	
380&84


 

8 LL	M380&84
M
 
M, LL	T380&84
T
 
T. LL	
380&84


 

8 LL	M380&84
M
 
M, LL	T380&84
T
 
T&G# Gr'   r^   c                   2    e Zd Zdeeef   defdZdefdZy)ToolPager   r[   c                 .    t        | j                  |      S )zj
        Build an instance of ToolInstance

        :param payload: Payload response from the API
        )r   r_   r"   s     r$   get_instancezToolPage.get_instance  s     DMM733r'   c                      y)r   z<Twilio.Assistants.V1.ToolPage>r4   r+   s    r$   r   zToolPage.__repr__       1r'   N)	r/   r0   r1   r   r3   r   r   r   r   r4   r'   r$   r   r     s)    4DcN 4| 41# 1r'   r   c                       e Zd Z G d de      Z G d de      Z G d de      Zdef fdZd	ed
e	fdZ
d	ed
efdZd	ed
efdZd	ed
e	fdZd	ed
efdZd	ed
efdZej&                  ddfdeeef   dee   dee   d
ee   fdZej&                  ddfdeeef   dee   dee   d
ee   fdZej&                  ddfdeeef   dee   dee   d
e	fdZej&                  ddfdeeef   dee   dee   d
e	fdZej&                  ddfdeeef   dee   dee   d
ee   fdZej&                  ddfdeeef   dee   dee   d
ee   fdZ ej&                  ddfdeeef   dee   dee   d
efdZ!ej&                  ddfdeeef   dee   dee   d
efdZ"ej&                  ej&                  ej&                  ej&                  fdeeef   deeef   deeef   deeef   d
e#f
dZ$ej&                  ej&                  ej&                  ej&                  fdeeef   deeef   deeef   deeef   d
e#f
d Z%ej&                  ej&                  ej&                  ej&                  fdeeef   deeef   deeef   deeef   d
ef
d!Z&ej&                  ej&                  ej&                  ej&                  fdeeef   deeef   deee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d
e*fd'Z+d&ed
e*fd(Z,d
efd)Z- xZ.S )*ToolListc                   ,    e Zd ZdZdeeef   fdZd Zy)/ToolList.AssistantsV1ServiceCreatePolicyRequestr   r   c                     |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r   r    r"   s     r$   r%   z8ToolList.AssistantsV1ServiceCreatePolicyRequest.__init__  r&   r'   c                 v    | j                   | j                  | j                  | j                  | j                  dS r)   r*   r+   s    r$   r,   z7ToolList.AssistantsV1ServiceCreatePolicyRequest.to_dict  r-   r'   Nr.   r4   r'   r$   r5   r     r6   r'   r5   c                   ,    e Zd ZdZdeeef   fdZd Zy)-ToolList.AssistantsV1ServiceCreateToolRequestr9   r   c                 8   |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r;   r@   r"   s     r$   r%   z6ToolList.AssistantsV1ServiceCreateToolRequest.__init__  rA   r'   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j
                  j                         nd | j                  dS rC   rD   r+   s    r$   r,   z5ToolList.AssistantsV1ServiceCreateToolRequest.to_dict&  rE   r'   Nr.   r4   r'   r$   rF   r     rG   r'   rF   c                   ,    e Zd ZdZdeeef   fdZd Zy)-ToolList.AssistantsV1ServiceUpdateToolRequestrJ   r   c                 8   |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y r;   r@   r"   s     r$   r%   z6ToolList.AssistantsV1ServiceUpdateToolRequest.__init__<  rA   r'   c                     | j                   | j                  | j                  | j                  | j                  | j
                  | j
                  j                         nd | j                  dS rC   rD   r+   s    r$   r,   z5ToolList.AssistantsV1ServiceUpdateToolRequest.to_dictH  rE   r'   Nr.   r4   r'   r$   rM   r   1  rG   r'   rM   rN   c                 2    t         |   |       d| _        y)zf
        Initialize the ToolList

        :param version: Version that contains the resource

        z/ToolsN)rV   r%   r   )r#   rN   rZ   s     r$   r%   zToolList.__init__S  s     	!	r'   )assistants_v1_service_create_tool_requestr[   c                     |j                         }t        j                  ddi      }d|d<   d|d<   | j                  j	                  d| j
                  ||      S )z{
        Internal helper for create operation

        Returns:
            tuple: (payload, status_code, headers)
        r   !application/x-www-form-urlencodedr   r   POSTr   )r,   r   r   r_   create_with_response_infor   r#   r   r   r   s       r$   _createzToolList._create^  sc     9@@B))^-PQR"4.}}66tyytW 7 
 	
r'   c                 Z    | j                  |      \  }}}t        | j                  |      S )z
        Create the ToolInstance

        :param assistants_v1_service_create_tool_request:

        :returns: The created ToolInstance
        r   )r  r   r_   r#   r   r   r   s       r$   createzToolList.createt  s3     6_ % 
A DMM733r'   c                 v    | j                  |      \  }}}t        | j                  |      }t        |||      S )z
        Create the ToolInstance and return response metadata

        :param assistants_v1_service_create_tool_request:

        :returns: ApiResponse with instance, status code, and headers
        r  r   )r  r   r_   r   r#   r   r   r   r   r   s         r$   create_with_http_infozToolList.create_with_http_info  sB     )-6_ )5 )
%g  w7k7SSr'   c                    K   |j                         }t        j                  ddi      }d|d<   d|d<   | j                  j	                  d| j
                  ||       d{   S 7 w)z
        Internal async helper for create operation

        Returns:
            tuple: (payload, status_code, headers)
        r   r   r   r   r   r   N)r,   r   r   r_   create_with_response_info_asyncr   r  s       r$   _create_asynczToolList._create_async  sr      9@@B))^-PQR"4.]]BBtyytW C 
 
 	
 
s   AA' A%!A'c                 v   K   | j                  |       d{   \  }}}t        | j                  |      S 7 w)z
        Asynchronously create the ToolInstance

        :param assistants_v1_service_create_tool_request:

        :returns: The created ToolInstance
        r  N)r  r   r_   r  s       r$   create_asynczToolList.create_async  sC      #006_ 1 
 
A DMM733
s   979c                    K   | j                  |       d{   \  }}}t        | j                  |      }t        |||      S 7 ,w)z
        Asynchronously create the ToolInstance and return response metadata

        :param assistants_v1_service_create_tool_request:

        :returns: ApiResponse with instance, status code, and headers
        r  Nr   )r  r   r_   r   r	  s         r$   create_with_http_info_asyncz$ToolList.create_with_http_info_async  sS      /3.@.@6_ /A /
 )
%g  w7k7SS	)
s   AA-ANr<   limit	page_sizec                     | j                   j                  ||      }| j                  ||d         }| j                   j                  ||d         S )a{  
        Streams ToolInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r  r<   r  r  )r_   read_limitspagestreamr#   r<   r  r  limitsr  s         r$   r  zToolList.stream  sL    , **5)<yylf[>QyR}}##D&/::r'   c                    K   | j                   j                  ||      }| j                  ||d          d{   }| j                   j                  ||d         S 7 #w)a  
        Asynchronously streams ToolInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r  r  Nr  )r_   r  
page_asyncstream_asyncr  s         r$   r  zToolList.stream_async  sb     , **5)<__%1D % 
 
 }}))$w@@	
s   6AA$Ac                     | j                   j                  ||      }| j                  ||d         }| j                   j                  |j                  |d         }||j
                  |j                  fS )a  
        Streams ToolInstance and returns headers from first page


        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: tuple of (generator, status_code, headers) where generator yields instances
        r  r  r  )r_   r  page_with_http_infor  r   r   r   r#   r<   r  r  r  page_response	generators          r$   stream_with_http_infozToolList.stream_with_http_info  st    ( **5)<00%1D 1 
 MM((););VG_M	=44m6K6KLLr'   c                   K   | j                   j                  ||      }| j                  ||d          d{   }| j                   j                  |j                  |d         }||j
                  |j                  fS 7 Fw)a  
        Asynchronously streams ToolInstance and returns headers from first page


        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: tuple of (generator, status_code, headers) where generator yields instances
        r  r  Nr  )r_   r  page_with_http_info_asyncr  r   r   r   r   s          r$   stream_with_http_info_asyncz$ToolList.stream_with_http_info_async   s     ( **5)<"<<%1D = 
 
 MM..}/A/A6'?S	=44m6K6KLL
s   6BA?ABc                 <    t        | j                  |||            S )a  
        Lists ToolInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        r<   r  r  )listr  )r#   r<   r  r  s       r$   r)  zToolList.list<  s+    * KK)#  
 	
r'   c                 |   K   | j                  |||       d{   2 cg c3 d{   }|7 7 	6 c}S c c}w w)a'  
        Asynchronously lists ToolInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        r(  N)r  )r#   r<   r  r  records        r$   
list_asynczToolList.list_asyncY  sW     . '+&7&7)# '8 ' !
 
 !
 
 	
 
s0   </<731
37<37<c                 d    | j                  |||      \  }}}t        |      }t        |||      S )a  
        Lists ToolInstance and returns headers from first page


        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: ApiResponse with list of instances, status code, and headers
        r(  r   )r#  r)  r   )r#   r<   r  r  r"  r   r   r   s           r$   list_with_http_infozToolList.list_with_http_infow  sD    ( +/*D*D% +E +
'	;
 Y;PPr'   c                    K   | j                  |||       d{   \  }}}|2 cg c3 d{   }|7 7 	6 nc c}w }}t        |||      S w)a  
        Asynchronously lists ToolInstance and returns headers from first page


        :param str assistant_id:
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: ApiResponse with list of instances, status code, and headers
        r(  Nr   )r&  r   )	r#   r<   r  r  r"  r   r   r+  r   s	            r$   list_with_http_info_asyncz"ToolList.list_with_http_info_async  si     ( 150P0P% 1Q 1
 +
'	;
 -666&+

 7666;PPs4   A5A;97
9;A9;A
page_tokenpage_numberc                     t        j                  ||||d      }t        j                  ddi      }d|d<   | j                  j                  d| j                  ||      }t        | j                  |      S )a  
        Retrieve a single page of ToolInstance records from the API.
        Request is executed immediately

        :param assistant_id:
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of ToolInstance
        AssistantId	PageTokenr   PageSizer   r   r   r   r   r   r   paramsr   )r   r   r_   r  r   r   r#   r<   r1  r2  r  r   r   responses           r$   r  zToolList.page  s|    $ yy+'#%	
 ))^-PQR.==%%diig & 
 x00r'   c                   K   t        j                  ||||d      }t        j                  ddi      }d|d<   | j                  j                  d| j                  ||       d{   }t        | j                  |      S 7 w)	a  
        Asynchronously retrieve a single page of ToolInstance records from the API.
        Request is executed immediately

        :param assistant_id:
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of ToolInstance
        r4  r   r   r   r   r   r8  N)r   r   r_   r  r   r   r:  s           r$   r  zToolList.page_async  s     $ yy+'#%	
 ))^-PQR.11diig 2 
 
 x00
s   A#B%B &Bc                    t        j                  ||||d      }t        j                  ddi      }d|d<   | j                  j                  d| j                  ||      \  }}}	t        | j                  |      }
t        |
||	      S )	as  
        Retrieve a single page with response metadata


        :param assistant_id:
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: ApiResponse with ToolPage, status code, and headers
        r4  r   r   r   r   r   r8  r   )r   r   r_   page_with_response_infor   r   r   r#   r<   r1  r2  r  r   r   r;  r   response_headersr  s              r$   r  zToolList.page_with_http_info  s    $ yy+'#%	
 ))^-PQR.26--2W2Wdiig 3X 3
/+/ x0+GWXXr'   c                 ,  K   t        j                  ||||d      }t        j                  ddi      }d|d<   | j                  j                  d| j                  ||       d{   \  }}}	t        | j                  |      }
t        |
||		      S 7 ,w)
a  
        Asynchronously retrieve a single page with response metadata


        :param assistant_id:
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: ApiResponse with ToolPage, status code, and headers
        r4  r   r   r   r   r   r8  Nr   )r   r   r_   page_with_response_info_asyncr   r   r   r?  s              r$   r%  z"ToolList.page_with_http_info_async  s     $ yy+'#%	
 ))^-PQR. --==$))D' >   	0+/
 x0+GWXXs   A#B%B&-B
target_urlc                     | j                   j                  j                  j                  d|      }t	        | j                   |      S )z
        Retrieve a specific page of ToolInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of ToolInstance
        r   )r_   domaintwiliorequestr   r#   rC  r;  s      r$   get_pagezToolList.get_pageC  s7     ==''..66ujIx00r'   c                    K   | j                   j                  j                  j                  d|       d{   }t	        | j                   |      S 7 w)z
        Asynchronously retrieve a specific page of ToolInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of ToolInstance
        r   N)r_   rE  rF  request_asyncr   rH  s      r$   get_page_asynczToolList.get_page_asyncO  sD      --44BB5*UUx00 Vs   4AAAr   c                 0    t        | j                  |      S z>
        Constructs a ToolContext

        :param id:
        r]   r^   r_   r#   r   s     r$   r!   zToolList.get[       4==R00r'   c                 0    t        | j                  |      S rN  rO  rP  s     r$   __call__zToolList.__call__c  rQ  r'   c                      y)r   z<Twilio.Assistants.V1.ToolList>r4   r+   s    r$   r   zToolList.__repr__k  r   r'   )/r/   r0   r1   r   r5   rF   rM   r   r%   r   r  r   r  r   r
  r  r  r  r   r   r   r3   r   intr	   r  r
   r  r#  r&  r   r)  r,  r.  r0  r   r  r  r  r%  rI  rL  r^   r!   rS  r   r   r   s   @r$   r   r     s    8 v  D v  D	 	
3W
 

,43W4 
4 T3WT 
T"
3W
 

,43W4 
4 T3WT 
T& ,2<<##'	;CK(; }; C=	;
 
,	;: ,2<<##'	ACK(A }A C=	A
 
|	$A> ,2<<##'	MCK(M }M C=	M
 
M< ,2<<##'	MCK(M }M C=	M
 
M< ,2<<##'	
CK(
 }
 C=	

 
l	
> ,2<<##'	
CK(
 }
 C=	

 
l	
@ ,2<<##'	QCK(Q }Q C=	Q
 
Q< ,2<<##'	QCK(Q }Q C=	Q
 
Q< ,2<<)/*0,,(."1CK("1 #v+&"1 3;'	"1
 f%"1 
"1L ,2<<)/*0,,(."1CK("1 #v+&"1 3;'	"1
 f%"1 
"1L ,2<<)/*0,,(.#YCK(#Y #v+&#Y 3;'	#Y
 f%#Y 
#YN ,2<<)/*0,,(.%YCK(%Y #v+&%Y 3;'	%Y
 f%%Y 
%YN
13 
18 
1
1s 
1x 
11c 1k 113 1; 11# 1r'   r   N)r2   r   typingr   r   r   r   r   r	   r
   twilio.baser   r   twilio.base.api_responser   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   twilio.base.pager   r   r^   r   r   r4   r'   r$   <module>r^     sj     L L L + 0 8 : 2 ' !nH# nHb	PG/ PGf1t 1&@
1| @
1r'   