U
    iRf'                     @   s   d Z ddlmZ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 G dd	 d	eZG d
d de	ZG dd deZdS )a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Trusthub
    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.
    )AnyDictOptionalUnion)values)InstanceContext)InstanceResource)ListResource)Versionc                       sx   e Zd ZdZdeeeef ee d fddZ	e
dddd	Zed d
ddZed d
ddZedddZ  ZS )ComplianceInquiriesInstancear  
    :ivar inquiry_id: The unique ID used to start an embedded compliance registration session.
    :ivar inquiry_session_token: The session token used to start an embedded compliance registration session.
    :ivar customer_id: The CustomerID matching the Customer Profile that should be resumed or resubmitted for editing.
    :ivar url: The URL of this resource.
    N)versionpayloadcustomer_idc                    sV   t  | |d| _|d| _|d| _|d| _d|pF| ji| _d | _d S )N
inquiry_idinquiry_session_tokenr   url)	super__init__getr   r   r   r   	_solution_context)selfr   r   r   	__class__ P/tmp/pip-unpacked-wheel-74se_viw/twilio/rest/trusthub/v1/compliance_inquiries.pyr      s     z$ComplianceInquiriesInstance.__init__ComplianceInquiriesContextreturnc                 C   s&   | j dkr t| j| jd d| _ | j S )a  
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: ComplianceInquiriesContext for this ComplianceInquiriesInstance
        Nr   r   )r   r   _versionr   r   r   r   r   _proxy1   s    
z"ComplianceInquiriesInstance._proxyprimary_profile_sidr   c                 C   s   | j j|dS ).  
        Update the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.

        :returns: The updated ComplianceInquiriesInstance
        r$   )r"   updater   r$   r   r   r   r'   @   s    z"ComplianceInquiriesInstance.updatec                    s   | j j|dI dH S )H  
        Asynchronous coroutine to update the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.

        :returns: The updated ComplianceInquiriesInstance
        r&   N)r"   update_asyncr(   r   r   r   r*   L   s    
z(ComplianceInquiriesInstance.update_asyncc                 C   s$   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s   s   | ]\}}d  ||V  qdS z{}={}Nformat.0kvr   r   r   	<genexpr>`   s     z7ComplianceInquiriesInstance.__repr__.<locals>.<genexpr>z3<Twilio.Trusthub.V1.ComplianceInquiriesInstance {}>joinr   itemsr/   r   contextr   r   r   __repr__Z   s    z$ComplianceInquiriesInstance.__repr__)N)__name__
__module____qualname____doc__r
   r   strr   r   r   propertyr"   r'   r*   r:   __classcell__r   r   r   r   r      s    
r   c                       sR   e Zd Zeed fddZeedddZeedddZed	d
dZ	  Z
S )r   )r   r   c                    s*   t  | d|i| _djf | j| _dS )aU  
        Initialize the ComplianceInquiriesContext

        :param version: Version that contains the resource
        :param customer_id: The unique CustomerId matching the Customer Profile/Compliance Inquiry that should be resumed or resubmitted. This value will have been returned by the initial Compliance Inquiry creation call.
        r   z7/ComplianceInquiries/Customers/{customer_id}/InitializeN)r   r   r   r/   _uri)r   r   r   r   r   r   r   f   s     z#ComplianceInquiriesContext.__init__r#   c                 C   s8   t d|i}| jjd| j|d}t| j|| jd dS )r%   PrimaryProfileSidPOSTmethoduridatar   r   )r   ofr    r'   rB   r   r   r   r$   rH   r   r   r   r   r'   w   s       z!ComplianceInquiriesContext.updatec                    s>   t d|i}| jjd| j|dI dH }t| j|| jd dS )r)   rC   rD   rE   Nr   r   )r   rI   r    r*   rB   r   r   rJ   r   r   r   r*      s    
   z'ComplianceInquiriesContext.update_asyncr   c                 C   s$   d dd | j D }d|S )r+   r,   c                 s   s   | ]\}}d  ||V  qdS r-   r.   r0   r   r   r   r4      s     z6ComplianceInquiriesContext.__repr__.<locals>.<genexpr>z2<Twilio.Trusthub.V1.ComplianceInquiriesContext {}>r5   r8   r   r   r   r:      s    z#ComplianceInquiriesContext.__repr__)r;   r<   r=   r
   r?   r   r   r'   r*   r:   rA   r   r   r   r   r   d   s   r   c                       s   e Zd Zed fddZejfeeee	f e
dddZejfeeee	f e
dddZeed	d
dZeed	ddZedddZ  ZS )ComplianceInquiriesList)r   c                    s   t  | d| _dS )zu
        Initialize the ComplianceInquiriesList

        :param version: Version that contains the resource

        z)/ComplianceInquiries/Customers/InitializeN)r   r   rB   )r   r   r   r   r   r      s    z ComplianceInquiriesList.__init__)r$   notification_emailr   c                 C   s@   t ||d}t ddi}| jjd| j||d}t| j|S )a  
        Create the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.
        :param notification_email: The email address that approval status updates will be sent to. If not specified, the email address associated with your primary customer profile will be used.

        :returns: The created ComplianceInquiriesInstance
        rC   ZNotificationEmailContent-Type!application/x-www-form-urlencodedrD   rF   rG   rH   headers)r   rI   r    createrB   r   r   r$   rL   rH   rQ   r   r   r   r   rR      s       zComplianceInquiriesList.createc                    sF   t ||d}t ddi}| jjd| j||dI dH }t| j|S )a   
        Asynchronously create the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.
        :param notification_email: The email address that approval status updates will be sent to. If not specified, the email address associated with your primary customer profile will be used.

        :returns: The created ComplianceInquiriesInstance
        rM   rN   rO   rD   rP   N)r   rI   r    create_asyncrB   r   rS   r   r   r   rT      s       z$ComplianceInquiriesList.create_async)r   r   c                 C   s   t | j|dS a  
        Constructs a ComplianceInquiriesContext

        :param customer_id: The unique CustomerId matching the Customer Profile/Compliance Inquiry that should be resumed or resubmitted. This value will have been returned by the initial Compliance Inquiry creation call.
        r   r   r    r   r   r   r   r   r      s    zComplianceInquiriesList.getc                 C   s   t | j|dS rU   rV   rW   r   r   r   __call__   s    z ComplianceInquiriesList.__call__r   c                 C   s   dS )r+   z,<Twilio.Trusthub.V1.ComplianceInquiriesList>r   r!   r   r   r   r:     s    z ComplianceInquiriesList.__repr__)r;   r<   r=   r
   r   r   Zunsetr?   r   objectr   rR   rT   r   r   rX   r:   rA   r   r   r   r   rK      s    

rK   N)r>   typingr   r   r   r   Ztwilio.baser   Ztwilio.base.instance_contextr   Ztwilio.base.instance_resourcer   Ztwilio.base.list_resourcer	   Ztwilio.base.versionr
   r   r   rK   r   r   r   r   <module>   s   MO