o
    f>hn                     @   s   d Z ddl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	 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)	serializevalues)InstanceContext)InstanceResource)ListResource)Versionc                       s   e Zd ZG dd deZG dd deZG dd deZG dd deZ	 		dd
ede	e
ef dee
 f fddZedddZejejfdeeef dee
ef dd fddZejejfdeeef dee
ef dd fddZde
fddZ  ZS )'ComplianceRegistrationInquiriesInstancec                   @   s   e Zd ZdZdZdZdS )<ComplianceRegistrationInquiriesInstance.BusinessIdentityTypedirect_customerisv_reseller_or_partnerunknownN)__name__
__module____qualname__DIRECT_CUSTOMERISV_RESELLER_OR_PARTNERUNKNOWN r   r   l/var/www/html/venv/lib/python3.10/site-packages/twilio/rest/trusthub/v1/compliance_registration_inquiries.pyBusinessIdentityType   s    r   c                   @   s    e Zd ZdZdZdZdZdZdS )EComplianceRegistrationInquiriesInstance.BusinessRegistrationAuthorityzUK:CRNzUS:EINzCA:CBNzAU:ACNOtherN)r   r   r   UK_CRNUS_EINCA_CBNAU_ACNOTHERr   r   r   r   BusinessRegistrationAuthority   s    r!   c                   @   s   e Zd ZdZdZdS )3ComplianceRegistrationInquiriesInstance.EndUserType
IndividualBusinessN)r   r   r   
INDIVIDUALBUSINESSr   r   r   r   EndUserType%   s    r'   c                   @   s   e Zd ZdZdZdZdZdS )7ComplianceRegistrationInquiriesInstance.PhoneNumberTypelocalnationalmobilez	toll-freeN)r   r   r   LOCALNATIONALMOBILE	TOLL_FREEr   r   r   r   PhoneNumberType)   s
    r0   Nversionpayloadregistration_idc                    sV   t  | |d| _|d| _|d| _|d| _d|p#| ji| _d | _d S )N
inquiry_idinquiry_session_tokenr3   url)	super__init__getr4   r5   r3   r6   	_solution_context)selfr1   r2   r3   	__class__r   r   r8   6   s   

z0ComplianceRegistrationInquiriesInstance.__init__return&ComplianceRegistrationInquiriesContextc                 C   s&   | j du 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: ComplianceRegistrationInquiriesContext for this ComplianceRegistrationInquiriesInstance
        Nr3   r3   )r;   r@   _versionr:   r<   r   r   r   _proxyH   s   
z.ComplianceRegistrationInquiriesInstance._proxyis_isv_embedtheme_set_idc                 C   s   | j j||dS )7  
        Update the ComplianceRegistrationInquiriesInstance

        :param is_isv_embed: Indicates if the inquiry is being started from an ISV embedded component.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The updated ComplianceRegistrationInquiriesInstance
        rE   rF   )rD   updater<   rE   rF   r   r   r   rI   W   s   z.ComplianceRegistrationInquiriesInstance.updatec                    s   | j j||dI dH S )Q  
        Asynchronous coroutine to update the ComplianceRegistrationInquiriesInstance

        :param is_isv_embed: Indicates if the inquiry is being started from an ISV embedded component.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The updated ComplianceRegistrationInquiriesInstance
        rH   N)rD   update_asyncrJ   r   r   r   rL   i   s
   z4ComplianceRegistrationInquiriesInstance.update_asyncc                 C   $   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s        | ]\}}d  ||V  qdS z{}={}Nformat.0kvr   r   r   	<genexpr>       zCComplianceRegistrationInquiriesInstance.__repr__.<locals>.<genexpr>z?<Twilio.Trusthub.V1.ComplianceRegistrationInquiriesInstance {}>joinr:   itemsrS   r<   contextr   r   r   __repr__{      z0ComplianceRegistrationInquiriesInstance.__repr__)N)r?   r@   )r   r   r   objectr   r!   r'   r0   r   r   strr   r   r8   propertyrD   r   unsetr   boolrI   rL   r_   __classcell__r   r   r=   r   r      sF    






r   c                       s   e Zd Zdedef fddZejejfdee	e
f deee
f defdd	Zejejfdee	e
f deee
f defd
dZdefddZ  ZS )r@   r1   r3   c                    s.   t  | d|i| _djdi | j| _dS )an  
        Initialize the ComplianceRegistrationInquiriesContext

        :param version: Version that contains the resource
        :param registration_id: The unique RegistrationId matching the Regulatory Compliance Inquiry that should be resumed or resubmitted. This value will have been returned by the initial Regulatory Compliance Inquiry creation call.
        r3   zV/ComplianceInquiries/Registration/{registration_id}/RegulatoryCompliance/GB/InitializeNr   )r7   r8   r:   rS   _uri)r<   r1   r3   r=   r   r   r8      s   z/ComplianceRegistrationInquiriesContext.__init__rE   rF   r?   c                 C   s\   t t||d}t i }d|d< d|d< | jjd| j||d}t| j|| jd d	S )
rG   
IsIsvEmbed
ThemeSetId!application/x-www-form-urlencodedContent-Typeapplication/jsonAcceptPOSTmethoduridataheadersr3   rA   )	r   ofr   boolean_to_stringrB   rI   rg   r   r:   r<   rE   rF   rs   rt   r2   r   r   r   rI      s   

z-ComplianceRegistrationInquiriesContext.updatec                    sd   t t||d}t i }d|d< d|d< | jjd| j||dI dH }t| j|| jd	 d
S )rK   rh   rk   rl   rm   rn   ro   rp   Nr3   rA   )	r   ru   r   rv   rB   rL   rg   r   r:   rw   r   r   r   rL      s   

z3ComplianceRegistrationInquiriesContext.update_asyncc                 C   rM   )rN   rO   c                 s   rP   rQ   rR   rT   r   r   r   rX      rY   zBComplianceRegistrationInquiriesContext.__repr__.<locals>.<genexpr>z><Twilio.Trusthub.V1.ComplianceRegistrationInquiriesContext {}>rZ   r]   r   r   r   r_      r`   z/ComplianceRegistrationInquiriesContext.__repr__)r   r   r   r   rb   r8   r   rd   r   re   ra   r   rI   rL   r_   rf   r   r   r=   r   r@      s*    


$


"r@   c                Q       s$  e Zd Zdef fddZejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejf%ddddded	ef d
ed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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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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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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fPd0d1Zejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejf%ddddded	ef d
ed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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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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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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fPd2d3Zd4e	d/efd5d6Zd4e	d/efd7d8Zd/e	fd9d:Z  ZS );#ComplianceRegistrationInquiriesListr1   c                    s   t  | d| _dS )z
        Initialize the ComplianceRegistrationInquiriesList

        :param version: Version that contains the resource

        zD/ComplianceInquiries/Registration/RegulatoryCompliance/GB/InitializeN)r7   r8   rg   )r<   r1   r=   r   r   r8      s   z,ComplianceRegistrationInquiriesList.__init__end_user_typer"   phone_number_typer(   business_identity_typer   business_registration_authorityr   business_legal_namenotification_emailaccepted_notification_receiptbusiness_registration_numberbusiness_website_urlfriendly_name%authorized_representative1_first_name$authorized_representative1_last_name authorized_representative1_phone authorized_representative1_email(authorized_representative1_date_of_birthaddress_streetaddress_street_secondaryaddress_cityaddress_subdivisionaddress_postal_codeaddress_country_codeemergency_address_street"emergency_address_street_secondaryemergency_address_cityemergency_address_subdivisionemergency_address_postal_codeemergency_address_country_code use_address_as_emergency_address	file_namefile
first_name	last_namedate_of_birthindividual_emailindividual_phonerE   "isv_registering_for_self_or_tenantstatus_callback_urlrF   r?   c(           +   	   C   s<  t i d|d|d|d|d|d|dt|d|d	|	d
|
d|d|d|d|d|d|d|i d|d|d|d|d|d|d|d|d|d|dt|d|d|d|d | d!|!d"|"|#t|$|%|&|'d#}(t d$d%i})d%|)d$< d&|)d'< | jjd(| j|(|)d)}*t| j|*S )*a+  
        Create the ComplianceRegistrationInquiriesInstance

        :param end_user_type:
        :param phone_number_type:
        :param business_identity_type:
        :param business_registration_authority:
        :param business_legal_name: he name of the business or organization using the Tollfree number.
        :param notification_email: he email address to receive the notification about the verification result.
        :param accepted_notification_receipt: The email address to receive the notification about the verification result.
        :param business_registration_number: Business registration number of the business
        :param business_website_url: The URL of the business website
        :param friendly_name: Friendly name for your business information
        :param authorized_representative1_first_name: First name of the authorized representative
        :param authorized_representative1_last_name: Last name of the authorized representative
        :param authorized_representative1_phone: Phone number of the authorized representative
        :param authorized_representative1_email: Email address of the authorized representative
        :param authorized_representative1_date_of_birth: Birthdate of the authorized representative
        :param address_street: Street address of the business
        :param address_street_secondary: Street address of the business
        :param address_city: City of the business
        :param address_subdivision: State or province of the business
        :param address_postal_code: Postal code of the business
        :param address_country_code: Country code of the business
        :param emergency_address_street: Street address of the business
        :param emergency_address_street_secondary: Street address of the business
        :param emergency_address_city: City of the business
        :param emergency_address_subdivision: State or province of the business
        :param emergency_address_postal_code: Postal code of the business
        :param emergency_address_country_code: Country code of the business
        :param use_address_as_emergency_address: Use the business address as the emergency address
        :param file_name: The name of the verification document to upload
        :param file: The verification document to upload
        :param first_name: The first name of the Individual User.
        :param last_name: The last name of the Individual User.
        :param date_of_birth: The date of birth of the Individual User.
        :param individual_email: The email address of the Individual User.
        :param individual_phone: The phone number of the Individual User.
        :param is_isv_embed: Indicates if the inquiry is being started from an ISV embedded component.
        :param isv_registering_for_self_or_tenant: Indicates if the isv registering for self or tenant.
        :param status_callback_url: The url we call to inform you of bundle changes.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The created ComplianceRegistrationInquiriesInstance
        r'   r0   r   r!   BusinessLegalNameNotificationEmailAcceptedNotificationReceiptBusinessRegistrationNumberBusinessWebsiteUrlFriendlyName"AuthorizedRepresentative1FirstName!AuthorizedRepresentative1LastNameAuthorizedRepresentative1PhoneAuthorizedRepresentative1Email$AuthorizedRepresentative1DateOfBirthAddressStreetAddressStreetSecondaryAddressCityAddressSubdivisionAddressPostalCodeAddressCountryCodeEmergencyAddressStreetEmergencyAddressStreetSecondaryEmergencyAddressCityEmergencyAddressSubdivisionEmergencyAddressPostalCodeEmergencyAddressCountryCodeUseAddressAsEmergencyAddressFileNameFile	FirstNameLastNameDateOfBirthIndividualEmailIndividualPhoneri   IsvRegisteringForSelfOrTenantStatusCallbackUrlrj   rl   rk   rm   rn   ro   rp   )r   ru   r   rv   rB   createrg   r   +r<   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rE   r   r   rF   rs   rt   r2   r   r   r   r      s   ]
!"#$%&'/
z*ComplianceRegistrationInquiriesList.createc(           +   	      sD  t i d|d|d|d|d|d|dt|d|d	|	d
|
d|d|d|d|d|d|d|i d|d|d|d|d|d|d|d|d|d|dt|d|d|d|d | d!|!d"|"|#t|$|%|&|'d#}(t d$d%i})d%|)d$< d&|)d'< | jjd(| j|(|)d)I d*H }*t| j|*S )+a:  
        Asynchronously create the ComplianceRegistrationInquiriesInstance

        :param end_user_type:
        :param phone_number_type:
        :param business_identity_type:
        :param business_registration_authority:
        :param business_legal_name: he name of the business or organization using the Tollfree number.
        :param notification_email: he email address to receive the notification about the verification result.
        :param accepted_notification_receipt: The email address to receive the notification about the verification result.
        :param business_registration_number: Business registration number of the business
        :param business_website_url: The URL of the business website
        :param friendly_name: Friendly name for your business information
        :param authorized_representative1_first_name: First name of the authorized representative
        :param authorized_representative1_last_name: Last name of the authorized representative
        :param authorized_representative1_phone: Phone number of the authorized representative
        :param authorized_representative1_email: Email address of the authorized representative
        :param authorized_representative1_date_of_birth: Birthdate of the authorized representative
        :param address_street: Street address of the business
        :param address_street_secondary: Street address of the business
        :param address_city: City of the business
        :param address_subdivision: State or province of the business
        :param address_postal_code: Postal code of the business
        :param address_country_code: Country code of the business
        :param emergency_address_street: Street address of the business
        :param emergency_address_street_secondary: Street address of the business
        :param emergency_address_city: City of the business
        :param emergency_address_subdivision: State or province of the business
        :param emergency_address_postal_code: Postal code of the business
        :param emergency_address_country_code: Country code of the business
        :param use_address_as_emergency_address: Use the business address as the emergency address
        :param file_name: The name of the verification document to upload
        :param file: The verification document to upload
        :param first_name: The first name of the Individual User.
        :param last_name: The last name of the Individual User.
        :param date_of_birth: The date of birth of the Individual User.
        :param individual_email: The email address of the Individual User.
        :param individual_phone: The phone number of the Individual User.
        :param is_isv_embed: Indicates if the inquiry is being started from an ISV embedded component.
        :param isv_registering_for_self_or_tenant: Indicates if the isv registering for self or tenant.
        :param status_callback_url: The url we call to inform you of bundle changes.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The created ComplianceRegistrationInquiriesInstance
        r'   r0   r   r!   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   rk   rm   rn   ro   rp   N)r   ru   r   rv   rB   create_asyncrg   r   r   r   r   r   r     s   ]
!"#$%&'/
z0ComplianceRegistrationInquiriesList.create_asyncr3   c                 C      t | j|dS a1  
        Constructs a ComplianceRegistrationInquiriesContext

        :param registration_id: The unique RegistrationId matching the Regulatory Compliance Inquiry that should be resumed or resubmitted. This value will have been returned by the initial Regulatory Compliance Inquiry creation call.
        rA   r@   rB   r<   r3   r   r   r   r9   )     z'ComplianceRegistrationInquiriesList.getc                 C   r   r   r   r   r   r   r   __call__3  r   z,ComplianceRegistrationInquiriesList.__call__c                 C   s   dS )rN   z8<Twilio.Trusthub.V1.ComplianceRegistrationInquiriesList>r   rC   r   r   r   r_   =  s   z,ComplianceRegistrationInquiriesList.__repr__)r   r   r   r   r8   r   rd   r   ra   rb   re   r   r   r   r@   r9   r   r_   rf   r   r   r=   r   rx      s   





















 
!
"
#
$
%
&
'
(
)
*
+
,
-.
 





















 
!
"
#
$
%
&
'
(
)
*
+
,
-.
 

rx   N)__doc__typingr   r   r   r   twilio.baser   r   twilio.base.instance_contextr   twilio.base.instance_resourcer	   twilio.base.list_resourcer
   twilio.base.versionr   r   r@   rx   r   r   r   r   <module>   s    pc