Ë
    [üàg›2  ã                   óº   — 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  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)ÚInstanceResource)ÚListResource)ÚVersion)ÚPagec                   óB   ‡ — e Zd ZdZdedeeef   fˆ fd„Zdefd„Z	ˆ xZ
S )ÚPolicyInstanceaç  
    :ivar id: The Policy ID.
    :ivar name: The name of the policy.
    :ivar description: The description of the policy.
    :ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Policy resource.
    :ivar user_sid: The SID of the User that created the Policy resource.
    :ivar type: The type of the policy.
    :ivar policy_details: The details of the policy based on the type.
    :ivar date_created: The date and time in GMT when the Policy was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    :ivar date_updated: The date and time in GMT when the Policy was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    ÚversionÚpayloadc                 óü  •— t         ‰| �  |«       |j                  d«      | _        |j                  d«      | _        |j                  d«      | _        |j                  d«      | _        |j                  d«      | _        |j                  d«      | _        |j                  d«      | _	        t        j                  |j                  d«      «      | _        t        j                  |j                  d	«      «      | _        y )
NÚidÚnameÚdescriptionÚaccount_sidÚuser_sidÚtypeÚpolicy_detailsÚdate_createdÚdate_updated)ÚsuperÚ__init__Úgetr   r   r   r   r   r   r   r   Úiso8601_datetimer   r   )Úselfr   r   Ú	__class__s      €ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/twilio/rest/assistants/v1/policy.pyr    zPolicyInstance.__init__&   sÄ   ø€ Ü‰Ñ˜Ô!à!(§¡¨TÓ!2ˆŒØ#*§;¡;¨vÓ#6ˆŒ	Ø*1¯+©+°mÓ*DˆÔØ*1¯+©+°mÓ*DˆÔØ'.§{¡{°:Ó'>ˆŒØ#*§;¡;¨vÓ#6ˆŒ	Ø;B¿;¹;ÐGWÓ;XˆÔÜ0;×0LÑ0LØ�K‰K˜Ó'ó1
ˆÔô 1<×0LÑ0LØ�K‰K˜Ó'ó1
ˆÕó    Úreturnc                  ó   — y)úf
        Provide a friendly representation

        :returns: Machine friendly representation
        z%<Twilio.Assistants.V1.PolicyInstance>© ©r#   s    r%   Ú__repr__zPolicyInstance.__repr__7   s   € ð 7r&   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ústrr   r    r,   Ú__classcell__©r$   s   @r%   r   r      s/   ø„ ñ
ð
 ð 
°$°s¸C°x±.õ 
ð"7˜#÷ 7r&   r   c                   ó2   — e Zd Zdeeef   defd„Zdefd„Zy)Ú
PolicyPager   r'   c                 ó.   — t        | j                  |«      S )zl
        Build an instance of PolicyInstance

        :param payload: Payload response from the API
        )r   Ú_version)r#   r   s     r%   Úget_instancezPolicyPage.get_instanceC   s   € ô ˜dŸm™m¨WÓ5Ð5r&   c                  ó   — y)r)   z!<Twilio.Assistants.V1.PolicyPage>r*   r+   s    r%   r,   zPolicyPage.__repr__K   ó   € ð 3r&   N)	r-   r.   r/   r   r1   r   r   r8   r,   r*   r&   r%   r5   r5   A   s)   „ ð6 D¨¨c¨¡Nð 6°~ó 6ð3˜#ô 3r&   r5   c                   ó¤  ‡ — e Zd Zdefˆ fd„Zej                  ej                  ddfdeee	f   deee	f   de
e   de
e   dee   f
d	„Zej                  ej                  ddfdeee	f   deee	f   de
e   de
e   dee   f
d
„Zej                  ej                  ddfdeee	f   deee	f   de
e   de
e   dee   f
d„Zej                  ej                  ddfdeee	f   deee	f   de
e   de
e   dee   f
d„Zej                  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ee	f   defd„Zej                  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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 )Ú
PolicyListr   c                 ó2   •— t         ‰| �  |«       d| _        y)zh
        Initialize the PolicyList

        :param version: Version that contains the resource

        z	/PoliciesN)r   r    Ú_uri)r#   r   r$   s     €r%   r    zPolicyList.__init__V   s   ø€ ô 	‰Ñ˜Ô!àˆ�	r&   NÚtool_idÚknowledge_idÚlimitÚ	page_sizer'   c                 ó¦   — | j                   j                  ||«      }| j                  |||d   ¬«      }| j                   j                  ||d   «      S )a¸  
        Streams PolicyInstance 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 tool_id: The tool ID.
        :param str knowledge_id: The knowledge 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
        rB   ©r?   r@   rB   rA   )r7   Úread_limitsÚpageÚstream©r#   r?   r@   rA   rB   ÚlimitsrF   s          r%   rG   zPolicyList.streama   sV   € ð0 —‘×*Ñ*¨5°)Ó<ˆØ�y‰yØ¨,À&ÈÑBUð ó 
ˆð �}‰}×#Ñ# D¨&°©/Ó:Ð:r&   c              ƒ   óÂ   K  — | j                   j                  ||«      }| j                  |||d   ¬«      ƒ d{  –—† }| j                   j                  ||d   «      S 7 Œ#­w)aÇ  
        Asynchronously streams PolicyInstance 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 tool_id: The tool ID.
        :param str knowledge_id: The knowledge 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
        rB   rD   NrA   )r7   rE   Ú
page_asyncÚstream_asyncrH   s          r%   rL   zPolicyList.stream_async€   sd   è ø€ ð0 —‘×*Ñ*¨5°)Ó<ˆØ—_‘_Ø¨,À&ÈÑBUð %ó 
÷ 
ˆð �}‰}×)Ñ)¨$°°w±Ó@Ð@ð	
ús   ‚7A¹Aº$Ac                 ó>   — t        | j                  ||||¬«      «      S )aU  
        Lists PolicyInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param str tool_id: The tool ID.
        :param str knowledge_id: The knowledge 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@   rA   rB   )ÚlistrG   )r#   r?   r@   rA   rB   s        r%   rO   zPolicyList.listŸ   s.   € ô. Ø�K‰KØØ)ØØ#ð	 ó ó
ð 	
r&   c              ƒ   ó~   K  — | j                  ||||¬«      ƒ d{  –—† 2 �cg c3 d{  –—† }|‘Œ7 Œ7 Œ	6 c}S c c}w ­w)ad  
        Asynchronously lists PolicyInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param str tool_id: The tool ID.
        :param str knowledge_id: The knowledge 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
        rN   N)rL   )r#   r?   r@   rA   rB   Úrecords         r%   Ú
list_asynczPolicyList.list_async¿   sZ   è ø€ ð2 '+×&7Ñ&7ØØ)ØØ#ð	 '8ó '÷ !÷
ô 
àò ð!øð
øò 
ð 	
ùò 
ùs0   ‚=›0œ=¢8¤4¨2
©4¬8°=²4´8µ=Ú
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 PolicyInstance records from the API.
        Request is executed immediately

        :param tool_id: The tool ID.
        :param knowledge_id: The knowledge 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 PolicyInstance
        ©ÚToolIdÚKnowledgeIdÚ	PageTokenr   ÚPageSizeúContent-Typeú!application/x-www-form-urlencodedúapplication/jsonÚAcceptÚGET©ÚmethodÚuriÚparamsÚheaders)r   Úofr7   rF   r>   r5   ©	r#   r?   r@   rS   rT   rB   Údatard   Úresponses	            r%   rF   zPolicyList.pageà   s   € ô( �y‰yà!Ø+Ø'Ø#Ø%ñó
ˆô —)‘)˜^Ð-PÐQÓRˆà.ˆ�Ñà—=‘=×%Ñ%Ø˜dŸi™i°¸gð &ó 
ˆô ˜$Ÿ-™-¨Ó2Ð2r&   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 PolicyInstance records from the API.
        Request is executed immediately

        :param tool_id: The tool ID.
        :param knowledge_id: The knowledge 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 PolicyInstance
        rV   r[   r\   r]   r^   r_   r`   N)r   re   r7   rK   r>   r5   rf   s	            r%   rK   zPolicyList.page_async  s�   è ø€ ô( �y‰yà!Ø+Ø'Ø#Ø%ñó
ˆô —)‘)˜^Ð-PÐQÓRˆà.ˆ�ÑàŸ™×1Ñ1Ø˜dŸi™i°¸gð 2ó 
÷ 
ˆô ˜$Ÿ-™-¨Ó2Ð2ð
ús   ‚A$BÁ&BÁ'BÚ
target_urlc                 óŽ   — | j                   j                  j                  j                  d|«      }t	        | j                   |«      S )zñ
        Retrieve a specific page of PolicyInstance records from the API.
        Request is executed immediately

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

        :returns: Page of PolicyInstance
        r_   )r7   ÚdomainÚtwilioÚrequestr5   ©r#   rj   rh   s      r%   Úget_pagezPolicyList.get_page.  s7   € ð —=‘=×'Ñ'×.Ñ.×6Ñ6°u¸jÓIˆÜ˜$Ÿ-™-¨Ó2Ð2r&   c              ƒ   óª   K  — | j                   j                  j                  j                  d|«      ƒ d{  –—† }t	        | j                   |«      S 7 Œ­w)a   
        Asynchronously retrieve a specific page of PolicyInstance records from the API.
        Request is executed immediately

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

        :returns: Page of PolicyInstance
        r_   N)r7   rl   rm   Úrequest_asyncr5   ro   s      r%   Úget_page_asynczPolicyList.get_page_async:  sD   è ø€ ð Ÿ™×-Ñ-×4Ñ4×BÑBÀ5È*ÓU×UˆÜ˜$Ÿ-™-¨Ó2Ð2ð Vús   ‚4A¶A·Ac                  ó   — y)r)   z!<Twilio.Assistants.V1.PolicyList>r*   r+   s    r%   r,   zPolicyList.__repr__F  r:   r&   )r-   r.   r/   r   r    r   Úunsetr   r1   Úobjectr   Úintr	   r   rG   r
   rL   r   rO   rR   r5   rF   rK   rp   rs   r,   r2   r3   s   @r%   r<   r<   T   s  ø„ ð	  õ 	 ð '-§l¡lØ+1¯<©<Ø#Ø#'ñ;à�s˜F�{Ñ#ð;ð ˜C ˜KÑ(ð;ð ˜‰}ð	;ð
 ˜C‘=ð;ð 
�.Ñ	!ó;ðB '-§l¡lØ+1¯<©<Ø#Ø#'ñAà�s˜F�{Ñ#ðAð ˜C ˜KÑ(ðAð ˜‰}ð	Að
 ˜C‘=ðAð 
�~Ñ	&óAðB '-§l¡lØ+1¯<©<Ø#Ø#'ñ
à�s˜F�{Ñ#ð
ð ˜C ˜KÑ(ð
ð ˜‰}ð	
ð
 ˜C‘=ð
ð 
ˆnÑ	ó
ðD '-§l¡lØ+1¯<©<Ø#Ø#'ñ
à�s˜F�{Ñ#ð
ð ˜C ˜KÑ(ð
ð ˜‰}ð	
ð
 ˜C‘=ð
ð 
ˆnÑ	ó
ðF '-§l¡lØ+1¯<©<Ø)/¯©Ø*0¯,©,Ø(.¯©ñ%3à�s˜F�{Ñ#ð%3ð ˜C ˜KÑ(ð%3ð ˜#˜v˜+Ñ&ð	%3ð
 ˜3 ˜;Ñ'ð%3ð ˜˜f˜Ñ%ð%3ð 
ó%3ðR '-§l¡lØ+1¯<©<Ø)/¯©Ø*0¯,©,Ø(.¯©ñ%3à�s˜F�{Ñ#ð%3ð ˜C ˜KÑ(ð%3ð ˜#˜v˜+Ñ&ð	%3ð
 ˜3 ˜;Ñ'ð%3ð ˜˜f˜Ñ%ð%3ð 
ó%3ðN
3 3ð 
3¨:ó 
3ð
3¨sð 
3°zó 
3ð3˜#÷ 3r&   r<   N)r0   r   Útypingr   r   r   r   r   r	   r
   Útwilio.baser   r   Útwilio.base.instance_resourcer   Útwilio.base.list_resourcer   Útwilio.base.versionr   Útwilio.base.pager   r   r5   r<   r*   r&   r%   ú<module>r~      sO   ðñõ ß L× LÑ Lß +å :Ý 2Ý 'Ý !ô%7Ð%ô %7ôP3�ô 3ô&x3�õ x3r&   