U
    k7g2U                     @   s  d Z ddlmZmZ ddlmZ er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 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 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) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= dd l>m?Z? dd!l@mAZA dd"lBmCZC dd#lDmEZE dd$lFmGZG dd%lHmIZI dd&lJmKZK dd'lLmMZM dd(lNmOZO dd)lPmQZQ dd*lRmSZS dd+lTmUZU dd,lVmWZW dd-lXmYZY dd.lZm[Z[ dd/l\m]Z] dd0l^m_Z_ dd1l`maZa dd2lbmcZc dd3ldmeZe dd4lfmgZg dd5lhmiZi dd6ljmkZk dd7llmmZm dd8lnmoZo dd9lpmqZq dd:lrmsZs dd;ltmuZu dd<lvmwZw dd=lxmyZy dd>lzm{Z{ dd?l|m}Z} dd@l~mZ G dAdB dBeZdCS )Da  
  This code was generated by
  ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
   |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
   |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

  NOTE: This class is auto generated by OpenAPI Generator.
  https://openapi-generator.tech
  Do not edit the class manually.
    )TYPE_CHECKINGOptional)
ClientBaseAccountsApi
AssistantsBulkexportsChatContentConversationsEventsFlexApiFrontlineApiIamInsightsIntelligenceIpMessagingLookupsMarketplace	Messaging
MicrovisorMonitorNotifyNumbersOauthPreviewPricingProxyRoutes
ServerlessStudioSupersimSync
TaskrouterTrunkingTrusthubVerifyVideoVoiceWireless)AddressList)ApplicationList)AuthorizedConnectAppList)AvailablePhoneNumberCountryList)BalanceList)CallList)ConferenceList)ConnectAppList)IncomingPhoneNumberList)KeyList)
NewKeyList)MessageList)SigningKeyList)NewSigningKeyList)NotificationList)OutgoingCallerIdList)ValidationRequestList)	QueueList)RecordingList)ShortCodeList)SipList)	TokenList)TranscriptionList)	UsageListc                       sl  e Zd ZdZ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dZ	edd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d Zed!d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.d/Zed0dd1d2Zed3dd4d5Zed6dd7d8Zed9dd:d;Zed<dd=d>Zed?dd@dAZedBddCdDZedEddFdGZedHddIdJZedKddLdMZedNddOdPZedQddRdSZedTddUdVZ edWddXdYZ!edZdd[d\Z"ed]dd^d_Z#ed`ddadbZ$edcddddeZ%edfddgdhZ&ediddjdkZ'edlddmdnZ(edoddpdqZ)edrddsdtZ*eduddvdwZ+edxddydzZ,ed{dd|d}Z-ed~dddZ.eddddZ/eddddZ0eddddZ1eddddZ2eddddZ3eddddZ4eddddZ5eddddZ6eddddZ7eddddZ8eddddZ9eddddZ:eddddZ;eddddZ<eddddZ=eddddZ>eddddZ?eddddZ@eddddZAeddddZB  ZCS )Clientz&A client for accessing the Twilio API.Nc	           	   
      s   t  |||||||| d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _ d| _!d| _"d| _#d| _$d| _%d| _&dS )aX  
        Initializes the Twilio Client

        :param str username: Username to authenticate with, either account_sid or api_key
        :param str password: Password to authenticate with, auth_token (if using account_sid) or api_secret (if using api_key)
        :param str account_sid: Account SID, required if using api_key to authenticate.
        :param str region: Twilio Region to make requests to, defaults to 'us1' if an edge is provided
        :param HttpClient http_client: HttpClient, defaults to TwilioHttpClient
        :param dict environment: Environment to look for auth details, defaults to os.environ
        :param str edge: Twilio Edge to make requests to, defaults to None
        :param list[str] user_agent_extensions: Additions to the user agent string

        :returns: Twilio Client
        :rtype: twilio.rest.Client
        N)'super__init__	_accounts_api_assistants_bulkexports_chat_content_conversations_events	_flex_api_frontline_api_iam	_insights_intelligence_ip_messaging_lookups_marketplace
_messaging_microvisor_monitor_notify_numbers_oauth_preview_pricing_proxy_routes_serverless_studio	_supersim_sync_taskrouter	_trunking	_trusthub_verify_video_voice	_wireless)	selfusernamepasswordZaccount_sidZregionhttp_clientenvironmentZedgeZuser_agent_extensions	__class__ 8/tmp/pip-unpacked-wheel-qtbjxrb6/twilio/rest/__init__.pyri   Y   s^    zClient.__init__r   )returnc                 C   s&   | j dkr ddlm} || | _ | j S )z]
        Access the Accounts Twilio Domain

        :returns: Accounts Twilio Domain
        Nr   r   )rj   twilio.rest.accountsr   )r   r   r   r   r   accounts   s    

zClient.accountsr   c                 C   s&   | j dkr ddlm} || | _ | j S )zS
        Access the Api Twilio Domain

        :returns: Api Twilio Domain
        Nr   r   )rk   twilio.rest.apir   )r   r   r   r   r   api   s    

z
Client.apir
   c                 C   s&   | j dkr ddlm} || | _ | j S )za
        Access the Assistants Twilio Domain

        :returns: Assistants Twilio Domain
        Nr   r	   )rl   twilio.rest.assistantsr
   )r   r
   r   r   r   
assistants   s    

zClient.assistantsr   c                 C   s&   | j dkr ddlm} || | _ | j S )zc
        Access the Bulkexports Twilio Domain

        :returns: Bulkexports Twilio Domain
        Nr   r   )rm   twilio.rest.bulkexportsr   )r   r   r   r   r   bulkexports   s    

zClient.bulkexportsr   c                 C   s&   | j dkr ddlm} || | _ | j S )zU
        Access the Chat Twilio Domain

        :returns: Chat Twilio Domain
        Nr   r   )rn   twilio.rest.chatr   )r   r   r   r   r   chat   s    

zClient.chatr   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the Content Twilio Domain

        :returns: Content Twilio Domain
        Nr   r   )ro   twilio.rest.contentr   )r   r   r   r   r   content   s    

zClient.contentr   c                 C   s&   | j dkr ddlm} || | _ | j S )zg
        Access the Conversations Twilio Domain

        :returns: Conversations Twilio Domain
        Nr   r   )rp   twilio.rest.conversationsr   )r   r   r   r   r   conversations   s    

zClient.conversationsr   c                 C   s&   | j dkr ddlm} || | _ | j S )zY
        Access the Events Twilio Domain

        :returns: Events Twilio Domain
        Nr   r   )rq   twilio.rest.eventsr   )r   r   r   r   r   events   s    

zClient.eventsr   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the FlexApi Twilio Domain

        :returns: FlexApi Twilio Domain
        Nr   r   )rr   twilio.rest.flex_apir   )r   r   r   r   r   flex_api  s    

zClient.flex_apir   c                 C   s&   | j dkr ddlm} || | _ | j S )ze
        Access the FrontlineApi Twilio Domain

        :returns: FrontlineApi Twilio Domain
        Nr   r   )rs   twilio.rest.frontline_apir   )r   r   r   r   r   frontline_api  s    

zClient.frontline_apir   c                 C   s&   | j dkr ddlm} || | _ | j S )zS
        Access the Iam Twilio Domain

        :returns: Iam Twilio Domain
        Nr   r   )rt   twilio.rest.iamr   )r   r   r   r   r   iam'  s    

z
Client.iamr   c                 C   s&   | j dkr ddlm} || | _ | j S )z]
        Access the Insights Twilio Domain

        :returns: Insights Twilio Domain
        Nr   r   )ru   twilio.rest.insightsr   )r   r   r   r   r   insights4  s    

zClient.insightsr   c                 C   s&   | j dkr ddlm} || | _ | j S )ze
        Access the Intelligence Twilio Domain

        :returns: Intelligence Twilio Domain
        Nr   r   )rv   twilio.rest.intelligencer   )r   r   r   r   r   intelligenceA  s    

zClient.intelligencer    c                 C   s&   | j dkr ddlm} || | _ | j S )zc
        Access the IpMessaging Twilio Domain

        :returns: IpMessaging Twilio Domain
        Nr   r   )rw   twilio.rest.ip_messagingr    )r   r    r   r   r   ip_messagingN  s    

zClient.ip_messagingr"   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the Lookups Twilio Domain

        :returns: Lookups Twilio Domain
        Nr   r!   )rx   twilio.rest.lookupsr"   )r   r"   r   r   r   lookups[  s    

zClient.lookupsr$   c                 C   s&   | j dkr ddlm} || | _ | j S )zc
        Access the Marketplace Twilio Domain

        :returns: Marketplace Twilio Domain
        Nr   r#   )ry   twilio.rest.marketplacer$   )r   r$   r   r   r   marketplaceh  s    

zClient.marketplacer&   c                 C   s&   | j dkr ddlm} || | _ | j S )z_
        Access the Messaging Twilio Domain

        :returns: Messaging Twilio Domain
        Nr   r%   )rz   twilio.rest.messagingr&   )r   r&   r   r   r   	messagingu  s    

zClient.messagingr(   c                 C   s&   | j dkr ddlm} || | _ | j S )za
        Access the Microvisor Twilio Domain

        :returns: Microvisor Twilio Domain
        Nr   r'   )r{   twilio.rest.microvisorr(   )r   r(   r   r   r   
microvisor  s    

zClient.microvisorr*   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the Monitor Twilio Domain

        :returns: Monitor Twilio Domain
        Nr   r)   )r|   twilio.rest.monitorr*   )r   r*   r   r   r   monitor  s    

zClient.monitorr,   c                 C   s&   | j dkr ddlm} || | _ | j S )zY
        Access the Notify Twilio Domain

        :returns: Notify Twilio Domain
        Nr   r+   )r}   twilio.rest.notifyr,   )r   r,   r   r   r   notify  s    

zClient.notifyr.   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the Numbers Twilio Domain

        :returns: Numbers Twilio Domain
        Nr   r-   )r~   twilio.rest.numbersr.   )r   r.   r   r   r   numbers  s    

zClient.numbersr0   c                 C   s&   | j dkr ddlm} || | _ | j S )zW
        Access the Oauth Twilio Domain

        :returns: Oauth Twilio Domain
        Nr   r/   )r   twilio.rest.oauthr0   )r   r0   r   r   r   oauth  s    

zClient.oauthr2   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the Preview Twilio Domain

        :returns: Preview Twilio Domain
        Nr   r1   )r   twilio.rest.previewr2   )r   r2   r   r   r   preview  s    

zClient.previewr4   c                 C   s&   | j dkr ddlm} || | _ | j S )z[
        Access the Pricing Twilio Domain

        :returns: Pricing Twilio Domain
        Nr   r3   )r   twilio.rest.pricingr4   )r   r4   r   r   r   pricing  s    

zClient.pricingr6   c                 C   s&   | j dkr ddlm} || | _ | j S )zW
        Access the Proxy Twilio Domain

        :returns: Proxy Twilio Domain
        Nr   r5   )r   twilio.rest.proxyr6   )r   r6   r   r   r   proxy  s    

zClient.proxyr8   c                 C   s&   | j dkr ddlm} || | _ | j S )zY
        Access the Routes Twilio Domain

        :returns: Routes Twilio Domain
        Nr   r7   )r   twilio.rest.routesr8   )r   r8   r   r   r   routes  s    

zClient.routesr:   c                 C   s&   | j dkr ddlm} || | _ | j S )za
        Access the Serverless Twilio Domain

        :returns: Serverless Twilio Domain
        Nr   r9   )r   twilio.rest.serverlessr:   )r   r:   r   r   r   
serverless  s    

zClient.serverlessr<   c                 C   s&   | j dkr ddlm} || | _ | j S )zY
        Access the Studio Twilio Domain

        :returns: Studio Twilio Domain
        Nr   r;   )r   twilio.rest.studior<   )r   r<   r   r   r   studio  s    

zClient.studior>   c                 C   s&   | j dkr ddlm} || | _ | j S )z]
        Access the Supersim Twilio Domain

        :returns: Supersim Twilio Domain
        Nr   r=   )r   twilio.rest.supersimr>   )r   r>   r   r   r   supersim  s    

zClient.supersimr@   c                 C   s&   | j dkr ddlm} || | _ | j S )zU
        Access the Sync Twilio Domain

        :returns: Sync Twilio Domain
        Nr   r?   )r   twilio.rest.syncr@   )r   r@   r   r   r   sync  s    

zClient.syncrB   c                 C   s&   | j dkr ddlm} || | _ | j S )za
        Access the Taskrouter Twilio Domain

        :returns: Taskrouter Twilio Domain
        Nr   rA   )r   twilio.rest.taskrouterrB   )r   rB   r   r   r   
taskrouter+  s    

zClient.taskrouterrD   c                 C   s&   | j dkr ddlm} || | _ | j S )z]
        Access the Trunking Twilio Domain

        :returns: Trunking Twilio Domain
        Nr   rC   )r   twilio.rest.trunkingrD   )r   rD   r   r   r   trunking8  s    

zClient.trunkingrF   c                 C   s&   | j dkr ddlm} || | _ | j S )z]
        Access the Trusthub Twilio Domain

        :returns: Trusthub Twilio Domain
        Nr   rE   )r   twilio.rest.trusthubrF   )r   rF   r   r   r   trusthubE  s    

zClient.trusthubrH   c                 C   s&   | j dkr ddlm} || | _ | j S )zY
        Access the Verify Twilio Domain

        :returns: Verify Twilio Domain
        Nr   rG   )r   twilio.rest.verifyrH   )r   rH   r   r   r   verifyR  s    

zClient.verifyrJ   c                 C   s&   | j dkr ddlm} || | _ | j S )zW
        Access the Video Twilio Domain

        :returns: Video Twilio Domain
        Nr   rI   )r   twilio.rest.videorJ   )r   rJ   r   r   r   video_  s    

zClient.videorL   c                 C   s&   | j dkr ddlm} || | _ | j S )zW
        Access the Voice Twilio Domain

        :returns: Voice Twilio Domain
        Nr   rK   )r   twilio.rest.voicerL   )r   rL   r   r   r   voicel  s    

zClient.voicerN   c                 C   s&   | j dkr ddlm} || | _ | j S )z]
        Access the Wireless Twilio Domain

        :returns: Wireless Twilio Domain
        Nr   rM   )r   twilio.rest.wirelessrN   )r   rN   r   r   r   wirelessy  s    

zClient.wirelessrO   c                 C   s
   | j jjS N)r   account	addressesr   r   r   r   r     s    zClient.addressesrP   c                 C   s
   | j jjS r   )r   r   applicationsr   r   r   r   r     s    zClient.applicationsrQ   c                 C   s
   | j jjS r   )r   r   authorized_connect_appsr   r   r   r   r     s    zClient.authorized_connect_appsrR   c                 C   s
   | j jjS r   )r   r   available_phone_numbersr   r   r   r   r     s    zClient.available_phone_numbersrS   c                 C   s
   | j jjS r   )r   r   balancer   r   r   r   r     s    zClient.balancerT   c                 C   s
   | j jjS r   )r   r   callsr   r   r   r   r     s    zClient.callsrU   c                 C   s
   | j jjS r   )r   r   conferencesr   r   r   r   r     s    zClient.conferencesrV   c                 C   s
   | j jjS r   )r   r   connect_appsr   r   r   r   r     s    zClient.connect_appsrW   c                 C   s
   | j jjS r   )r   r   incoming_phone_numbersr   r   r   r   r     s    zClient.incoming_phone_numbersrX   c                 C   s
   | j jjS r   )r   r   keysr   r   r   r   r     s    zClient.keysrY   c                 C   s
   | j jjS r   )r   r   new_keysr   r   r   r   r     s    zClient.new_keysrZ   c                 C   s
   | j jjS r   )r   r   messagesr   r   r   r   r     s    zClient.messagesr[   c                 C   s
   | j jjS r   )r   r   signing_keysr   r   r   r   r     s    zClient.signing_keysr\   c                 C   s
   | j jjS r   )r   r   new_signing_keysr   r   r   r   r     s    zClient.new_signing_keysr]   c                 C   s
   | j jjS r   )r   r   notificationsr   r   r   r   r     s    zClient.notificationsr^   c                 C   s
   | j jjS r   )r   r   outgoing_caller_idsr   r   r   r   r     s    zClient.outgoing_caller_idsr_   c                 C   s
   | j jjS r   )r   r   validation_requestsr   r   r   r   r     s    zClient.validation_requestsr`   c                 C   s
   | j jjS r   )r   r   queuesr   r   r   r   r     s    zClient.queuesra   c                 C   s
   | j jjS r   )r   r   
recordingsr   r   r   r   r     s    zClient.recordingsrb   c                 C   s
   | j jjS r   )r   r   short_codesr   r   r   r   r     s    zClient.short_codesrc   c                 C   s
   | j jjS r   )r   r   sipr   r   r   r   r     s    z
Client.siprd   c                 C   s
   | j jjS r   )r   r   tokensr   r   r   r   r     s    zClient.tokensre   c                 C   s
   | j jjS r   )r   r   transcriptionsr   r   r   r   r     s    zClient.transcriptionsrf   c                 C   s
   | j jjS r   )r   r   usager   r   r   r   r     s    zClient.usage)NNNNNNNN)D__name__
__module____qualname____doc__ri   propertyr   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   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   __classcell__r   r   r   r   rg   V   s          Lrg   N)r  typingr   r   Ztwilio.base.client_baser   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   r&   r   r(   r   r*   r   r,   r   r.   r   r0   r   r2   r   r4   r   r6   r   r8   r   r:   r   r<   r   r>   r   r@   r   rB   r   rD   r   rF   r   rH   r   rJ   r   rL   r   rN   Z%twilio.rest.api.v2010.account.addressrO   Z)twilio.rest.api.v2010.account.applicationrP   Z4twilio.rest.api.v2010.account.authorized_connect_apprQ   Z<twilio.rest.api.v2010.account.available_phone_number_countryrR   Z%twilio.rest.api.v2010.account.balancerS   Z"twilio.rest.api.v2010.account.callrT   Z(twilio.rest.api.v2010.account.conferencerU   Z)twilio.rest.api.v2010.account.connect_apprV   Z3twilio.rest.api.v2010.account.incoming_phone_numberrW   Z!twilio.rest.api.v2010.account.keyrX   Z%twilio.rest.api.v2010.account.new_keyrY   Z%twilio.rest.api.v2010.account.messagerZ   Z)twilio.rest.api.v2010.account.signing_keyr[   Z-twilio.rest.api.v2010.account.new_signing_keyr\   Z*twilio.rest.api.v2010.account.notificationr]   Z0twilio.rest.api.v2010.account.outgoing_caller_idr^   Z0twilio.rest.api.v2010.account.validation_requestr_   Z#twilio.rest.api.v2010.account.queuer`   Z'twilio.rest.api.v2010.account.recordingra   Z(twilio.rest.api.v2010.account.short_coderb   Z!twilio.rest.api.v2010.account.siprc   Z#twilio.rest.api.v2010.account.tokenrd   Z+twilio.rest.api.v2010.account.transcriptionre   Z#twilio.rest.api.v2010.account.usagerf   rg   r   r   r   r   <module>   s   