
    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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 - Notify
    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	serializevalues)ApiResponse)InstanceContext)InstanceResource)ListResource)Version)Pagec                   f    e Zd 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j0                  ej0                  ej0                  ej0                  ej0                  ej0                  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eef   dd fdZej0                  ej0                  ej0                  ej0                  ej0                  ej0                  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eef   dd fdZej0                  ej0                  ej0                  ej0                  ej0                  ej0                  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eef   defdZej0                  ej0                  ej0                  ej0                  ej0                  ej0                  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eef   defdZdefdZ xZS )CredentialInstancec                       e Zd ZdZdZdZy)CredentialInstance.PushServicegcmapnfcmN)__name__
__module____qualname__GCMAPNFCM     ^/home/sas/my/fyp/ringai/.venv/lib/python3.12/site-packages/twilio/rest/notify/v1/credential.pyPushServicer      s    r"   r$   versionpayloadsidc                    t         |   |       |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 )	Nr'   account_sidfriendly_nametypesandboxdate_createddate_updatedurl)super__init__getr'   r)   r*   r+   r,   r   iso8601_datetimer-   r.   r/   	_solution_context)selfr%   r&   r'   	__class__s       r#   r1   zCredentialInstance.__init__,   s     	!")++e"4*1++m*D,3KK,H@GF@S	&-kk)&<0;0L0LKK'1
 1<0L0LKK'1
 #*++e"4 3?$((
 6: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: CredentialContext for this CredentialInstance
        r'   r'   )r5   CredentialContext_versionr4   r6   s    r#   _proxyzCredentialInstance._proxyC   s9     == -NN5)DM }}r"   c                 6    | j                   j                         S zm
        Deletes the CredentialInstance


        :returns: True if delete succeeds, False otherwise
        )r>   deleter=   s    r#   rA   zCredentialInstance.deleteR   s     {{!!##r"   c                 R   K   | j                   j                          d{   S 7 wz
        Asynchronous coroutine that deletes the CredentialInstance


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


        :returns: ApiResponse with success boolean, status code, and headers
        )r>   delete_with_http_infor=   s    r#   rG   z(CredentialInstance.delete_with_http_infod   s     {{0022r"   c                 R   K   | j                   j                          d{   S 7 w)z
        Asynchronous coroutine that deletes the CredentialInstance with HTTP info


        :returns: ApiResponse with success boolean, status code, and headers
        N)r>   delete_with_http_info_asyncr=   s    r#   rI   z.CredentialInstance.delete_with_http_info_asyncm   s!      [[<<>>>>rE   c                 6    | j                   j                         S )a
        Fetch the CredentialInstance


        :returns: The fetched CredentialInstance
        )r>   fetchr=   s    r#   rL   zCredentialInstance.fetchv   s     {{  ""r"   c                 R   K   | j                   j                          d{   S 7 w){
        Asynchronous coroutine to fetch the CredentialInstance


        :returns: The fetched CredentialInstance
        N)r>   fetch_asyncr=   s    r#   rO   zCredentialInstance.fetch_async   s!      [[,,....rE   c                 6    | j                   j                         S )z
        Fetch the CredentialInstance with HTTP info


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


        :returns: ApiResponse with instance, status code, and headers
        N)r>   fetch_with_http_info_asyncr=   s    r#   rS   z-CredentialInstance.fetch_with_http_info_async   s!      [[;;====rE   r*   certificateprivate_keyr,   api_keysecretc                 D    | j                   j                  ||||||      S )  
        Update the CredentialInstance

        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: The updated CredentialInstance
        r*   rT   rU   r,   rV   rW   )r>   updater6   r*   rT   rU   r,   rV   rW   s          r#   r[   zCredentialInstance.update   s2    * {{!!'## " 
 	
r"   c                 `   K   | j                   j                  ||||||       d{   S 7 w)  
        Asynchronous coroutine to update the CredentialInstance

        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: The updated CredentialInstance
        rZ   N)r>   update_asyncr\   s          r#   r_   zCredentialInstance.update_async   s@     * [[--'## . 
 
 	
 
   %.,.c                 D    | j                   j                  ||||||      S )a  
        Update the CredentialInstance with HTTP info

        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: ApiResponse with instance, status code, and headers
        rZ   )r>   update_with_http_infor\   s          r#   rb   z(CredentialInstance.update_with_http_info   s2    * {{00'## 1 
 	
r"   c                 `   K   | j                   j                  ||||||       d{   S 7 w)a  
        Asynchronous coroutine to update the CredentialInstance with HTTP info

        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: ApiResponse with instance, status code, and headers
        rZ   N)r>   update_with_http_info_asyncr\   s          r#   rd   z.CredentialInstance.update_with_http_info_async   s@     * [[<<'## = 
 
 	
 
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.CredentialInstance.__repr__.<locals>.<genexpr>       SDAq7>>!Q/S   !z(<Twilio.Notify.V1.CredentialInstance {}>joinr4   itemsrk   r6   contexts     r#   __repr__zCredentialInstance.__repr__  s6     ((SDNN<P<P<RSS9@@IIr"   )N)r8   r;   )r8   r   ) r   r   r   objectr$   r   r   strr   r   r1   propertyr>   boolrA   rD   r   rG   rI   rL   rO   rQ   rS   r   unsetr   r[   r_   rb   rd   rx   __classcell__r7   s   @r#   r   r      sg   f 
	 OS::)-c3h:>Fsm:.  $ $0D 03{ 3?; ?#/2k 2>+ > -3LL*0,,*0,,'-||&,ll%+\\
S&[)
 3;'
 3;'	

 tV|$
 sF{#
 c6k"
 

@ -3LL*0,,*0,,'-||&,ll%+\\
S&[)
 3;'
 3;'	

 tV|$
 sF{#
 c6k"
 

@ -3LL*0,,*0,,'-||&,ll%+\\
S&[)
 3;'
 3;'	

 tV|$
 sF{#
 c6k"
 

@ -3LL*0,,*0,,'-||&,ll%+\\
S&[)
 3;'
 3;'	

 tV|$
 sF{#
 c6k"
 

<J# Jr"   r   c                   (    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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j.                  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eef   defdZej.                  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eef   defdZej.                  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eef   de
fdZej.                  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eef   defdZej.                  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eef   defdZej.                  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eef   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 CredentialContext

        :param version: Version that contains the resource
        :param sid: The Twilio-provided string that uniquely identifies the Credential resource to update.
        r'   z/Credentials/{sid}Nr!   )r0   r1   r4   rk   _uri)r6   r%   r'   r7   s      r#   r1   zCredentialContext.__init__  s@     	! 3
 0(//A$..A	r"   r8   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   r6   r   s     r#   _deletezCredentialContext._delete-  s8     ))B-}}66G 7 
 	
r"   c                 .    | j                         \  }}}|S r@   )r   r6   success_s      r#   rA   zCredentialContext.delete;  s     Ar"   c                 F    | j                         \  }}}t        |||      S )z
        Deletes the CredentialInstance and return response metadata


        :returns: ApiResponse with success boolean, status code, and headers
        datastatus_coder   )r   r   r6   r   r   r   s       r#   rG   z'CredentialContext.delete_with_http_infoE  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CredentialContext._delete_asyncO  sG      ))B-]]BBG C 
 
 	
 
s   AA
AA
c                 J   K   | j                          d{   \  }}}|S 7 
wrC   )r   r   s      r#   rD   zCredentialContext.delete_async]  s)      #0022A 3s   #!#c                 b   K   | j                          d{   \  }}}t        |||      S 7 w)z
        Asynchronous coroutine that deletes the CredentialInstance and return response metadata


        :returns: ApiResponse with success boolean, status code, and headers
        Nr   )r   r   r   s       r#   rI   z-CredentialContext.delete_with_http_info_asyncg  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CredentialContext._fetchq  sB     ))B-.}}55dii 6 
 	
r"   c                 t    | j                         \  }}}t        | j                  || j                  d         S )rK   r'   r:   )r   r   r<   r4   r6   r&   r   s      r#   rL   zCredentialContext.fetch  s8     A!MMu%
 	
r"   c                     | j                         \  }}}t        | j                  || j                  d         }t	        |||      S )z
        Fetch the CredentialInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        r'   r:   r   )r   r   r<   r4   r   r6   r&   r   r   instances        r#   rQ   z&CredentialContext.fetch_with_http_info  sG     )-%g%MMu%

 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CredentialContext._fetch_async  sQ      ))B-.]]AAdii B 
 
 	
 
s   AAA	Ac                    K   | j                          d{   \  }}}t        | j                  || j                  d         S 7 -w)rN   Nr'   r:   )r   r   r<   r4   r   s      r#   rO   zCredentialContext.fetch_async  sG      #//11A!MMu%
 	
 2s   AA.Ac                    K   | j                          d{   \  }}}t        | j                  || j                  d         }t	        |||      S 7 ;w)z
        Asynchronous coroutine to fetch the CredentialInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        Nr'   r:   r   )r   r   r<   r4   r   r   s        r#   rS   z,CredentialContext.fetch_with_http_info_async  sW      /3.?.?.A(A%g%MMu%

 k7SS )Bs   AA<Ar*   rT   rU   r,   rV   rW   c           	          t        j                  |||t        j                  |      ||d      }t        j                  i       }d|d<   d|d<   | j                  j                  d| j                  ||      S )z{
        Internal helper for update operation

        Returns:
            tuple: (payload, status_code, headers)
        FriendlyNameCertificate
PrivateKeySandboxApiKeySecret!application/x-www-form-urlencodedContent-Typer   r   POSTr   r   r   r   )r   r   r   boolean_to_stringr<   update_with_response_infor   	r6   r*   rT   rU   r,   rV   rW   r   r   s	            r#   _updatezCredentialContext._update  s      yy -*)$66w?! 	
 ))B-"E.}}66tyytW 7 
 	
r"   c                     | j                  ||||||      \  }}}t        | j                  || j                  d         S )rY   rZ   r'   r:   )r   r   r<   r4   	r6   r*   rT   rU   r,   rV   rW   r&   r   s	            r#   r[   zCredentialContext.update  sM    * '## % 
A "$--dnnU>STTr"   c                     | j                  ||||||      \  }}}	t        | j                  || j                  d         }
t	        |
||	      S )a  
        Update the CredentialInstance and return response metadata

        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: ApiResponse with instance, status code, and headers
        rZ   r'   r:   r   )r   r   r<   r4   r   r6   r*   rT   rU   r,   rV   rW   r&   r   r   r   s              r#   rb   z'CredentialContext.update_with_http_info  s]    * )-'## )5 )
%g &dmmW$..QVBWXk7SSr"   c           	        K   t        j                  |||t        j                  |      ||d      }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   r   r   N)r   r   r   r   r<   update_with_response_info_asyncr   r   s	            r#   _update_asynczCredentialContext._update_async.  s       yy -*)$66w?! 	
 ))B-"E.]]BBtyytW C 
 
 	
 
s   A;B=B>Bc                    K   | j                  ||||||       d{   \  }}}t        | j                  || j                  d         S 7 -w)r^   rZ   Nr'   r:   )r   r   r<   r4   r   s	            r#   r_   zCredentialContext.update_asyncR  s]     * #00'## 1 
 
A "$--dnnU>STT
s   AA.Ac                    K   | j                  ||||||       d{   \  }}}	t        | j                  || j                  d         }
t	        |
||	      S 7 ;w)a  
        Asynchronous coroutine to update the CredentialInstance and return response metadata

        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: ApiResponse with instance, status code, and headers
        rZ   Nr'   r:   r   )r   r   r<   r4   r   r   s              r#   rd   z-CredentialContext.update_with_http_info_asyncq  sn     * /3.@.@'## /A /
 )
%g &dmmW$..QVBWXk7SS)
s   AA<Ac                     dj                  d | j                  j                         D              }dj                  |      S )rf   rg   c              3   F   K   | ]  \  }}d j                  ||        ywri   rj   rl   s      r#   rp   z-CredentialContext.__repr__.<locals>.<genexpr>  rq   rr   z'<Twilio.Notify.V1.CredentialContext {}>rs   rv   s     r#   rx   zCredentialContext.__repr__  s6     ((SDNN<P<P<RSS8??HHr"   )"r   r   r   r   rz   r1   tupler   r|   rA   r   rG   r   rD   rI   r   r   rL   rQ   r   rO   rS   r   r}   r   ry   r   r[   rb   r   r_   rd   rx   r~   r   s   @r#   r;   r;     s   B Bc B
 
 S{ S
U 
D S; S
 
 
) 
Tk T
E 
 
#5 
T+ T" -3LL*0,,*0,,'-||&,ll%+\\"
S&[)"
 3;'"
 3;'	"

 tV|$"
 sF{#"
 c6k""
 
"
L -3LL*0,,*0,,'-||&,ll%+\\US&[)U 3;'U 3;'	U
 tV|$U sF{#U c6k"U 
UB -3LL*0,,*0,,'-||&,ll%+\\TS&[)T 3;'T 3;'	T
 tV|$T sF{#T c6k"T 
TD -3LL*0,,*0,,'-||&,ll%+\\"
S&[)"
 3;'"
 3;'	"

 tV|$"
 sF{#"
 c6k""
 
"
L -3LL*0,,*0,,'-||&,ll%+\\US&[)U 3;'U 3;'	U
 tV|$U sF{#U c6k"U 
UB -3LL*0,,*0,,'-||&,ll%+\\TS&[)T 3;'T 3;'	T
 tV|$T sF{#T c6k"T 
T@I# Ir"   r;   c                   2    e Zd Zdeeef   defdZdefdZy)CredentialPager&   r8   c                 .    t        | j                  |      S )zp
        Build an instance of CredentialInstance

        :param payload: Payload response from the API
        )r   r<   )r6   r&   s     r#   get_instancezCredentialPage.get_instance  s     "$--99r"   c                      y)rf   z!<Twilio.Notify.V1.CredentialPage>r!   r=   s    r#   rx   zCredentialPage.__repr__       3r"   N)	r   r   r   r   rz   r   r   r   rx   r!   r"   r#   r   r     s*    :DcN :7I :3# 3r"   r   c                   	    e Zd Zdef fdZej                  ej                  ej                  ej                  ej                  ej                  fdd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ee	f   defdZej                  ej                  ej                  ej                  ej                  ej                  fdd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ee	f   defdZej                  ej                  ej                  ej                  ej                  ej                  fdd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ee	f   defdZej                  ej                  ej                  ej                  ej                  ej                  fdd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ee	f   defdZej                  ej                  ej                  ej                  ej                  ej                  fdd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ee	f   defdZej                  ej                  ej                  ej                  ej                  ej                  fdd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ee	f   defdZ	 	 d)dee   dee   dee   fdZ	 	 d)dee   dee   dee   fdZ	 	 d)dee   dee   defdZ	 	 d)dee   dee   defdZ	 	 d)dee   dee   dee   fdZ	 	 d)dee   dee   dee   fdZ	 	 d)dee   dee   defdZ	 	 d)dee   dee   defdZ ej                  ej                  ej                  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                  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                  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                  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 )*CredentialListr%   c                 2    t         |   |       d| _        y)zl
        Initialize the CredentialList

        :param version: Version that contains the resource

        z/CredentialsN)r0   r1   r   )r6   r%   r7   s     r#   r1   zCredentialList.__init__  s     	!"	r"   r+   r   r*   rT   rU   r,   rV   rW   r8   c           
          t        j                  ||||t        j                  |      ||d      }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)
        Typer   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r<   create_with_response_infor   
r6   r+   r*   rT   rU   r,   rV   rW   r   r   s
             r#   _createzCredentialList._create  s    " yy -*)$66w?! 

 ))^-PQR"E.}}66tyytW 7 
 	
r"   c           	      f    | j                  |||||||      \  }}	}	t        | j                  |      S )a  
        Create the CredentialInstance

        :param type:
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: The created CredentialInstance
        r+   r*   rT   rU   r,   rV   rW   )r   r   r<   
r6   r+   r*   rT   rU   r,   rV   rW   r&   r   s
             r#   createzCredentialList.create  sE    . '## % 
A "$--99r"   c           	          | j                  |||||||      \  }}	}
t        | j                  |      }t        ||	|
      S )a  
        Create the CredentialInstance and return response metadata

        :param type:
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: ApiResponse with instance, status code, and headers
        r   r   )r   r   r<   r   r6   r+   r*   rT   rU   r,   rV   rW   r&   r   r   r   s               r#   create_with_http_infoz$CredentialList.create_with_http_info  sT    . )-'## )5 )
%g &dmmW=k7SSr"   c           
        K   t        j                  ||||t        j                  |      ||d      }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   r   N)r   r   r   r   r<   create_with_response_info_asyncr   r   s
             r#   _create_asynczCredentialList._create_async&  s     " yy -*)$66w?! 

 ))^-PQR"E.]]BBtyytW C 
 
 	
 
s   A>B BBc           	         K   | j                  |||||||       d{   \  }}	}	t        | j                  |      S 7 w)a  
        Asynchronously create the CredentialInstance

        :param type:
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: The created CredentialInstance
        r   N)r   r   r<   r   s
             r#   create_asynczCredentialList.create_asyncL  sU     . #00'## 1 
 
A "$--99
s   ?=?c           	         K   | j                  |||||||       d{   \  }}	}
t        | j                  |      }t        ||	|
      S 7 ,w)a  
        Asynchronously create the CredentialInstance and return response metadata

        :param type:
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param certificate: [APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`
        :param private_key: [APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`
        :param sandbox: [APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.
        :param api_key: [GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.
        :param secret: [FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging.

        :returns: ApiResponse with instance, status code, and headers
        r   Nr   )r   r   r<   r   r   s               r#   create_with_http_info_asyncz*CredentialList.create_with_http_info_asyncn  se     . /3.@.@'## /A /
 )
%g &dmmW=k7SS)
s   AA-Alimit	page_sizec                     | j                   j                  ||      }| j                  |d         }| j                   j                  ||d         S )a`  
        Streams CredentialInstance 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 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<   read_limitspagestreamr6   r   r   limitsr   s        r#   r   zCredentialList.stream  sJ    ( **5)<yy6+#6y7}}##D&/::r"   c                    K   | j                   j                  ||      }| j                  |d          d{   }| j                   j                  ||d         S 7 #w)ao  
        Asynchronously streams CredentialInstance 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 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CredentialList.stream_async  sW     ( **5)<__vk/B_CC}}))$w@@ Ds   5AA$Ac                     | j                   j                  ||      }| j                  |d         }| j                   j                  |j                  |d         }||j
                  |j                  fS )a  
        Streams CredentialInstance and returns headers from first page


        :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   r6   r   r   r   page_response	generators         r#   stream_with_http_infoz$CredentialList.stream_with_http_info  sk    $ **5)<006+;N0O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 CredentialInstance and returns headers from first page


        :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*CredentialList.stream_with_http_info_async  s     $ **5)<"<<[) = 
 
 MM..}/A/A6'?S	=44m6K6KLL
s   5B A>AB c                 :    t        | j                  ||            S )a  
        Lists CredentialInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :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   )listr   )r6   r   r   s      r#   r   zCredentialList.list  s(    & KK#  
 	
r"   c                 z   K   | j                  ||       d{   2 cg c3 d{   }|7 7 	6 c}S c c}w w)a  
        Asynchronously lists CredentialInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :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   )r6   r   r   records       r#   
list_asynczCredentialList.list_async  sT     * '+&7&7# '8 ' !
 
 !
 
 	
 
s0   ;.;620
26;26;c                 b    | j                  ||      \  }}}t        |      }t        |||      S )a  
        Lists CredentialInstance and returns headers from first page


        :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   )r6   r   r   r   r   r   ru   s          r#   list_with_http_infoz"CredentialList.list_with_http_info*  sA    $ +/*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 CredentialInstance and returns headers from first page


        :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   )r6   r   r   r   r   r   r   ru   s           r#   list_with_http_info_asyncz(CredentialList.list_with_http_info_asyncC  sf     $ 150P0P 1Q 1
 +
'	; -666&	+
 7666;PPs4   A4A:86
8:A8:A
page_tokenpage_numberc                     t        j                  |||d      }t        j                  ddi      }d|d<   | j                  j                  d| j                  ||      }t        | j                  |      S )ay  
        Retrieve a single page of CredentialInstance records from the API.
        Request is executed immediately

        :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 CredentialInstance
        	PageTokenr   PageSizer   r   r   r   r   r   r   paramsr   )r   r   r<   r   r   r   r6   r  r  r   r   r   responses          r#   r   zCredentialList.page\  sy      yy'#%
 ))^-PQR.==%%diig & 
 dmmX66r"   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 CredentialInstance records from the API.
        Request is executed immediately

        :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 CredentialInstance
        r  r   r   r   r   r   r	  N)r   r   r<   r   r   r   r  s          r#   r   zCredentialList.page_async}  s       yy'#%
 ))^-PQR.11diig 2 
 
 dmmX66
s   A"B$A?%Bc                    t        j                  |||d      }t        j                  ddi      }d|d<   | j                  j                  d| j                  ||      \  }}}t        | j                  |      }	t        |	||      S )	a\  
        Retrieve a single page with response metadata


        :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 CredentialPage, status code, and headers
        r  r   r   r   r   r   r	  r   )r   r   r<   page_with_response_infor   r   r   
r6   r  r  r   r   r   r  r   response_headersr   s
             r#   r   z"CredentialList.page_with_http_info  s      yy'#%
 ))^-PQR.26--2W2Wdiig 3X 3
/+/ dmmX6+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)
ak  
        Asynchronously retrieve a single page with response metadata


        :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 CredentialPage, status code, and headers
        r  r   r   r   r   r   r	  Nr   )r   r   r<   page_with_response_info_asyncr   r   r   r  s
             r#   r   z(CredentialList.page_with_http_info_async  s       yy'#%
 ))^-PQR. --==$))D' >   	0+/
 dmmX6+GWXXs   A"B$B%-B
target_urlc                     | j                   j                  j                  j                  d|      }t	        | j                   |      S )z
        Retrieve a specific page of CredentialInstance records from the API.
        Request is executed immediately

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

        :returns: Page of CredentialInstance
        r   )r<   domaintwiliorequestr   r6   r  r  s      r#   get_pagezCredentialList.get_page  s7     ==''..66ujIdmmX66r"   c                    K   | j                   j                  j                  j                  d|       d{   }t	        | j                   |      S 7 w)a  
        Asynchronously retrieve a specific page of CredentialInstance records from the API.
        Request is executed immediately

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

        :returns: Page of CredentialInstance
        r   N)r<   r  r  request_asyncr   r  s      r#   get_page_asynczCredentialList.get_page_async  sD      --44BB5*UUdmmX66 Vs   4AAAr'   c                 0    t        | j                  |      S z
        Constructs a CredentialContext

        :param sid: The Twilio-provided string that uniquely identifies the Credential resource to update.
        r:   r;   r<   r6   r'   s     r#   r2   zCredentialList.get       !C88r"   c                 0    t        | j                  |      S r  r   r!  s     r#   __call__zCredentialList.__call__  r"  r"   c                      y)rf   z!<Twilio.Notify.V1.CredentialList>r!   r=   s    r#   rx   zCredentialList.__repr__  r   r"   )NN)-r   r   r   r   r1   r   r}   r   rz   ry   r|   r   r   r   r   r   r   r   r   r   r   intr	   r   r
   r   r   r   r   r   r   r   r  r   r   r   r   r   r  r  r;   r2   r$  rx   r~   r   s   @r#   r   r     s   	# 	# -3LL*0,,*0,,'-||&,ll%+\\$
.$
 S&[)$
 3;'	$

 3;'$
 tV|$$
 sF{#$
 c6k"$
 
$
R -3LL*0,,*0,,'-||&,ll%+\\ :. : S&[) : 3;'	 :
 3;' : tV|$ : sF{# : c6k" : 
 :J -3LL*0,,*0,,'-||&,ll%+\\!T.!T S&[)!T 3;'	!T
 3;'!T tV|$!T sF{#!T c6k"!T 
!TL -3LL*0,,*0,,'-||&,ll%+\\$
.$
 S&[)$
 3;'	$

 3;'$
 tV|$$
 sF{#$
 c6k"$
 
$
R -3LL*0,,*0,,'-||&,ll%+\\ :. : S&[) : 3;'	 :
 3;' : tV|$ : sF{# : c6k" : 
 :J -3LL*0,,*0,,'-||&,ll%+\\!T.!T S&[)!T 3;'	!T
 3;'!T tV|$!T sF{#!T c6k"!T 
!TJ  $#';}; C=; 
$	%	;6  $#'A}A C=A 
)	*	A6  $#'M}M C=M 
	M4  $#'M}M C=M 
	M8  $#'
}
 C=
 
 	!	
8  $#'
}
 C=
 
 	!	
:  $#'Q}Q C=Q 
	Q6  $#'Q}Q C=Q 
	Q6 *0*0,,(.	7#v+&7 3;'7 f%	7
 
7F *0*0,,(.	7#v+&7 3;'7 f%	7
 
7F *0*0,,(.	 Y#v+& Y 3;' Y f%	 Y
 
 YH *0*0,,(.	"Y#v+&"Y 3;'"Y f%	"Y
 
"YH
73 
7> 
7
7s 
7~ 
79s 90 99C 9$5 93# 3r"   r   N)__doc__r   typingr   r   r   r   r   r	   r
   twilio.baser   r   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   r!   r"   r#   <module>r0     sm     L L L 6 6 0 8 : 2 ' !J) JD|I |I~3T 3&d	3\ d	3r"   